Reference documentation for deal.II version 9.5.0
|
#include <deal.II/grid/tria_objects_orientations.h>
Public Member Functions | |
TriaObjectsOrientations () | |
TriaObjectsOrientations (const unsigned int n_objects) | |
unsigned int | n_objects () const |
void | reinit (const unsigned int n_objects) |
void | resize (const unsigned int n_objects) |
std::size_t | memory_consumption () const |
unsigned char | get_combined_orientation (const unsigned int object) const |
bool | get_orientation (const unsigned int object) const |
bool | get_rotation (const unsigned int object) const |
bool | get_flip (const unsigned int object) const |
void | set_combined_orientation (const unsigned int object, const unsigned char value) |
void | set_orientation (const unsigned int object, const bool value) |
void | set_rotation (const unsigned int object, const bool value) |
void | set_flip (const unsigned int object, const bool value) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
unsigned int | n_stored_objects |
std::vector< unsigned char > | flags |
Class storing orientation information for various objects in a Triangulation.
In deal.II, we express the orientation of an object with three Booleans: orientation, rotate, and flip. The default values for these are true, false, and false. These are represented either as individual booleans or as a 'combined' orientation: the combined format places orientation in the least significant bit, then rotate, then flip.
For a quadrilateral, these values correspond to
true
is the default orientation and false
means vertices 1 and 2 are swapped.For a triangle, these values correspond to
true
is the default orientation and false
means vertices 1 and 2 are swapped.Here, 'clockwise' is relative to the vector defined by the cross product of two lines in their standard orientation (which, e.g., points into the hexahedron for face 0 but out of the hexahedron for face 1).
For triangles, to enable indexing from the combined orientation, we do not consider flip-rotate or flip-orient-rotate as those cases are equivalent, respectively, to the identity operation or the orientation = true
case as flip-rotate is equal to the identity operation. This choice ensures that the integer value of the combined orientation is in \([0, 5]\).
Definition at line 68 of file tria_objects_orientations.h.
|
inline |
Constructor.
Definition at line 181 of file tria_objects_orientations.h.
|
inline |
Constructor. Sets up objects in the default orientation (orientation = true
).
Definition at line 188 of file tria_objects_orientations.h.
|
inline |
Return number of geometric objects stored by this class.
Definition at line 227 of file tria_objects_orientations.h.
|
inline |
Reset the object to a default state.
Definition at line 197 of file tria_objects_orientations.h.
|
inline |
Change the number of stored objects. New objects are constructed in the default orientation (true, false, false).
Definition at line 208 of file tria_objects_orientations.h.
|
inline |
Return the size of objects of this kind.
Definition at line 218 of file tria_objects_orientations.h.
|
inline |
Get the combined orientation of the object, as described in the class documentation.
Definition at line 235 of file tria_objects_orientations.h.
|
inline |
Get the orientation bit of the object.
Definition at line 245 of file tria_objects_orientations.h.
|
inline |
Get the rotation bit of the object.
Definition at line 254 of file tria_objects_orientations.h.
|
inline |
Get the flip bit of the object.
Definition at line 263 of file tria_objects_orientations.h.
|
inline |
Set the combined orientation of the object, as described in the class documentation.
Definition at line 272 of file tria_objects_orientations.h.
|
inline |
Set the orientation bit of the object.
Definition at line 282 of file tria_objects_orientations.h.
|
inline |
Set the rotate bit of the object.
Definition at line 292 of file tria_objects_orientations.h.
|
inline |
Set the flip bit of the object.
Definition at line 302 of file tria_objects_orientations.h.
void internal::TriangulationImplementation::TriaObjectsOrientations::serialize | ( | Archive & | ar, |
const unsigned int | version | ||
) |
Read or write the data of this object to or from a stream for the purpose of serialization using the BOOST serialization library.
Definition at line 313 of file tria_objects_orientations.h.
|
private |
Number of objects.
Definition at line 171 of file tria_objects_orientations.h.
|
private |
Flags.
Definition at line 176 of file tria_objects_orientations.h.