ug4
ug::ConstrainingFace Class Reference

This class is used to store constrained geometric objects. More...

#include <grid_objects_2d.h>

+ Inheritance diagram for ug::ConstrainingFace:

Public Member Functions

void add_constrained_object (Edge *pObj)
 
void add_constrained_object (Face *pObj)
 
void add_constrained_object (Vertex *pObj)
 
void clear_constrained_edges ()
 
void clear_constrained_faces ()
 
void clear_constrained_objects ()
 
void clear_constrained_vertices ()
 
template<>
Vertexconstrained (size_t ind) const
 
template<>
Edgeconstrained (size_t ind) const
 
template<>
Faceconstrained (size_t ind) const
 
template<class TElem >
TElem * constrained (size_t ind) const
 
Edgeconstrained_edge (size_t ind) const
 
Faceconstrained_face (size_t ind) const
 
Vertexconstrained_vertex (size_t ind) const
 
bool is_constrained_object (Edge *edge)
 
bool is_constrained_object (Face *face)
 
bool is_constrained_object (Vertex *vrt)
 
virtual bool is_constraining () const
 returns the id of the reference-object. More...
 
template<>
size_t num_constrained () const
 
template<>
size_t num_constrained () const
 
template<>
size_t num_constrained () const
 
template<class TElem >
size_t num_constrained () const
 
size_t num_constrained_edges () const
 
size_t num_constrained_faces () const
 
size_t num_constrained_vertices () const
 
virtual void remove_constraint_link (const Edge *e)
 removes a constraint link to the grid object. More...
 
virtual void remove_constraint_link (const Face *f)
 removes a constraint link to the grid object. More...
 
virtual void remove_constraint_link (const Vertex *vrt)
 removes a constraint link to the grid object. More...
 
void unconstrain_object (const Edge *edge)
 
void unconstrain_object (const Face *face)
 
void unconstrain_object (const Vertex *vrt)
 
virtual ~ConstrainingFace ()
 
- Public Member Functions inherited from ug::Face
virtual int base_object_id () const
 
virtual bool collapse_edge (std::vector< Face * > &vNewFacesOut, int edgeIndex, Vertex *newVertex, Vertex **pSubstituteVertices=NULL)
 
virtual bool collapse_edges (std::vector< Face * > &vNewFacesOut, std::vector< Vertex * > &vNewEdgeVertices, Vertex **pSubstituteVertices=NULL)
 
virtual int container_section () const
 
virtual Edgecreate_edge (int index)
 create the edge with index i and return it. More...
 
virtual void create_faces_by_edge_split (int splitEdgeIndex, Vertex *newVertex, std::vector< Face * > &vNewFacesOut, Vertex **pSubstituteVertices=NULL)
 
virtual EdgeDescriptor edge_desc (int index) const
 returns the i-th edge of the face. More...
 
virtual void edge_desc (int index, EdgeDescriptor &edOut) const
 returns the i-th edge of the face. More...
 
int get_local_side_index (EdgeVertices *e) const
 returns the local index of the specified edge. More...
 
virtual std::pair< GridBaseObjectId, int > get_opposing_object (Vertex *vrt) const
 returns an index to the obbject, which lies on the opposite side of the face to the given vertex. More...
 
virtual bool get_opposing_side (EdgeVertices *e, EdgeDescriptor &edOut) const
 retrieves the edge-descriptor for the opposing side to the specified one. More...
 
virtual bool is_regular_ref_rule (int edgeMarks) const
 returns true if the specified edgeMarks would lead to a regular refinement More...
 
uint num_edges () const
 
uint num_sides () const
 
virtual ReferenceObjectID reference_object_id () const
 
virtual bool refine (std::vector< Face * > &vNewFacesOut, Vertex **newFaceVertexOut, Vertex **newEdgeVertices, Vertex *newFaceVertex=NULL, Vertex **pSubstituteVertices=NULL, int snapPointIndex=-1)
 
virtual ~Face ()
 
- Public Member Functions inherited from ug::GridObject
virtual GridObjectcreate_empty_instance () const
 create an instance of the derived type More...
 
uint grid_data_index () const
 Returns the grid attachment data index of a geometric object. More...
 
virtual bool is_constrained () const
 returns true if the object is constrained by other objects. More...
 
virtual ~GridObject ()
 
- Public Member Functions inherited from ug::FaceVertices
virtual size_t num_vertices () const
 
Vertexoperator[] (size_t index) const
 returns the i-th vertex. More...
 
size_t size () const
 returns the number of vertices. More...
 
virtual Vertexvertex (size_t index) const
 
virtual ConstVertexArray vertices () const
 
virtual ~FaceVertices ()
 
- Public Member Functions inherited from ug::IVertexGroup
Vertexoperator[] (size_t index) const
 returns the i-th vertex. More...
 
size_t size () const
 returns the number of vertices. More...
 
virtual ~IVertexGroup ()
 

Static Public Member Functions

static bool type_match (GridObject *pObj)
 
- Static Public Member Functions inherited from ug::Face
static bool type_match (GridObject *pObj)
 

Protected Attributes

std::vector< Edge * > m_constrainedEdges
 
std::vector< Face * > m_constrainedFaces
 
std::vector< Vertex * > m_constrainedVertices
 
- Protected Attributes inherited from ug::GridObject
uint m_gridDataIndex
 

Additional Inherited Members

- Public Types inherited from ug::Face
typedef Face grid_base_object
 
typedef Volume higher_dim_base_object
 
typedef Edge lower_dim_base_object
 
typedef Edge side
 
typedef Volume sideof
 
- Public Types inherited from ug::IVertexGroup
typedef Vertex *const * ConstVertexArray
 
