Fade2.5D Documentation pages v2.12
Delaunay Features
GEOM_FADE25D::MeshGenParams Class Reference

Parameters for the mesh generator. More...

#include <MeshGenParams.h>

Public Member Functions

 MeshGenParams (Zone2 *pZone_)
 
void addLockedConstraint (ConstraintSegment2 *pConstraintSegment)
 Constraint Segments that shall not be splitted. More...
 
virtual double getMaxEdgeLength (Triangle2 *pT)
 getMaxEdgeLength(Triangle2* pT) More...
 
virtual double getMaxTriangleArea (Triangle2 *pT)
 getMaxTriangleArea(Triangle2* pT) More...
 

Public Attributes

bool bAllowConstraintSplitting
 bAllowConstraintSplitting More...
 
bool bGridMeshingLQ
 Low quality but high performance grid meshing. More...
 
bool bKeepExistingSteinerPoints
 Steiner points from previous refinements. More...
 
bool bReproducibleResults
 Reproducible results. More...
 
double capAspectLimit
 capAspectLimit More...
 
int command
 Command. More...
 
double gridLength
 gridLength More...
 
Point2 gridPoint
 Grid Point. More...
 
Vector2 gridVector
 gridVector More...
 
double growFactor
 growFactor More...
 
double growFactorMinArea
 growFactorMinArea More...
 
double maxEdgeLength
 Maximum edge length. More...
 
double maxHeightError
 maxHeightError More...
 
double maxTriangleArea
 maxTriangleArea More...
 
double minAngleDegree
 Minimum interior triangle angle. More...
 
double minEdgeLength
 Minimum edge length. More...
 
Fade_2DpHeightGuideTriangulation
 pHeightGuideTriangulation More...
 
Zone2pZone
 Zone to be meshed.
 

Detailed Description

This class serves as container for mesh generator parameters. Client code can provide a class which derives from MeshGenParams and which provides custom implementations of the getMaxTriangleArea(Triangle* pT) method or the getMaxEdgeLength(Triangle* pT) method in order to gain control over the local density of the generated mesh. The meshing algorithm calls these functions to decide if a certain triangle must be refined.

See also
http://www.geom.at/advanced-mesh-generation/

Member Function Documentation

◆ addLockedConstraint()

void GEOM_FADE25D::MeshGenParams::addLockedConstraint ( ConstraintSegment2 pConstraintSegment)

In case that some ConstraintSegment2 can be splitted and others must not be splitted use bAllowConstraintSplitting=true and add the ones that must not be splitted.

◆ getMaxEdgeLength()

virtual double GEOM_FADE25D::MeshGenParams::getMaxEdgeLength ( Triangle2 pT)
inlinevirtual
Parameters
pTis a triangle for which the meshing algorithm checks if it must be refined.

The default implementation of the present class returns the value maxEdgeLength (which is DBL_MAX if not changed by the user). This method can be overridden by the client software in order to control the local mesh density.

User Controlled Mesh Density, Edge Length

◆ getMaxTriangleArea()

virtual double GEOM_FADE25D::MeshGenParams::getMaxTriangleArea ( Triangle2 pT)
inlinevirtual
Parameters
pTis a triangle for which the meshing algorithm checks if it must be refined.

The default implementation of the present class returns the value maxTriangleArea (which is the default value DBL_MAX if not changed by the user). This method can be overridden by the client software in order to control the local mesh density.

User Controlled Mesh Density, Area

Member Data Documentation

◆ bAllowConstraintSplitting

bool GEOM_FADE25D::MeshGenParams::bAllowConstraintSplitting

Defines if constraint segments can be splitted. Default: yes

◆ bGridMeshingLQ

bool GEOM_FADE25D::MeshGenParams::bGridMeshingLQ

By default bGridMeshingLQ=false in order to create high quality triangles everywhere. By using bGridMeshingLQ=true you can save time but a few bad shaped triangles may remain. This option works only together with grid-meshing.

◆ bKeepExistingSteinerPoints

bool GEOM_FADE25D::MeshGenParams::bKeepExistingSteinerPoints

