ug4
ug::Quadrilateral Class Reference

a face with four points. More...

#include <grid_objects_2d.h>

+ Inheritance diagram for ug::Quadrilateral:

Public Types

typedef CustomQuadrilateral< Quadrilateral, Face, Triangle, QuadrilateralBaseClass
 
- 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
 

Public Member Functions

virtual int container_section () const
 
 Quadrilateral ()
 
 Quadrilateral (const QuadrilateralDescriptor &td)
 
 Quadrilateral (Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4)
 
- Public Member Functions inherited from ug::CustomQuadrilateral< Quadrilateral, Face, Triangle, Quadrilateral >
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)
 
 CustomQuadrilateral ()
 
 CustomQuadrilateral (const QuadrilateralDescriptor &qd)
 
 CustomQuadrilateral (Vertex *v1, Vertex *v2, Vertex *v3, Vertex *v4)
 
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 get_opposing_side (EdgeVertices *e, EdgeDescriptor &edOut) const
 fills the edge-descriptor with the edge that lies opposed to the specified one More...
 
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 Quadrilateral by inserting new vertices. More...
 
virtual Vertexvertex (size_t index) const
 
virtual Face::ConstVertexArray vertices () const
 
- 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...
 
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 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...
 
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...
 
- 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::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...
 
- Protected Member Functions inherited from ug::CustomQuadrilateral< Quadrilateral, Face, Triangle, Quadrilateral >
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...
 

Additional Inherited Members

- Static Public Attributes inherited from ug::CustomQuadrilateral< Quadrilateral, Face, Triangle, Quadrilateral >
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::CustomQuadrilateral< Quadrilateral, Face, Triangle, Quadrilateral >
Vertexm_vertices [4]
 
- Protected Attributes inherited from ug::GridObject
uint m_gridDataIndex
 

Detailed Description

a face with four points.

Member Typedef Documentation

◆ BaseClass

Constructor & Destructor Documentation

◆ Quadrilateral() [1/3]

ug::Quadrilateral::Quadrilateral ( )
inline

◆ Quadrilateral() [2/3]

ug::Quadrilateral::Quadrilateral ( const QuadrilateralDescriptor td)
inline

◆ Quadrilateral() [3/3]

ug::Quadrilateral::Quadrilateral ( Vertex v1,
Vertex v2,
Vertex v3,
Vertex v4 
)
inline

Member Function Documentation

◆ container_section()

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

Reimplemented from ug::Face.

References ug::CSFACE_QUADRILATERAL.

◆ create_edge()

virtual Edge* ug::Quadrilateral::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.

◆ type_match()

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

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