- Static Public Attributes inherited from ug::Face
static const int BASE_OBJECT_ID = FACE
 
static const bool CAN_BE_SIDE = true
 
static const int dim = 2
 reference dimension More...
 
static const bool HAS_SIDES = true
 
- Protected Member Functions inherited from ug::Face
virtual void set_vertex (uint index, Vertex *pVrt)
 
- Protected Member Functions inherited from ug::GridObject
void set_grid_data_index (uint index)
 ATTENTION: Use this method with extreme care! More...
 

Detailed Description

This class is used to store constrained geometric objects.

Please note, that the user is has to link and unlink constrained objects manually.

Constructor & Destructor Documentation

◆ ~ConstrainingFace()

virtual ug::ConstrainingFace::~ConstrainingFace ( )
inlinevirtual

Member Function Documentation

◆ add_constrained_object() [1/3]

void ug::ConstrainingFace::add_constrained_object ( Edge pObj)
inline

References UG_ASSERT.

◆ add_constrained_object() [2/3]

void ug::ConstrainingFace::add_constrained_object ( Face pObj)
inline

References UG_ASSERT.

◆ add_constrained_object() [3/3]

◆ clear_constrained_edges()

void ug::ConstrainingFace::clear_constrained_edges ( )
inline

◆ clear_constrained_faces()

void ug::ConstrainingFace::clear_constrained_faces ( )
inline

◆ clear_constrained_objects()

void ug::ConstrainingFace::clear_constrained_objects ( )
inline

◆ clear_constrained_vertices()

void ug::ConstrainingFace::clear_constrained_vertices ( )
inline

◆ constrained() [1/4]

template<>
Vertex* ug::ConstrainingFace::constrained ( size_t  ind) const

◆ constrained() [2/4]

template<>
Edge* ug::ConstrainingFace::constrained ( size_t  ind) const

◆ constrained() [3/4]

template<>
Face* ug::ConstrainingFace::constrained ( size_t  ind) const

◆ constrained() [4/4]

template<class TElem >
TElem* ug::ConstrainingFace::constrained ( size_t  ind) const

◆ constrained_edge()

Edge* ug::ConstrainingFace::constrained_edge ( size_t  ind) const
inline

◆ constrained_face()

Face* ug::ConstrainingFace::constrained_face ( size_t  ind) const
inline

◆ constrained_vertex()

◆ is_constrained_object() [1/3]

bool ug::ConstrainingFace::is_constrained_object ( Edge edge)
inline

References ug::find().

◆ is_constrained_object() [2/3]

bool ug::ConstrainingFace::is_constrained_object ( Face face)
inline

References ug::find().

◆ is_constrained_object() [3/3]

bool ug::ConstrainingFace::is_constrained_object ( Vertex vrt)
inline

References ug::find().

Referenced by ug::CheckHangingNodeConsistency().

◆ is_constraining()

virtual bool ug::ConstrainingFace::is_constraining ( ) const
inlinevirtual

returns the id of the reference-object.

returns true if the object constrains other objects. This is normally only the case for special constraining objects. The default implementation returns false.

Reimplemented from ug::GridObject.

◆ num_constrained() [1/4]

template<>
size_t ug::ConstrainingFace::num_constrained ( ) const

◆ num_constrained() [2/4]

template<>
size_t ug::ConstrainingFace::num_constrained ( ) const

◆ num_constrained() [3/4]

template<>
size_t ug::ConstrainingFace::num_constrained ( ) const

◆ num_constrained() [4/4]

template<class TElem >
size_t ug::ConstrainingFace::num_constrained ( ) const

◆ num_constrained_edges()

size_t ug::ConstrainingFace::num_constrained_edges ( ) const
inline

◆ num_constrained_faces()

◆ num_constrained_vertices()

◆ remove_constraint_link() [1/3]

virtual void ug::ConstrainingFace::remove_constraint_link ( const Edge e)
inlinevirtual

removes a constraint link to the grid object.

This method is e.g. called on the constraining edges of a constrained vertex as soon as the constrained vertex is deleted.

Reimplemented from ug::GridObject.

◆ remove_constraint_link() [2/3]

virtual void ug::ConstrainingFace::remove_constraint_link ( const Face f)
inlinevirtual

removes a constraint link to the grid object.

This method is e.g. called on the constraining edges of a constrained vertex as soon as the constrained vertex is deleted.

Reimplemented from ug::GridObject.

◆ remove_constraint_link() [3/3]

virtual void ug::ConstrainingFace::remove_constraint_link ( const Vertex vrt)
inlinevirtual

removes a constraint link to the grid object.

This method is e.g. called on the constraining edges of a constrained vertex as soon as the constrained vertex is deleted.

Reimplemented from ug::GridObject.

◆ type_match()

static bool ug::ConstrainingFace::type_match ( GridObject pObj)
inlinestatic

◆ unconstrain_object() [1/3]

void ug::ConstrainingFace::unconstrain_object ( const Edge edge)
inline

References ug::find().

◆ unconstrain_object() [2/3]

void ug::ConstrainingFace::unconstrain_object ( const Face face)
inline

References ug::find().

◆ unconstrain_object() [3/3]

void ug::ConstrainingFace::unconstrain_object ( const Vertex vrt)
inline

References ug::find().

Member Data Documentation

◆ m_constrainedEdges

std::vector<Edge*> ug::ConstrainingFace::m_constrainedEdges
protected

◆ m_constrainedFaces

std::vector<Face*> ug::ConstrainingFace::m_constrainedFaces
protected

◆ m_constrainedVertices

std::vector<Vertex*> ug::ConstrainingFace::m_constrainedVertices
protected

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