A previous call to refine() or refineAdvanced() may have created Steiner points. These may be partially or entirely removed during a later refinement call, even (!) if this later refinement takes place in a different zone. It depends on your application if this behavior is desired or not. Usually you want to preserve the points, thus the default value of /p bKeepExistingSteinerPoints is true.

◆ bReproducibleResults

bool GEOM_FADE25D::MeshGenParams::bReproducibleResults

By default the algorithm generates reproducible triangulations. If not required you can disable that with bReproducibleResults=false to save time.

Note
Reproducible results are created inside pZone. If you need reproducable results outside also then create a global zone and call unifyGrid(0) once.

◆ capAspectLimit

double GEOM_FADE25D::MeshGenParams::capAspectLimit

Limits the quotient edgeLength / height. Default value: 10.0

◆ command

int GEOM_FADE25D::MeshGenParams::command

A command for development, not for public use. Will vanish soon.

◆ gridLength

double GEOM_FADE25D::MeshGenParams::gridLength

Set gridLength > 0 to mesh large enough areas with grid points. Border areas and narrow stripes where a grid does not fit are automatically meshed using classic Delaunay methods. By default gridLength=0 (off).

Note
The length of the diagonals in the grid is sqrt(2)*gridLength and the algorithm may automatically adapt the gridLength a bit such that the grid fits better into the shape.
Grid Meshing axis aligned

◆ gridPoint

Point2 GEOM_FADE25D::MeshGenParams::gridPoint

An optional point through which the grid-mesh must pass

◆ gridVector

Vector2 GEOM_FADE25D::MeshGenParams::gridVector

When grid-meshing is used the grid is aligned to the gridVector. By default gridVector is axis aligned.

Grid Meshing along Vector2(1.0,0.3,0.0)

◆ growFactor

double GEOM_FADE25D::MeshGenParams::growFactor

Limits the growth of adjacent triangles. The mesh is constructed such that for any two adjacent triangles t0 and t1 (where t0 is the larger one) area(t0)/area(t1) < growFactor. Recommendation: growFactor>5.0, Default: growFactor=DBL_MAX

◆ growFactorMinArea

double GEOM_FADE25D::MeshGenParams::growFactorMinArea

The growFactor value is ignored for triangles with a smaller area than growFactorMinArea. This value prevents generation of hundreds of tiny triangles around one that is unusually small. Default: 0.001

◆ maxEdgeLength

double GEOM_FADE25D::MeshGenParams::maxEdgeLength

This value is returned by the default implementation of getMaxEdgeLength(Triangle* pT). Larger edges are automatically subdivided. If a custom implementation of getMaxEdgeLength(Triangle* pT) is provided then this value is ignored. Default value: DBL_MAX.

◆ maxHeightError

double GEOM_FADE25D::MeshGenParams::maxHeightError

If pHeightGuideTriangulation is set and the height error exceeds locally maxHeightError then the triangulation is further refined.

◆ maxTriangleArea

double GEOM_FADE25D::MeshGenParams::maxTriangleArea

This value is returned by the default implementation of getMaxTriangleArea(Triangle* pT). Larger triangles are automatically subdivided. If a custom implementation of getMaxTriangleArea(Triangle* pT) is provided then this value is ignored. Default value: DBL_MAX.

◆ minAngleDegree

double GEOM_FADE25D::MeshGenParams::minAngleDegree

Minimum interior angle: Default: 20.0, maximum: 30.0

◆ minEdgeLength

double GEOM_FADE25D::MeshGenParams::minEdgeLength

Edges below the minimum length are not subdivided. This parameter is useful to avoid tiny triangles. Default: 0.001

◆ pHeightGuideTriangulation

Fade_2D* GEOM_FADE25D::MeshGenParams::pHeightGuideTriangulation

When new vertices are created then their height (z-coordinate) is usually computed from the existing triangles. In a situation where an extra triangulation with more accurate heights exists this extra triangulation cn be set als height guide triangulation. In this case the z-coordinates are computed from the triangles of the height guide triangulation.


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