Reference documentation for deal.II version 9.0.0
Public Member Functions | Public Attributes | List of all members
internal::TriangulationImplementation::TriaObjectsQuad3D Class Reference

#include <deal.II/grid/tria_objects.h>

Inheritance diagram for internal::TriangulationImplementation::TriaObjectsQuad3D:
[legend]

Public Member Functions

bool face_orientation (const unsigned int cell, const unsigned int face) const
 
void reserve_space (const unsigned int new_quads_in_pairs, const unsigned int new_quads_single=0)
 
void clear ()
 
void monitor_memory (const unsigned int true_dimension) const
 
std::size_t memory_consumption () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 
- Public Member Functions inherited from internal::TriangulationImplementation::TriaObjects< TriaObject< 2 > >
 TriaObjects ()
 
void reserve_space (const unsigned int new_objs_in_pairs, const unsigned int new_objs_single=0)
 
::TriaRawIterator<::TriaAccessor< TriaObject< 2 > ::dimension, dim, spacedim > > next_free_single_object (const ::Triangulation< dim, spacedim > &tria)
 
::TriaRawIterator<::TriaAccessor< TriaObject< 2 > ::dimension, dim, spacedim > > next_free_pair_object (const ::Triangulation< dim, spacedim > &tria)
 
typename ::Triangulation< dim, spacedim >::raw_hex_iterator next_free_hex (const ::Triangulation< dim, spacedim > &tria, const unsigned int level)
 
void clear ()
 
bool face_orientation (const unsigned int cell, const unsigned int face) const
 
void *& user_pointer (const unsigned int i)
 
const void * user_pointer (const unsigned int i) const
 
unsigned int & user_index (const unsigned int i)
 
unsigned int user_index (const unsigned int i) const
 
void clear_user_data (const unsigned int i)
 
void clear_user_data ()
 
void clear_user_flags ()
 
void monitor_memory (const unsigned int true_dimension) const
 
std::size_t memory_consumption () const
 
void serialize (Archive &ar, const unsigned int version)
 

Public Attributes

std::vector< bool > line_orientations
 
- Public Attributes inherited from internal::TriangulationImplementation::TriaObjects< TriaObject< 2 > >
std::vector< TriaObject< 2 > > cells
 
std::vector< int > children
 
std::vector< RefinementCase< TriaObject< 2 > ::dimension > > refinement_cases
 
std::vector< bool > used
 
std::vector< bool > user_flags
 
std::vector< BoundaryOrMaterialId > boundary_or_material_id
 
std::vector< types::manifold_idmanifold_id
 

Additional Inherited Members

- Static Public Member Functions inherited from internal::TriangulationImplementation::TriaObjects< TriaObject< 2 > >
static ::ExceptionBaseExcMemoryInexact (int arg1, int arg2)
 
static ::ExceptionBaseExcPointerIndexClash ()
 
- Protected Types inherited from internal::TriangulationImplementation::TriaObjects< TriaObject< 2 > >
enum  UserDataType
 
- Protected Attributes inherited from internal::TriangulationImplementation::TriaObjects< TriaObject< 2 > >
unsigned int next_free_single
 
unsigned int next_free_pair
 
bool reverse_order_next_free_single
 
std::vector< UserData > user_data
 
UserDataType user_data_type
 

Detailed Description

For quadrilaterals in 3D the data of TriaObjects needs to be extended, as we can obtain faces (quads) with lines in non-standard-orientation, therefore we declare a class TriaObjectsQuad3D, which additionally contains a bool-vector of the line-orientations.

Definition at line 492 of file tria_objects.h.

Member Function Documentation

◆ face_orientation()

bool internal::TriangulationImplementation::TriaObjectsQuad3D::face_orientation ( const unsigned int  cell,
const unsigned int  face 
) const
inline

The orientation of the face number face of the cell with number cell. The return value is true, if the normal vector points the usual way (GeometryInfo::unit_normal_orientation) and false if they point in opposite direction.

Definition at line 762 of file tria_objects.h.

◆ reserve_space()

void internal::TriangulationImplementation::TriaObjectsQuad3D::reserve_space ( const unsigned int  new_quads_in_pairs,
const unsigned int  new_quads_single = 0 
)

Assert that enough space is allocated to accommodate new_quads_in_pairs new quads, stored in pairs, plus new_quads_single stored individually. This function does not only call vector::reserve(), but does really append the needed elements.

Definition at line 240 of file tria_objects.cc.

◆ clear()

void internal::TriangulationImplementation::TriaObjectsQuad3D::clear ( )

Clear all the data contained in this object.

Definition at line 422 of file tria_objects.cc.

◆ monitor_memory()

void internal::TriangulationImplementation::TriaObjectsQuad3D::monitor_memory ( const unsigned int  true_dimension) const

Check the memory consistency of the different containers. Should only be called with the preprocessor flag DEBUG set. The function should be called from the functions of the higher TriaLevel classes.

Definition at line 381 of file tria_objects.cc.

◆ memory_consumption()

std::size_t internal::TriangulationImplementation::TriaObjectsQuad3D::memory_consumption ( ) const

Determine an estimate for the memory consumption (in bytes) of this object.

Definition at line 455 of file tria_objects.cc.

◆ serialize()

template<class Archive >
void internal::TriangulationImplementation::TriaObjectsQuad3D::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

Definition at line 733 of file tria_objects.h.

Member Data Documentation

◆ line_orientations

std::vector<bool> internal::TriangulationImplementation::TriaObjectsQuad3D::line_orientations

In effect, this field has 4*n_quads elements, being the number of quads times the four lines each has.

Definition at line 509 of file tria_objects.h.


The documentation for this class was generated from the following files: