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_2D * | pHeightGuideTriangulation |
pHeightGuideTriangulation More... | |
Zone2 * | pZone |
Zone to be meshed. | |
Parameters for the mesh generator.
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.
void GEOM_FADE25D::MeshGenParams::addLockedConstraint | ( | ConstraintSegment2 * | pConstraintSegment | ) |
Constraint Segments that shall not be splitted.
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.
|
inlinevirtual |
getMaxEdgeLength(Triangle2* pT)
pT | is 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.
|
inlinevirtual |
getMaxTriangleArea(Triangle2* pT)
pT | is 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.
bool GEOM_FADE25D::MeshGenParams::bAllowConstraintSplitting |
bAllowConstraintSplitting
Defines if constraint segments can be splitted. Default: yes
bool GEOM_FADE25D::MeshGenParams::bGridMeshingLQ |
Low quality but high performance grid meshing.
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.
bool GEOM_FADE25D::MeshGenParams::bKeepExistingSteinerPoints |
Steiner points from previous refinements.
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.
bool GEOM_FADE25D::MeshGenParams::bReproducibleResults |
Reproducible results.
By default the algorithm generates reproducible triangulations. If not required you can disable that with bReproducibleResults=false
to save time.
pZone
. If you need reproducable results outside also then create a global zone and call unifyGrid(0) once. double GEOM_FADE25D::MeshGenParams::capAspectLimit |
capAspectLimit
Limits the quotient edgeLength / height. Default value: 10.0
int GEOM_FADE25D::MeshGenParams::command |
Command.
A command for development, not for public use. Will vanish soon.
double GEOM_FADE25D::MeshGenParams::gridLength |
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).
Point2 GEOM_FADE25D::MeshGenParams::gridPoint |
Grid Point.
An optional point through which the grid-mesh must pass
Vector2 GEOM_FADE25D::MeshGenParams::gridVector |
gridVector
When grid-meshing is used the grid is aligned to the gridVector
. By default gridVector
is axis aligned.
double GEOM_FADE25D::MeshGenParams::growFactor |
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
double GEOM_FADE25D::MeshGenParams::growFactorMinArea |
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
double GEOM_FADE25D::MeshGenParams::maxEdgeLength |
Maximum edge length.
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.
double GEOM_FADE25D::MeshGenParams::maxHeightError |
maxHeightError
If pHeightGuideTriangulation is set and the height error exceeds locally maxHeightError then the triangulation is further refined.
double GEOM_FADE25D::MeshGenParams::maxTriangleArea |
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.
double GEOM_FADE25D::MeshGenParams::minAngleDegree |
Minimum interior triangle angle.
Minimum interior angle: Default: 20.0, maximum: 30.0
double GEOM_FADE25D::MeshGenParams::minEdgeLength |
Minimum edge length.
Edges below the minimum length are not subdivided. This parameter is useful to avoid tiny triangles. Default: 0.001
Fade_2D* GEOM_FADE25D::MeshGenParams::pHeightGuideTriangulation |
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.