12#ifndef BELFEM_CL_FACE_HPP
13#define BELFEM_CL_FACE_HPP
40 Face * mPeriodic = nullptr ;
51 const uint aIndexOnMaster,
53 const uint aIndexOnSlave,
155 const uint aIndexOnMaster,
157 const uint aIndexOnSlave );
190 return mIndexOnMaster ;
198 return mIndexOnSlave ;
206 return mOrientationOnSlave ;
215 if ( mMaster !=
nullptr ) ++ aNumElems ;
216 if ( mSlave !=
nullptr ) ++ aNumElems ;
227 if ( mMaster !=
nullptr )
return mMaster ;
228 if ( mSlave !=
nullptr )
return mSlave ;
229 BELFEM_ASSERT(
false,
"Element index %u out of bounds.", aIndex );
234 BELFEM_ASSERT( mMaster !=
nullptr,
"Element index %u out of bounds.", aIndex );
235 BELFEM_ASSERT( mSlave !=
nullptr,
"Element index %u out of bounds.", aIndex );
247 if ( mMaster !=
nullptr )
return mMaster ;
248 if ( mSlave !=
nullptr )
return mSlave ;
249 BELFEM_ASSERT(
false,
"Element index %u out of bounds.", aIndex );
254 BELFEM_ASSERT( mMaster !=
nullptr,
"Element index %u out of bounds.", aIndex );
255 BELFEM_ASSERT( mSlave !=
nullptr,
"Element index %u out of bounds.", aIndex );
273 mPeriodic = aPeriodic ;
291 return mPeriodic != nullptr ;
#define BELFEM_ASSERT(aCheck,...)
Definition assert.hpp:244
Lagrange Element baseclass.
Definition cl_Element.hpp:35
Definition cl_Face.hpp:29
bool is_periodic() const
Definition cl_Face.hpp:289
void set_periodic(Face *aPeriodic)
Definition cl_Face.hpp:271
EntityType entity_type() const override
returns the type of this vertex
Definition cl_Face.hpp:164
size_t memory() const
Definition cl_Face.hpp:263
void set_slave(Element *aElement, const uint aIndex, const uint aOrientation)
Definition cl_Face.cpp:215
Element * master()
Definition cl_Face.hpp:172
Element * element(const uint aIndex) override
Definition cl_Face.hpp:223
uint number_of_elements() const override
Definition cl_Face.hpp:212
uint orientation_on_slave() const
Definition cl_Face.hpp:204
Face * periodic()
Definition cl_Face.hpp:277
uint number_of_corner_nodes()
Definition cl_Face.cpp:186
uint index_on_slave() const
Definition cl_Face.hpp:196
bool edge_direction(const uint aEdgeIndex) const
Definition cl_Face.cpp:155
uint index_on_master() const
Definition cl_Face.hpp:188
Face(Element *aParent)
Definition cl_Face.cpp:23
void set_master(Element *aElement, const uint aIndex)
Definition cl_Face.cpp:207
void flag_corner_nodes()
Definition cl_Face.cpp:194
Element * slave()
Definition cl_Face.hpp:180
Vertex()
Definition cl_Vertex.cpp:24
size_t array_memory() const
Definition cl_Vertex.hpp:304
Definition cl_EF_EdgeFunction.hpp:17
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
EntityType
Definition Mesh_Enums.hpp:116
@ FACE
Definition Mesh_Enums.hpp:119
constexpr index_t gNoIndex
Definition typedefs.hpp:57