Parameters for the mesh generator. More...
#include <MeshGenParams.h>
Public Member Functions  
MeshGenParams (Zone2 *pZone_)  
virtual double  getMaxTriangleArea (Triangle2 *pT) 
getMaxTriangleArea(Triangle2* pT) More...  
virtual double  getMaxEdgeLength (Triangle2 *pT) 
getMaxEdgeLength(Triangle2* pT) More...  
void  addLockedConstraint (ConstraintSegment2 *pConstraintSegment) 
Constraint Segments that shall not be splitted. More...  
Public Attributes  
Zone2 *  pZone 
Zone to be meshed.  
double  minAngleDegree 
Minimum interior triangle angle. More...  
double  minEdgeLength 
Minimum edge length. More...  
double  maxEdgeLength 
Maximum edge length. More...  
double  maxTriangleArea 
maxTriangleArea More...  
bool  bAllowConstraintSplitting 
bAllowConstraintSplitting More...  
double  growFactor 
growFactor More...  
double  growFactorMinArea 
growFactorMinArea More...  
double  capAspectLimit 
capAspectLimit More...  
Vector2  gridVector 
gridVector More...  
double  gridLength 
gridLength More...  
bool  bKeepExistingSteinerPoints 
Steiner points from previous refinements. More...  
int  command 
Command. More...  
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. When the meshing algorithm decides if a certain triangle T must be refined, then it calls these functions.
void 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 MeshGenParams::bAllowConstraintSplitting 
bAllowConstraintSplitting
Defines if constraint segments can be splitted. Default: yes
bool 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.
double MeshGenParams::capAspectLimit 
capAspectLimit
Limits the quotient edgeLength / height. Default value: 10.0
int MeshGenParams::command 
Command.
A command for development, not for public use. Will vanish soon.
double 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).
Vector2 MeshGenParams::gridVector 
gridVector
When gridmeshing is used the grid is aligned to the gridVector
. By default gridVector
is axis aligned.
double 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 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 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 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 MeshGenParams::minAngleDegree 
Minimum interior triangle angle.
Minimum interior angle: Default: 20.0, maximum: 30.0
double MeshGenParams::minEdgeLength 
Minimum edge length.
Edges below the minimum length are not subdivided. This parameter is useful to avoid tiny triangles. Default: 0.001