Geophysical Inversion and Modelling Library  v1.5.0
GIMLI::NodeShape Class Reference
+ Inheritance diagram for GIMLI::NodeShape:
+ Collaboration diagram for GIMLI::NodeShape:

Public Member Functions

 NodeShape (MeshEntity *ent)
 
virtual int rtti () const
 
virtual int dim () const
 
virtual std::string name () const
 
virtual RVector3 rst (Index i) const
 
virtual double domainSize_ () const
 
virtual RVector3 norm () const
 
- Public Member Functions inherited from GIMLI::Shape
 Shape (MeshEntity *ent)
 
virtual ~Shape ()
 
Index nodeCount () const
 
Nodenode (Index i) const
 
void setNodesPtr (const std::vector< Node * > &n)
 
const std::vector< Node * > & nodes () const
 
virtual std::vector< PolynomialFunction< double > > createShapeFunctions () const
 
void createJacobian (RMatrix3 &J) const
 
RMatrix3 createJacobian () const
 
const RMatrix3invJacobian () const
 
virtual RVector N (const RVector3 &L) const
 
virtual void N (const RVector3 &L, RVector &ret) const
 
virtual void dNdrst (const RVector3 &rst, RMatrix &MdNdrst) const
 
virtual RMatrix dNdrst (const RVector3 &L) const
 
virtual void rst2xyz (const RVector3 &rst, RVector3 &xyz) const
 
virtual RVector3 xyz (const RVector3 &rst) const
 
virtual void xyz2rst (const RVector3 &xyz, RVector3 &rst) const
 
virtual RVector3 rst (const RVector3 &xyz) const
 
double drstdxyz (uint rstI, uint xyzJ) const
 
virtual bool isInside (const RVector3 &xyz, bool verbose=false) const
 
virtual bool isInside (const RVector3 &xyz, RVector &sf, bool verbose=false) const
 
virtual bool touch (const RVector3 &pos, double tol=1e-6, bool verbose=false) const
 
virtual bool intersectRay (const RVector3 &start, const RVector3 &dir, RVector3 &pos)
 
double domainSize () const
 
RVector3 center () const
 
double h () const
 
virtual Plane plane () const
 
void changed ()
 
double jacobianDeterminant () const
 
void resizeNodeSize_ (Index n)
 

Additional Inherited Members

- Protected Attributes inherited from GIMLI::Shape
Index nodeCount_
 
double domSize_
 
bool hasDomSize_
 
double _h
 
RMatrix3 invJacobian_
 
const std::vector< Node * > * nodeVector_
 

Member Function Documentation

◆ domainSize_()

virtual double GIMLI::NodeShape::domainSize_ ( ) const
inlinevirtual

Virtual method to calculate the domain size i.e length, area, volume of the shapes

Reimplemented from GIMLI::Shape.

◆ name()

virtual std::string GIMLI::NodeShape::name ( ) const
inlinevirtual

Return an identification name for the shape.

Reimplemented from GIMLI::Shape.

◆ norm()

RVector3 GIMLI::NodeShape::norm ( ) const
virtual

Returns the norm vector if possible otherwise returns non valid Vector3

Reimplemented from GIMLI::Shape.

◆ rst()

RVector3 GIMLI::NodeShape::rst ( Index  i) const
virtual

Return local coordinates for node i.

Reimplemented from GIMLI::Shape.

◆ rtti()

virtual int GIMLI::NodeShape::rtti ( ) const
inlinevirtual

Pure virtual methode for runtime identification.

Implements GIMLI::Shape.