ug4
ug::ConstrainingTriangle Class Reference

a triangle constraining other objects. More...

#include <grid_objects_2d.h>

+ Inheritance diagram for ug::ConstrainingTriangle:

Public Member Functions

 ConstrainingTriangle ()
 
 ConstrainingTriangle (const TriangleDescriptor &td)
 
 ConstrainingTriangle (Vertex *v1, Vertex *v2, Vertex *v3)
 
virtual int container_section () const
 
- Public Member Functions inherited from ug::CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral >
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 GridObjectcreate_empty_instance () const
 
virtual void create_faces_by_edge_split (int splitEdgeIndex, Vertex *newVertex, std::vector< Face * > &vNewFacesOut, Vertex **pSubstituteVertices=NULL)
 
 CustomTriangle ()
 
 CustomTriangle (const TriangleDescriptor &td)
 
 CustomTriangle (Vertex *v1, Vertex *v2, Vertex *v3)
 
virtual EdgeDescriptor edge_desc (int index) const
 
virtual void edge_desc (int index, EdgeDescriptor &edOut) const
 
virtual std::pair< GridBaseObjectId, int > get_opposing_object (Vertex *vrt) const
 
virtual bool is_regular_ref_rule (int edgeMarks) const
 
virtual size_t num_vertices () 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)
 Refines a Triangle by inserting new vertices. More...
 
virtual Vertexvertex (size_t index) const
 
virtual Face::ConstVertexArray vertices () const
 
- Public Member Functions inherited from ug::ConstrainingFace
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
 
int get_local_side_index (EdgeVertices *e) const
 returns the local index of the specified edge. More...
 
virtual bool get_opposing_side (EdgeVertices *e, EdgeDescriptor &edOut) const
 retrieves the edge-descriptor for the opposing side to the specified one. More...
 
uint num_edges () const
 
uint num_sides () const
 
virtual ~Face ()
 
- 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_constrained () const
 returns true if the object is constrained by other objects. More...
 
virtual ~GridObject ()
 
- Public Member Functions inherited from ug::FaceVertices
Vertexoperator[] (size_t index) const
 returns the i-th vertex. More...
 
size_t size () const
 returns the number of vertices. More...
 
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::ConstrainingFace
static bool type_match (GridObject *pObj)
 
- Static Public Member Functions inherited from ug::Face
static bool type_match (GridObject *pObj)
 

Protected Member Functions

virtual Edgecreate_edge (int index)
 create the edge with index i and return it. More...
 
void reserve_memory ()
 
- Protected Member Functions inherited from ug::CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral >
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...
 

Private Types

typedef CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateralBaseTriangle
 

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::CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral >
static const size_t NUM_VERTICES
 
- 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 Attributes inherited from ug::CustomTriangle< ConstrainingTriangle, ConstrainingFace, ConstrainingTriangle, ConstrainingQuadrilateral >
Vertexm_vertices [3]
 
- Protected Attributes inherited from ug::ConstrainingFace
std::vector< Edge * > m_constrainedEdges
 
std::vector< Face * > m_constrainedFaces
 
std::vector< Vertex * > m_constrainedVertices
 
- Protected Attributes inherited from ug::GridObject
uint m_gridDataIndex
 

Detailed Description

a triangle constraining other objects.

Member Typedef Documentation

◆ BaseTriangle

Constructor & Destructor Documentation

◆ ConstrainingTriangle() [1/3]

ug::ConstrainingTriangle::ConstrainingTriangle ( )
inline

◆ ConstrainingTriangle() [2/3]

ug::ConstrainingTriangle::ConstrainingTriangle ( const TriangleDescriptor td)
inline

◆ ConstrainingTriangle() [3/3]

ug::ConstrainingTriangle::ConstrainingTriangle ( Vertex v1,
Vertex v2,
Vertex v3 
)
inline

Member Function Documentation

◆ container_section()

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

Reimplemented from ug::Face.

References ug::CSFACE_CONSTRAINING_TRIANGLE.

◆ create_edge()

virtual Edge* ug::ConstrainingTriangle::create_edge ( int  index)
inlineprotectedvirtual

create the edge with index i and return it.

A default implementation is featured to allow empty instances of this class. This is required to allow the use of this class for compile-time method selection by dummy-parameters. It is cruical that derived classes overload this method.

Reimplemented from ug::Face.

◆ reserve_memory()

void ug::ConstrainingTriangle::reserve_memory ( )
inlineprotected

◆ type_match()

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

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