![]() |
GemaCoreLib
The GeMA Core library
|
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>
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 |
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.
|
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.
|
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.