const unsigned char face_orientation) const;
/**
- * Combine face and line orientation.
+ * Return whether the line with index @p line is oriented in
+ * standard direction within a cell, given the @p face_orientation of
+ * the face within the current cell, and @p line_orientation flag
+ * for the line within that face. @p true indicates that the line is
+ * oriented from vertex 0 to vertex 1, whereas it is the other way
+ * around otherwise. In 1d and 2d, this is always @p true, but in 3d
+ * it may be different, see the respective discussion in the
+ * documentation of the GeometryInfo class.
*/
bool
- combine_face_and_line_orientation(const unsigned int line,
+ standard_vs_true_line_orientation(const unsigned int line,
const unsigned char face_orientation,
const unsigned char line_orientation) const;
inline bool
-ReferenceCell::combine_face_and_line_orientation(
+ReferenceCell::standard_vs_true_line_orientation(
const unsigned int line,
const unsigned char face_orientation_raw,
const unsigned char line_orientation) const
*
* This function is really only for internal use in the library unless you
* absolutely know what this is all about.
+ *
+ * This function queries ReferenceCell::standard_vs_true_line_orientation().
*/
bool
line_orientation(const unsigned int line) const;
Assert(accessor.used(), TriaAccessorExceptions::ExcCellNotUsed());
AssertIndexRange(line, accessor.n_lines());
+ // First pick a face on which this line is a part of, and the
+ // index of the line within.
const auto pair =
accessor.reference_cell().standard_line_to_face_and_line_index(line);
const auto quad_index = pair[0];
- const auto line_index =
+ const auto line_within_face_index =
accessor.reference_cell().standard_to_real_face_line(
pair[1], pair[0], face_orientation_raw(accessor, quad_index));
- return accessor.reference_cell().combine_face_and_line_orientation(
+ // Then query how that line is oriented within that face:
+ return accessor.reference_cell().standard_vs_true_line_orientation(
pair[1],
face_orientation_raw(accessor, quad_index),
- accessor.quad(quad_index)->line_orientation(line_index));
+ accessor.quad(quad_index)->line_orientation(line_within_face_index));
}