ug4
ug::ConstrainedEdge Class Reference

This edge is a sub-edge of a. More...

#include <grid_objects_1d.h>

+ Inheritance diagram for ug::ConstrainedEdge:

Public Member Functions

 ConstrainedEdge ()
 
 ConstrainedEdge (const EdgeDescriptor &descriptor)
 
 ConstrainedEdge (Vertex *v1, Vertex *v2)
 
virtual int container_section () const
 
virtual GridObjectcreate_empty_instance () const
 create an instance of the derived type More...
 
GridObjectget_constraining_object ()
 
int get_parent_base_object_id ()
 
virtual bool is_constrained () const
 returns true if the object is constrained by other objects. More...
 
virtual ReferenceObjectID reference_object_id () const
 
bool refine (std::vector< ConstrainedEdge * > &vNewEdgesOut, Vertex *newVertex, Vertex **pSubstituteVrts=NULL)
 non virtual refine. Returns pointers to ConstrainedEdge. More...
 
virtual bool refine (std::vector< Edge * > &vNewEdgesOut, Vertex *newVertex, Vertex **pSubstituteVrts=NULL)
 virtual refine. Returns pointers to Edge. More...
 
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...
 
void set_constraining_object (GridObject *pObj)
 
void set_parent_base_object_id (int id)
 
virtual ~ConstrainedEdge ()
 
- Public Member Functions inherited from ug::Edge
virtual int base_object_id () const
 
bool get_opposing_side (Vertex *v, Vertex **vrtOut)
 retrieves the vertex on the opposing side to the specified one. More...
 
bool get_opposing_side (Vertex *v, VertexDescriptor &vrtOut)
 
uint num_sides () const
 
virtual ~Edge ()
 
- Public Member Functions inherited from ug::GridObject
uint grid_data_index () const
 Returns the grid attachment data index of a geometric object. More...
 
virtual bool is_constraining () const
 returns the id of the reference-object. More...
 
virtual ~GridObject ()
 
virtual void remove_constraint_link (const Vertex *vrt)
 removes a constraint link to the grid object. More...
 
- Public Member Functions inherited from ug::EdgeVertices
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 ~EdgeVertices ()
 
- 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::Edge
static bool type_match (GridObject *pObj)
 

Protected Attributes

int m_parentBaseObjectId
 
GridObjectm_pConstrainingObject
 
- Protected Attributes inherited from ug::GridObject
uint m_gridDataIndex
 
- Protected Attributes inherited from ug::EdgeVertices
Vertexm_vertices [2]
 

Friends

class Grid
 

Additional Inherited Members

- Public Types inherited from ug::Edge
typedef Edge grid_base_object
 
typedef Face higher_dim_base_object
 
typedef Vertex lower_dim_base_object
 
typedef Vertex side
 
typedef Face sideof
 
- Public Types inherited from ug::IVertexGroup
typedef Vertex *const * ConstVertexArray
 
- Static Public Attributes inherited from ug::Edge
static const int BASE_OBJECT_ID = EDGE
 
static const bool CAN_BE_SIDE = true
 
static const int dim = 1
 reference dimension More...
 
static const bool HAS_SIDES = true
 
static const size_t NUM_VERTICES = 2
 
- Protected Member Functions inherited from ug::Edge
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...
 
- Protected Member Functions inherited from ug::EdgeVertices
void assign_edge_vertices (const EdgeVertices &ev)
 

Detailed Description

This edge is a sub-edge of a.

See also
ConstrainingEdge. Edges of this type appear during hanging-vertex-refinement. Treat them with care, since they are referenced by other objects, i.e.
ConstrainingEdge

Constructor & Destructor Documentation

◆ ConstrainedEdge() [1/3]

ug::ConstrainedEdge::ConstrainedEdge ( )
inline

Referenced by refine().

◆ ConstrainedEdge() [2/3]

ug::ConstrainedEdge::ConstrainedEdge ( Vertex v1,
Vertex v2 
)
inline

◆ ConstrainedEdge() [3/3]

ug::ConstrainedEdge::ConstrainedEdge ( const EdgeDescriptor descriptor)
inline

◆ ~ConstrainedEdge()

virtual ug::ConstrainedEdge::~ConstrainedEdge ( )
inlinevirtual

Member Function Documentation

◆ container_section()

virtual int ug::ConstrainedEdge::container_section ( ) const
inlinevirtual

Reimplemented from ug::Edge.

References ug::CSEDGE_CONSTRAINED_EDGE.

◆ create_empty_instance()

virtual GridObject* ug::ConstrainedEdge::create_empty_instance ( ) const
inlinevirtual

create an instance of the derived type

Make sure to overload this method in derivates of this class!

Reimplemented from ug::GridObject.

◆ get_constraining_object()

◆ get_parent_base_object_id()

int ug::ConstrainedEdge::get_parent_base_object_id ( )
inline

◆ is_constrained()

virtual bool ug::ConstrainedEdge::is_constrained ( ) const
inlinevirtual

returns true if the object is constrained by other objects.

This is normally only the case for special constrained objects. The default implementation returns false.

Reimplemented from ug::GridObject.

◆ reference_object_id()

virtual ReferenceObjectID ug::ConstrainedEdge::reference_object_id ( ) const
inlinevirtual

A reference object represents a class of geometric objects. Tetrahedrons, Triangles etc are such classes. Reference ids should be defined in the file in which concrete geometric objects are defined.

Reimplemented from ug::Edge.

References ug::ROID_EDGE.

◆ refine() [1/2]

bool ug::ConstrainedEdge::refine ( std::vector< ConstrainedEdge * > &  vNewEdgesOut,
Vertex newVertex,
Vertex **  pSubstituteVrts = NULL 
)

non virtual refine. Returns pointers to ConstrainedEdge.

create 2 new constrained edges, connecting the original edges end-points with vrtNew. please note that the caller is responsible to resolve any conflicts arising with existing links of constrained/constraining objects.

See also
Edge::refine

References refine().

◆ refine() [2/2]

bool ug::ConstrainedEdge::refine ( std::vector< Edge * > &  vNewEdgesOut,
Vertex newVertex,
Vertex **  pSubstituteVrts = NULL 
)
virtual

virtual refine. Returns pointers to Edge.

create 2 new constrained edges, connecting the original edges end-points with vrtNew. please note that the caller is responsible to resolve any conflicts arising with existing links of constrained/constraining objects.

See also
Edge::refine.

Reimplemented from ug::Edge.

References ConstrainedEdge(), and ug::EdgeVertices::vertex().

Referenced by refine().

◆ remove_constraint_link() [1/2]

virtual void ug::ConstrainedEdge::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/2]

virtual void ug::ConstrainedEdge::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.

◆ set_constraining_object()

◆ set_parent_base_object_id()

void ug::ConstrainedEdge::set_parent_base_object_id ( int  id)
inline

◆ type_match()

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

Friends And Related Function Documentation

◆ Grid

friend class Grid
friend

Member Data Documentation

◆ m_parentBaseObjectId

int ug::ConstrainedEdge::m_parentBaseObjectId
protected

◆ m_pConstrainingObject

GridObject* ug::ConstrainedEdge::m_pConstrainingObject
protected

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