Geophysical Inversion and Modelling Library  v1.4.1-6-gca226193
GIMLI::PolygonFace Class Reference
+ Inheritance diagram for GIMLI::PolygonFace:
+ Collaboration diagram for GIMLI::PolygonFace:

Public Types

typedef Pos HoleMarker
typedef std::vector< PosHoleMarkerList

Public Member Functions

 PolygonFace (const std::vector< Node * > &nodes)
virtual uint dim () const
virtual uint rtti () const
void insertNode (Node *node, double tol=TOLERANCE)
void addSubface (const std::vector< Node * > &nodes, bool isHole=false)
Index subfaceCount () const
const std::vector< Node * > & subface (Index i) const
void addHoleMarker (const RVector3 &pos)
void delHoleMarker (const RVector3 &pos)
const HoleMarkerList & holeMarkers () const
HoleMarkerList & holeMarkers ()
- Public Member Functions inherited from GIMLI::Boundary
 Boundary (const std::vector< Node * > &nodes)
virtual uint parentType () const
virtual RVector3 rst (uint i) const
const CellleftCell () const
CellleftCell ()
const CellrightCell () const
CellrightCell ()
void setLeftCell (Cell *cell)
void setRightCell (Cell *cell)
virtual RVector3 norm () const
virtual RVector3 norm (const Cell &cell) const
bool normShowsOutside (const Cell &cell) const
void swapNorm (bool withNeighbours=true)
bool outside () const
- Public Member Functions inherited from GIMLI::MeshEntity
 MeshEntity ()
virtual ~MeshEntity ()
virtual void setNodes (const std::vector< Node * > &nodes)
const std::vector< Node * > & nodes () const
Nodenode (uint i)
Nodenode (uint i) const
uint nodeCount () const
Shapeshape ()
Shapeshape () const
ShapepShape ()
RVector3 rst (uint i) const
RVector3 center () const
double size () const
virtual double attribute () const
IndexArray ids () const
virtual std::vector< PolynomialFunction< double > > createShapeFunctions () const
virtual RVector N (const RVector3 &rst) const
virtual void N (const RVector3 &rst, RVector &n) const
virtual RVector dNdL (const RVector3 &rst, uint i) const
virtual RMatrix dNdL (const RVector3 &rst) const
double pot (const RVector3 &p, const RVector &u) const
RVector3 vec (const RVector3 &p, const R3Vector &v) const
RVector3 grad (const RVector3 &p, const RVector &u) const
void setUxCache (const RMatrix &mat) const
const RMatrixuxCache () const
ElementMatrix< double > & uCache ()
ElementMatrix< double > & gradUCache ()
void changed ()
void addSecondaryNode (Node *n)
void delSecondaryNode (Node *n)
const std::vector< Node * > & secondaryNodes () const
const std::vector< Node * > allNodes () const
Index allNodeCount () const
virtual bool enforcePositiveDirection ()
- Public Member Functions inherited from GIMLI::BaseEntity
 BaseEntity (const BaseEntity &ent)
BaseEntityoperator= (const BaseEntity &ent)
virtual bool valid () const
virtual void setValid (bool valid)
int id () const
void setId (int id)
void setMarker (int marker)
int marker () const
void setTagged (bool tagged)
void untag ()
void tag ()
bool tagged () const

Protected Attributes

std::vector< std::vector< Node * > > subfaces_
HoleMarkerList holeMarker_
- Protected Attributes inherited from GIMLI::Boundary
- Protected Attributes inherited from GIMLI::MeshEntity
std::vector< Node * > nodeVector_
std::vector< Node * > secondaryNodes_
ElementMatrix< double > uCache_
ElementMatrix< double > gradUCache_
RMatrix uxCache_
- Protected Attributes inherited from GIMLI::BaseEntity
int id_
bool valid_
int marker_
bool tagged_

Additional Inherited Members

- Protected Member Functions inherited from GIMLI::Boundary
void registerNodes_ ()
void deRegisterNodes_ ()
 Boundary (const Boundary &bound)
Boundaryoperator= (const Boundary &boundary)
- Protected Member Functions inherited from GIMLI::MeshEntity
void fillShape_ ()
 MeshEntity (const MeshEntity &ent)
MeshEntityoperator= (const MeshEntity &ent)

Member Function Documentation

◆ addHoleMarker()

void GIMLI::PolygonFace::addHoleMarker ( const RVector3 pos)

Add a hole marker for tetgen or triangle creation if the mesh is a PLC

◆ addSubface()

void GIMLI::PolygonFace::addSubface ( const std::vector< Node * > &  nodes,
bool  isHole = false 

Insert nodes for a subpolygon. All nodes regarding the parent mesh and need to be inside the face. If marked as hole the boundary does not become part if nodes boundary set.

◆ dim()

virtual uint GIMLI::PolygonFace::dim ( ) const

Return the dimension for this MeshEntity.

Reimplemented from GIMLI::MeshEntity.

◆ holeMarkers() [1/2]

HoleMarkerList& GIMLI::PolygonFace::holeMarkers ( )

Return reference to all defined hole markers.

◆ holeMarkers() [2/2]

const PolygonFace::HoleMarkerList & GIMLI::PolygonFace::holeMarkers ( ) const

Return read only reference for all defined hole regions.

◆ insertNode()

void GIMLI::PolygonFace::insertNode ( Node node,
double  tol = TOLERANCE 

Insert node into the polygon. Node needs to touch the polygon. The node will be inserted in the nodeList or as secondary node if its not on an edge.

◆ rtti()

virtual uint GIMLI::PolygonFace::rtti ( ) const

Return the runtime identification for this MeshEntity.

Reimplemented from GIMLI::Boundary.