33 #ifndef __H__UG__grid_objects_2d__
34 #define __H__UG__grid_objects_2d__
36 #include "../grid/grid.h"
65 class ConstrainedTriangle;
66 class ConstrainedQuadrilateral;
67 class ConstrainingTriangle;
68 class ConstrainingQuadrilateral;
86 inline Vertex*
vertex(
size_t index)
const {
return m_vertex[index];}
105 template <
class ConcreteTriangleType,
class BaseClass,
106 class RefTriType,
class RefQuadType>
125 {
return EdgeDescriptor(m_vertices[index], m_vertices[(index+1) % 3]);}
128 {edOut.
set_vertices(m_vertices[index], m_vertices[(index+1) % 3]);}
130 virtual std::pair<GridBaseObjectId, int> get_opposing_object(
Vertex* vrt)
const;
133 virtual bool refine(std::vector<Face*>& vNewFacesOut,
134 Vertex** newFaceVertexOut,
136 Vertex* newFaceVertex = NULL,
137 Vertex** pSubstituteVertices = NULL,
138 int snapPointIndex = -1);
140 virtual bool is_regular_ref_rule(
int edgeMarks)
const;
142 virtual bool collapse_edge(std::vector<Face*>& vNewFacesOut,
143 int edgeIndex,
Vertex* newVertex,
144 Vertex** pSubstituteVertices = NULL);
146 virtual bool collapse_edges(std::vector<Face*>& vNewFacesOut,
147 std::vector<Vertex*>& vNewEdgeVertices,
148 Vertex** pSubstituteVertices = NULL);
151 virtual void create_faces_by_edge_split(
int splitEdgeIndex,
153 std::vector<Face*>& vNewFacesOut,
154 Vertex** pSubstituteVertices = NULL);
188 return new RegularEdge(m_vertices[index], m_vertices[(index+1) % 3]);
206 BASE_OBJECT_ID =
FACE
247 template <
class ConcreteQuadrilateralType,
class BaseClass,
248 class RefTriType,
class RefQuadType>
255 using typename BaseClass::ConstVertexArray;
270 {
return EdgeDescriptor(m_vertices[index], m_vertices[(index+1) % 4]);}
273 {edOut.
set_vertices(m_vertices[index], m_vertices[(index+1) % 4]);}
280 virtual std::pair<GridBaseObjectId, int> get_opposing_object(
Vertex* vrt)
const;
283 virtual bool refine(std::vector<Face*>& vNewFacesOut,
284 Vertex** newFaceVertexOut,
286 Vertex* newFaceVertex = NULL,
287 Vertex** pSubstituteVertices = NULL,
288 int snapPointIndex = -1);
290 virtual bool is_regular_ref_rule(
int edgeMarks)
const;
292 virtual bool collapse_edge(std::vector<Face*>& vNewFacesOut,
293 int edgeIndex,
Vertex* newVertex,
294 Vertex** pSubstituteVertices = NULL);
296 virtual bool collapse_edges(std::vector<Face*>& vNewFacesOut,
297 std::vector<Vertex*>& vNewEdgeVertices,
298 Vertex** pSubstituteVertices = NULL);
301 virtual void create_faces_by_edge_split(
int splitEdgeIndex,
303 std::vector<Face*>& vNewFacesOut,
304 Vertex** pSubstituteVertices = NULL);
341 return new RegularEdge(m_vertices[index], m_vertices[(index+1) % 4]);
361 BASE_OBJECT_ID =
FACE
391 if(m_pConstrainingObject)
392 m_pConstrainingObject->remove_constraint_link(
this);
397 m_pConstrainingObject = pObj;
407 if((m_parentBaseObjectId != -1) && (m_parentBaseObjectId !=
id)){
408 UG_THROW(
"Bad parent base object id specified! The given id"
409 " has to match the id of the constraining object if that"
410 " is present. Call this method only, if no constraining"
411 " object has been set!");
413 m_parentBaseObjectId = id;
420 if(m_pConstrainingObject ==
static_cast<const GridObject*
>(f))
421 m_pConstrainingObject = NULL;
439 ConstrainedTriangle, ConstrainedQuadrilateral>
462 return new ConstrainedEdge(m_vertices[index], m_vertices[(index+1) % 3]);
482 BASE_OBJECT_ID =
FACE
500 ConstrainedTriangle, ConstrainedQuadrilateral>
519 return new ConstrainedEdge(m_vertices[index], m_vertices[(index+1) % 4]);
540 BASE_OBJECT_ID =
FACE
569 for(
size_t i = 0; i < m_constrainedVertices.size(); ++i){
570 m_constrainedVertices[i]->remove_constraint_link(
this);
573 for(
size_t i = 0; i < m_constrainedEdges.size(); ++i){
574 m_constrainedEdges[i]->remove_constraint_link(
this);
577 for(
size_t i = 0; i < m_constrainedFaces.size(); ++i){
578 m_constrainedFaces[i]->remove_constraint_link(
this);
587 "vertex is already registered at constraining face");
588 m_constrainedVertices.push_back(pObj);
594 "edge is already registered at constraining face");
595 m_constrainedEdges.push_back(pObj);
601 "face is already registered at constraining face");
602 m_constrainedFaces.push_back(pObj);
607 std::vector<Vertex*>::iterator iter =
find(m_constrainedVertices.begin(),
608 m_constrainedVertices.end(), vrt);
609 return iter != m_constrainedVertices.end();
614 std::vector<Edge*>::iterator iter =
find(m_constrainedEdges.begin(),
615 m_constrainedEdges.end(), edge);
616 return iter != m_constrainedEdges.end();
621 std::vector<Face*>::iterator iter =
find(m_constrainedFaces.begin(),
622 m_constrainedFaces.end(), face);
623 return iter != m_constrainedFaces.end();
628 unconstrain_object(vrt);
633 unconstrain_object(e);
638 unconstrain_object(f);
643 std::vector<Vertex*>::iterator iter =
find(m_constrainedVertices.begin(),
644 m_constrainedVertices.end(), vrt);
645 if(iter != m_constrainedVertices.end())
646 m_constrainedVertices.erase(iter);
651 std::vector<Edge*>::iterator iter
652 =
find(m_constrainedEdges.begin(),
653 m_constrainedEdges.end(), edge);
655 if(iter != m_constrainedEdges.end())
656 m_constrainedEdges.erase(iter);
661 std::vector<Face*>::iterator iter =
find(m_constrainedFaces.begin(),
662 m_constrainedFaces.end(), face);
663 if(iter != m_constrainedFaces.end())
664 m_constrainedFaces.erase(iter);
672 clear_constrained_vertices();
673 clear_constrained_edges();
674 clear_constrained_faces();
678 {
return m_constrainedVertices.size();}
681 {
return m_constrainedEdges.size();}
684 {
return m_constrainedFaces.size();}
692 UG_ASSERT(ind < m_constrainedVertices.size(),
"bad index.");
693 return m_constrainedVertices[ind];
698 UG_ASSERT(ind < m_constrainedEdges.size(),
"bad index.");
699 return m_constrainedEdges[ind];
704 UG_ASSERT(ind < m_constrainedFaces.size(),
"bad index.");
705 return m_constrainedFaces[ind];
726 ConstrainingTriangle, ConstrainingQuadrilateral>
748 m_constrainedEdges.reserve(3);
749 m_constrainedFaces.reserve(4);
754 return new RegularEdge(m_vertices[index], m_vertices[(index+1) % 3]);
774 BASE_OBJECT_ID =
FACE
794 ConstrainingTriangle, ConstrainingQuadrilateral>
809 BaseClass(v1, v2, v3, v4) {reserve_memory();}
816 m_constrainedVertices.reserve(1);
817 m_constrainedEdges.reserve(4);
818 m_constrainedFaces.reserve(4);
823 return new RegularEdge(m_vertices[index], m_vertices[(index+1) % 4]);
844 BASE_OBJECT_ID =
FACE
Use this class as a tool to create const_iterators to your own geometric objects.
Definition: generic_grid_object_iterator.h:70
This edge is a sub-edge of a.
Definition: grid_objects_1d.h:146
This class stores the constraining object.
Definition: grid_objects_2d.h:383
virtual ~ConstrainedFace()
Definition: grid_objects_2d.h:389
void set_parent_base_object_id(int id)
Definition: grid_objects_2d.h:405
int m_parentBaseObjectId
Definition: grid_objects_2d.h:427
GridObject * get_constraining_object()
Definition: grid_objects_2d.h:402
virtual void remove_constraint_link(const Face *f)
removes a constraint link to the grid object.
Definition: grid_objects_2d.h:418
void set_constraining_object(GridObject *pObj)
Definition: grid_objects_2d.h:395
GridObject * m_pConstrainingObject
Definition: grid_objects_2d.h:426
int get_parent_base_object_id()
Definition: grid_objects_2d.h:404
ConstrainedFace()
Definition: grid_objects_2d.h:388
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:385
virtual bool is_constrained() const
returns true if the object is constrained by other objects.
Definition: grid_objects_2d.h:416
a quadrilateral constrained by another object.
Definition: grid_objects_2d.h:501
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:507
ConstrainedQuadrilateral(const QuadrilateralDescriptor &qd)
Definition: grid_objects_2d.h:510
ConstrainedQuadrilateral(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4)
Definition: grid_objects_2d.h:511
ConstrainedQuadrilateral()
Definition: grid_objects_2d.h:509
virtual int container_section() const
Definition: grid_objects_2d.h:514
CustomQuadrilateral< ConstrainedQuadrilateral, ConstrainedFace, ConstrainedTriangle, ConstrainedQuadrilateral > BaseClass
Definition: grid_objects_2d.h:504
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:517
a triangle constrained by another object.
Definition: grid_objects_2d.h:440
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:446
CustomTriangle< ConstrainedTriangle, ConstrainedFace, ConstrainedTriangle, ConstrainedQuadrilateral > BaseTriangle
Definition: grid_objects_2d.h:443
ConstrainedTriangle(Vertex *v1, Vertex *v2, Vertex *v3)
Definition: grid_objects_2d.h:454
ConstrainedTriangle(const TriangleDescriptor &td)
Definition: grid_objects_2d.h:451
ConstrainedTriangle()
Definition: grid_objects_2d.h:448
virtual int container_section() const
Definition: grid_objects_2d.h:457
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:460
This class is used to store constrained geometric objects.
Definition: grid_objects_2d.h:562
void unconstrain_object(const Vertex *vrt)
Definition: grid_objects_2d.h:641
bool is_constrained_object(Face *face)
Definition: grid_objects_2d.h:619
TElem * constrained(size_t ind) const
void unconstrain_object(const Face *face)
Definition: grid_objects_2d.h:659
void clear_constrained_vertices()
Definition: grid_objects_2d.h:667
void unconstrain_object(const Edge *edge)
Definition: grid_objects_2d.h:649
size_t num_constrained() const
std::vector< Face * > m_constrainedFaces
Definition: grid_objects_2d.h:713
void add_constrained_object(Vertex *pObj)
Definition: grid_objects_2d.h:584
Vertex * constrained_vertex(size_t ind) const
Definition: grid_objects_2d.h:690
std::vector< Edge * > m_constrainedEdges
Definition: grid_objects_2d.h:712
void clear_constrained_edges()
Definition: grid_objects_2d.h:668
bool is_constrained_object(Edge *edge)
Definition: grid_objects_2d.h:612
bool is_constrained_object(Vertex *vrt)
Definition: grid_objects_2d.h:605
virtual void remove_constraint_link(const Vertex *vrt)
removes a constraint link to the grid object.
Definition: grid_objects_2d.h:626
virtual ~ConstrainingFace()
Definition: grid_objects_2d.h:567
virtual void remove_constraint_link(const Face *f)
removes a constraint link to the grid object.
Definition: grid_objects_2d.h:636
Face * constrained_face(size_t ind) const
Definition: grid_objects_2d.h:702
Edge * constrained_edge(size_t ind) const
Definition: grid_objects_2d.h:696
virtual void remove_constraint_link(const Edge *e)
removes a constraint link to the grid object.
Definition: grid_objects_2d.h:631
virtual bool is_constraining() const
returns the id of the reference-object.
Definition: grid_objects_2d.h:582
void add_constrained_object(Face *pObj)
Definition: grid_objects_2d.h:598
void add_constrained_object(Edge *pObj)
Definition: grid_objects_2d.h:591
size_t num_constrained_faces() const
Definition: grid_objects_2d.h:683
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:565
std::vector< Vertex * > m_constrainedVertices
Definition: grid_objects_2d.h:711
void clear_constrained_objects()
Definition: grid_objects_2d.h:670
size_t num_constrained_edges() const
Definition: grid_objects_2d.h:680
void clear_constrained_faces()
Definition: grid_objects_2d.h:669
size_t num_constrained_vertices() const
Definition: grid_objects_2d.h:677
a quadrilateral constraining other objects.
Definition: grid_objects_2d.h:795
CustomQuadrilateral< ConstrainingQuadrilateral, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral > BaseClass
Definition: grid_objects_2d.h:798
ConstrainingQuadrilateral(const QuadrilateralDescriptor &qd)
Definition: grid_objects_2d.h:805
ConstrainingQuadrilateral()
Definition: grid_objects_2d.h:803
virtual int container_section() const
Definition: grid_objects_2d.h:811
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:801
void reserve_memory()
Definition: grid_objects_2d.h:814
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:821
ConstrainingQuadrilateral(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4)
Definition: grid_objects_2d.h:807
a triangle constraining other objects.
Definition: grid_objects_2d.h:727
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:752
CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral > BaseTriangle
Definition: grid_objects_2d.h:730
void reserve_memory()
Definition: grid_objects_2d.h:746
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:733
ConstrainingTriangle(const TriangleDescriptor &td)
Definition: grid_objects_2d.h:738
virtual int container_section() const
Definition: grid_objects_2d.h:743
ConstrainingTriangle(Vertex *v1, Vertex *v2, Vertex *v3)
Definition: grid_objects_2d.h:740
ConstrainingTriangle()
Definition: grid_objects_2d.h:736
Concrete types share this base-type. It is not intended for direct use.
Definition: grid_objects_2d.h:250
virtual void set_vertex(uint index, Vertex *pVrt)
Definition: grid_objects_2d.h:307
virtual ReferenceObjectID reference_object_id() const
Definition: grid_objects_2d.h:263
virtual void edge_desc(int index, EdgeDescriptor &edOut) const
Definition: grid_objects_2d.h:272
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_2d.h:265
virtual EdgeDescriptor edge_desc(int index) const
Definition: grid_objects_2d.h:269
CustomQuadrilateral()
Definition: grid_objects_2d.h:257
virtual Face::ConstVertexArray vertices() const
Definition: grid_objects_2d.h:266
virtual size_t num_vertices() const
Definition: grid_objects_2d.h:267
virtual GridObject * create_empty_instance() const
Definition: grid_objects_2d.h:262
Concrete types share this base-type. It is not intended for direct use.
Definition: grid_objects_2d.h:108
virtual void set_vertex(uint index, Vertex *pVrt)
Definition: grid_objects_2d.h:157
CustomTriangle()
Definition: grid_objects_2d.h:113
virtual ReferenceObjectID reference_object_id() const
Definition: grid_objects_2d.h:118
virtual EdgeDescriptor edge_desc(int index) const
Definition: grid_objects_2d.h:124
virtual Face::ConstVertexArray vertices() const
Definition: grid_objects_2d.h:121
virtual void edge_desc(int index, EdgeDescriptor &edOut) const
Definition: grid_objects_2d.h:127
virtual Vertex * vertex(size_t index) const
Definition: grid_objects_2d.h:120
virtual GridObject * create_empty_instance() const
Definition: grid_objects_2d.h:117
virtual size_t num_vertices() const
Definition: grid_objects_2d.h:122
Can be used to store information about an edge and to construct an edge.
Definition: grid_base_objects.h:464
void set_vertices(Vertex *vrt1, Vertex *vrt2)
Definition: grid_base_objects.h:473
Base-class for edges.
Definition: grid_base_objects.h:397
holds the vertices of an Edge or an EdgeDescriptor.
Definition: grid_base_objects.h:362
Faces are 2-dimensional objects.
Definition: grid_base_objects.h:510
Use this class as a tool to create iterators to your own geometric objects.
Definition: generic_grid_object_iterator.h:44
The base class for all geometric objects, such as vertices, edges, faces, volumes,...
Definition: grid_base_objects.h:157
virtual int base_object_id() const =0
Vertex *const * ConstVertexArray
Definition: grid_base_objects.h:319
only used to initialize a quadrilateral. for all other tasks you should use FaceDescriptor.
Definition: grid_objects_2d.h:220
Vertex * vertex(size_t index) const
Definition: grid_objects_2d.h:228
void set_vertex(uint index, Vertex *v)
Definition: grid_objects_2d.h:227
QuadrilateralDescriptor()
Definition: grid_objects_2d.h:222
uint num_vertices() const
Definition: grid_objects_2d.h:226
a face with four points.
Definition: grid_objects_2d.h:323
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:339
Quadrilateral()
Definition: grid_objects_2d.h:331
virtual int container_section() const
Definition: grid_objects_2d.h:336
Quadrilateral(const QuadrilateralDescriptor &td)
Definition: grid_objects_2d.h:332
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:328
CustomQuadrilateral< Quadrilateral, Face, Triangle, Quadrilateral > BaseClass
Definition: grid_objects_2d.h:326
Quadrilateral(Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4)
Definition: grid_objects_2d.h:333
Edges connect two vertices.
Definition: grid_objects_1d.h:66
only used to initialize a triangle. for all other tasks you should use FaceDescriptor.
Definition: grid_objects_2d.h:78
uint num_vertices() const
Definition: grid_objects_2d.h:84
TriangleDescriptor()
Definition: grid_objects_2d.h:80
Vertex * vertex(size_t index) const
Definition: grid_objects_2d.h:86
void set_vertex(uint index, Vertex *v)
Definition: grid_objects_2d.h:85
the most simple form of a face
Definition: grid_objects_2d.h:174
virtual int container_section() const
Definition: grid_objects_2d.h:183
CustomTriangle< Triangle, Face, Triangle, Quadrilateral > BaseClass
Definition: grid_objects_2d.h:175
static bool type_match(GridObject *pObj)
Definition: grid_objects_2d.h:177
virtual Edge * create_edge(int index)
create the edge with index i and return it.
Definition: grid_objects_2d.h:186
Triangle(const TriangleDescriptor &td)
Definition: grid_objects_2d.h:180
Triangle(Vertex *v1, Vertex *v2, Vertex *v3)
Definition: grid_objects_2d.h:181
Triangle()
Definition: grid_objects_2d.h:179
Base-class for all vertex-types.
Definition: grid_base_objects.h:231
GenericGridObjectIterator< ConstrainedQuadrilateral *, FaceIterator > iterator
Definition: grid_objects_2d.h:529
ConstGenericGridObjectIterator< ConstrainedQuadrilateral *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:532
QuadrilateralDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:534
Face grid_base_object
Definition: grid_objects_2d.h:535
ConstGenericGridObjectIterator< ConstrainedTriangle *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:474
GenericGridObjectIterator< ConstrainedTriangle *, FaceIterator > iterator
Definition: grid_objects_2d.h:471
Face grid_base_object
Definition: grid_objects_2d.h:477
TriangleDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:476
GenericGridObjectIterator< ConstrainingQuadrilateral *, FaceIterator > iterator
Definition: grid_objects_2d.h:832
QuadrilateralDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:838
ConstGenericGridObjectIterator< ConstrainingQuadrilateral *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:836
Face grid_base_object
Definition: grid_objects_2d.h:839
ConstGenericGridObjectIterator< ConstrainingTriangle *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:766
TriangleDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:768
Face grid_base_object
Definition: grid_objects_2d.h:769
GenericGridObjectIterator< ConstrainingTriangle *, FaceIterator > iterator
Definition: grid_objects_2d.h:763
GenericGridObjectIterator< Quadrilateral *, FaceIterator > iterator
Definition: grid_objects_2d.h:350
ConstGenericGridObjectIterator< Quadrilateral *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:353
Face grid_base_object
Definition: grid_objects_2d.h:356
QuadrilateralDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:355
Face grid_base_object
Definition: grid_objects_2d.h:201
TriangleDescriptor Descriptor
Faces can't be created directly.
Definition: grid_objects_2d.h:200
ConstGenericGridObjectIterator< Triangle *, FaceIterator, ConstFaceIterator > const_iterator
Definition: grid_objects_2d.h:198
GenericGridObjectIterator< Triangle *, FaceIterator > iterator
Definition: grid_objects_2d.h:196
Definition: grid_base_object_traits.h:68
#define UG_ASSERT(expr, msg)
Definition: assert.h:70
#define UG_THROW(msg)
Definition: error.h:57
#define UG_API
Definition: ug_config.h:65
unsigned int uint
Definition: types.h:114
const int NUM_VERTICES
Definition: hexahedron_rules.h:45
geometry_traits< ConstrainingQuadrilateral >::iterator ConstrainingQuadrilateralIterator
Definition: grid_objects_2d.h:850
IndexLayout::Interface::iterator find(IndexLayout::Interface &interface, size_t i)
Definition: parallel_index_layout.h:77
geometry_traits< Quadrilateral >::iterator QuadrilateralIterator
Definition: grid_objects_2d.h:366
ReferenceObjectID
these ids are used to identify the shape of a geometric object.
Definition: grid_base_objects.h:74
@ ROID_QUADRILATERAL
Definition: grid_base_objects.h:79
@ ROID_TRIANGLE
Definition: grid_base_objects.h:78
geometry_traits< ConstrainedTriangle >::iterator ConstrainedTriangleIterator
Definition: grid_objects_2d.h:487
ElementStorage< Face >::SectionContainer::iterator FaceIterator
Definition: grid_base_object_traits.h:79
geometry_traits< ConstrainedQuadrilateral >::iterator ConstrainedQuadrilateralIterator
Definition: grid_objects_2d.h:545
ElementStorage< Face >::SectionContainer::const_iterator ConstFaceIterator
Definition: grid_base_object_traits.h:80
geometry_traits< Quadrilateral >::const_iterator ConstQuadrilateralIterator
Definition: grid_objects_2d.h:367
geometry_traits< ConstrainedQuadrilateral >::const_iterator ConstConstrainedQuadrilateralIterator
Definition: grid_objects_2d.h:546
geometry_traits< Triangle >::iterator TriangleIterator
Definition: grid_objects_2d.h:211
geometry_traits< ConstrainingQuadrilateral >::const_iterator ConstConstrainingQuadrilateralIterator
Definition: grid_objects_2d.h:852
@ FACE
Definition: grid_base_objects.h:62
FaceContainerSections
These numbers define where in the face-section-container a face will be stored.
Definition: grid_objects_2d.h:49
@ CSFACE_CONSTRAINING_QUADRILATERAL
Definition: grid_objects_2d.h:56
@ CSFACE_QUADRILATERAL
Definition: grid_objects_2d.h:52
@ CSFACE_NONE
Definition: grid_objects_2d.h:50
@ CSFACE_TRIANGLE
Definition: grid_objects_2d.h:51
@ CSFACE_USER
Definition: grid_objects_2d.h:58
@ CSFACE_CONSTRAINED_QUADRILATERAL
Definition: grid_objects_2d.h:54
@ CSFACE_CONSTRAINED_TRIANGLE
Definition: grid_objects_2d.h:53
@ CSFACE_CONSTRAINING_TRIANGLE
Definition: grid_objects_2d.h:55
geometry_traits< ConstrainingTriangle >::iterator ConstrainingTriangleIterator
Definition: grid_objects_2d.h:780
geometry_traits< ConstrainingTriangle >::const_iterator ConstConstrainingTriangleIterator
Definition: grid_objects_2d.h:782
geometry_traits< Triangle >::const_iterator ConstTriangleIterator
Definition: grid_objects_2d.h:212
geometry_traits< ConstrainedTriangle >::const_iterator ConstConstrainedTriangleIterator
Definition: grid_objects_2d.h:488