![]() |
deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00:01+00:00
|
#include <deal.II/grid/tria_faces.h>
This class contains information belonging to the faces of a triangulation. These classes are similar to the TriaLevel classes. As cells are organized in a hierarchical structure of levels, each triangulation consists of several such TriaLevels. However the faces of a triangulation, lower dimensional objects like lines in 2d or lines and quads in 3d, do not have to be based on such a hierarchical structure. In fact we have to organise them in only one object if we want to enable anisotropic refinement. Therefore the TriaFaces classes store the information belonging to the faces of a triangulation separately from the TriaLevel classes.
Definition at line 41 of file tria_faces.h.
Public Member Functions | |
| TriaFaces (const unsigned int max_children_per_quad, const unsigned int max_lines_per_quad) | |
| TriaFaces ()=default | |
| void | allocate (const std::size_t n_lines, const std::size_t n_quads) |
| void | allocate_end (const std::size_t new_quads_in_pairs, const std::size_t new_quads_single) |
| types::geometric_orientation | get_line_orientation (const int index, const unsigned int line_no) const |
| void | set_line_orientation (const int index, const unsigned int line_no, types::geometric_orientation line_orientation) |
| ReferenceCell< dim - 1 > | get_quad_type (const int index) const |
| void | set_quad_type (const int index, const ReferenceCell< dim - 1 > face_type) |
| std::size_t | memory_consumption () const |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Public Attributes | |
| unsigned int | lines_per_quad |
| TriaObjects | quads |
| TriaObjects | lines |
Private Attributes | |
| std::vector< bool > | quad_is_quadrilateral |
| std::vector< bool > | quads_line_orientations |
| internal::TriangulationImplementation::TriaFaces< dim >::TriaFaces | ( | const unsigned int | max_children_per_quad, |
| const unsigned int | max_lines_per_quad | ||
| ) |
Constructor.
| [in] | max_children_per_quad | Maximum number of children (across all relevant ReferenceCell types) a quad (i.e., a face of a cell in 3d) in the present Triangulation may have. Only used in 3d. |
| [in] | max_lines_per_quad | Maximum number of faces (i.e., neighbors) per cell. Like max_children_per_quad, this is the maximum over all relevant ReferenceCell types and is only used in 2d and 3d. |
Definition at line 35 of file tria_faces.cc.
|
default |
Default constructor for Boost::serialization.
| void internal::TriangulationImplementation::TriaFaces< dim >::allocate | ( | const std::size_t | n_lines, |
| const std::size_t | n_quads | ||
| ) |
Resize all internal arrays and populate with default values.
Definition at line 48 of file tria_faces.cc.
| void internal::TriangulationImplementation::TriaFaces< dim >::allocate_end | ( | const std::size_t | new_quads_in_pairs, |
| const std::size_t | new_quads_single | ||
| ) |
Allocate space at the end of each array for new quads and populate the new values with default values.
| [in] | new_quads_in_pairs | Number of new quads which should be added as pairs. |
| [in] | new_quads_single | Number of new quads which should be added alone (i.e., not in pairs). |
dim < 3 then this function does nothing. Definition at line 66 of file tria_faces.cc.
|
inline |
Get the orientation of the line_no-th line of the index-th face.
Definition at line 213 of file tria_faces.h.
|
inline |
Set the orientation of the line_no-th line of the index-th face to line_orientation.
Definition at line 235 of file tria_faces.h.
|
inline |
Helper accessor function for quad_is_quadrilateral
Definition at line 177 of file tria_faces.h.
|
inline |
Helper accessor function for quad_is_quadrilateral
Definition at line 195 of file tria_faces.h.
| std::size_t internal::TriangulationImplementation::TriaFaces< dim >::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object.
Definition at line 93 of file tria_faces.cc.
| void internal::TriangulationImplementation::TriaFaces< dim >::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 259 of file tria_faces.h.
| unsigned int internal::TriangulationImplementation::TriaFaces< dim >::lines_per_quad |
Number of lines for each quad (i.e., face of a 3d cell). Only used for dim == 3.
Definition at line 91 of file tria_faces.h.
| TriaObjects internal::TriangulationImplementation::TriaFaces< dim >::quads |
The TriaObject containing the data of quads.
Definition at line 98 of file tria_faces.h.
| TriaObjects internal::TriangulationImplementation::TriaFaces< dim >::lines |
The TriaObject containing the data of lines.
Definition at line 136 of file tria_faces.h.
|
private |
Whether or not each quad is a Quadrilateral. Since, if dim = 3, faces are either Triangles or Quadrilaterals, it suffices to store a boolean.
Definition at line 162 of file tria_faces.h.
|
private |
Orientation of each line of each quad. Like elsewhere, true refers to the standard orientation and false refers to the reverse orientation.
Definition at line 170 of file tria_faces.h.