GemaCoreLib
The GeMA Core library
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Friends | List of all members
GmDiscontinuity Class Referenceabstract

The geometric representation for a single discontinuity from the Discontinuity set. For 2D meshes, it is a polyline. For 3D meshes is a triangulated surface. It can also be represented by edge or face lists. More...

#include <gmDiscontinuity.h>

Inheritance diagram for GmDiscontinuity:
Inheritance graph
[legend]
Collaboration diagram for GmDiscontinuity:
Collaboration graph
[legend]

Public Member Functions

virtual ~GmDiscontinuity ()
 Virtuald destructor.
 
int index () const
 Returns this discontinuity index in the father set.
 
QString id () const
 Returns the discontinuity id (name)
 
int cellGroupIndex () const
 Returns the cell group index associated with this discontinuity, if any. This is the index of the group in the list returned by GmCellMesh::cellGroupIds() Returns -1 for an unspecified cell group.
 
virtual int propertyIndex (int propertySet) const
 Given a property set number, returns the line of the property set that contains property values for this discontinuity. The returned value can be used to get a property from a property accessor retrieved from the discontinuity set. More...
 
virtual int numSegments () const =0
 A generic interface to return the number of discontinuity "segments", where a segment depends on the geometric representation type. For 2d meshes it will be either the number of polyline segments or the number of edges. For 3d meshes, the number of triangles or the number of faces.
 
virtual int numIntersections () const =0
 A generic interface to return the number of intersections between the mesh and the user given geometry. Is the number of line segments or faces (triangles an/or quads) in the intersection set.
 
virtual void clearGeometry ()=0
 Clears the original discontinuity geometry information, releasing memory.
 
virtual void printGeometry (const GmLogCategory &logger, GmLogLevel level) const =0
 Prints the discontinuity geometry information.
 
virtual size_t usedGeometryMemory () const =0
 Returns an estimative of the memory used by the discontinuity geometry in bytes. More...
 
virtual bool findIntersections (const GmLogCategory &logger)
 Builds the element intersection list for this discontinuity.
 
virtual void printIntersections (const GmLogCategory &logger, GmLogLevel level) const
 Prints the discontinuity-mesh intersection information.
 
virtual size_t usedIntersectionMemory () const
 Returns an estimative of the memory used by the intersection data in bytes.
 

Protected Member Functions

 GmDiscontinuity (const GmDiscontinuitySet *ds, int index, QString id, int groupIndex, const QVector< int > &psIndex)
 Private constructor. Discontinuities are only created by the DiscontinuitySet.
 
virtual void setGeometry (double *dvec, int nd, int *ivec, int ni)=0
 A function to set the geometry data. See the parameter descriptions on the concrete classes.
 

Protected Attributes

const GmDiscontinuitySet_ds
 Our "father" discontinuity set.
 
int _index
 The discontinuity index in its "father" discontinuity set.
 
QString _id
 The discontinuity id.
 
int _groupIndex
 The index in the mesh for the associated cell group or -1 if there is none.
 
QVector< int > _psIndex
 The property set line index for this discontinuity. One entry per associated property set.
 

Private Member Functions

 Q_DISABLE_COPY (GmDiscontinuity)
 

Friends

class GmDiscontinuitySet
 

Detailed Description

The geometric representation for a single discontinuity from the Discontinuity set. For 2D meshes, it is a polyline. For 3D meshes is a triangulated surface. It can also be represented by edge or face lists.

Member Function Documentation

◆ propertyIndex()

virtual int GmDiscontinuity::propertyIndex ( int  propertySet) const
inlinevirtual

Given a property set number, returns the line of the property set that contains property values for this discontinuity. The returned value can be used to get a property from a property accessor retrieved from the discontinuity set.

The propertySet number is local to the discontinuity set and varies between 0 and GmDiscontinuitySet::numPropertySets() - 1.

◆ usedGeometryMemory()

virtual size_t GmDiscontinuity::usedGeometryMemory ( ) const
pure virtual

Returns an estimative of the memory used by the discontinuity geometry in bytes.

It returns in general the variable memory that depends on the number of lines in a polyline, edges or faces for boundary lists or points & triangles for surfaces, ignoring "constant" sizes.

Implemented in GmPolylineDiscontinuity, GmTriSurfaceDiscontinuity, GmEdgeListDiscontinuity, and GmFaceListDiscontinuity.


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