ug4
grid generation

grid generation algorithms More...

Functions

bool ug::Retetrahedralize (Grid &grid, SubsetHandler &sh, ANumber &aVolumeConstraint, number quality=5, bool preserveBnds=false, bool preserveAll=false, APosition &aPos=aPosition, bool applyVolumeConstraint=true, int verbosity=0)
 If tetrahedrons are already present, this method refines them based on the given volume constraints. More...
 
bool ug::TriangleFill (Grid &grid, EdgeIterator edgesBegin, EdgeIterator edgesEnd, bool bTriangulateInside=true)
 Fills a region bounded by the given poly-chain with triangles. More...
 
bool ug::TriangleFill (std::vector< int > &vTriIndsOut, vector2 *polyChain, size_t polyChainSize, bool bTriangulateInside=true)
 Fills a 2d-region, bounded by the given poly-chain, with triangles. More...
 
bool ug::Tetrahedralize (Grid &grid, number quality=5, bool preserveBnds=false, bool preserveAll=false, APosition &aPos=aPosition, int verbosity=0)
 fills a closed surface-grid with tetrahedrons. More...
 
bool ug::Tetrahedralize (Grid &grid, ISubsetHandler &sh, number quality, bool preserveBnds, bool preserveAll, APosition &aPos, int verbosity)
 fills a closed surface-grid with tetrahedrons. More...
 

Detailed Description

grid generation algorithms

Those algorithms allow to construct a triangulation or a tetrahedralization of a given domain.

Function Documentation

◆ Retetrahedralize()

bool ug::Retetrahedralize ( Grid grid,
SubsetHandler sh,
ANumber aVolumeConstraint,
number  quality = 5,
bool  preserveBnds = false,
bool  preserveAll = false,
APosition aPos = aPosition,
bool  applyVolumeConstraint = true,
int  verbosity = 0 
)

If tetrahedrons are already present, this method refines them based on the given volume constraints.

A negative volume constraint implies no constraint for that element.

References ug::PerformRetetrahedralization().

◆ Tetrahedralize() [1/2]

bool ug::Tetrahedralize ( Grid grid,
ISubsetHandler sh,
number  quality,
bool  preserveBnds,
bool  preserveAll,
APosition aPos,
int  verbosity 
)

fills a closed surface-grid with tetrahedrons.

You may specify a quality parameter. If this parameter is <= 0, no inner vertices will be created. The default value for quality is 5. The quality resembles the minimal valid dihedral angle. The algorithm should always terminate for this quality. If you choose a lower quality parameter (careful with quality < 1), the algotithm may not terminate. The lower the quality parameter (but > 0), the better the tetrahedron quality.

Using tetgen by Hang Si.

Parameters
[in]qualitynumber specifiying grid quality between 0 and 18
[in]preserveBndsbool to specify if outer boundaries shall be preserved
[in]preserveAllbool to specify if outer and inner boundaries shall be preserved
[in]verbositynumber between 0 and 3 to specify level of verbosity

References ug::PerformTetrahedralization().

◆ Tetrahedralize() [2/2]

bool ug::Tetrahedralize ( Grid grid,
number  quality = 5,
bool  preserveBnds = false,
bool  preserveAll = false,
APosition aPos = aPosition,
int  verbosity = 0 
)

fills a closed surface-grid with tetrahedrons.

You may specify a quality parameter. If this parameter is <= 0, no inner vertices will be created. The default value for quality is 5. The quality resembles the minimal valid dihedral angle. The algorithm should always terminate for this quality. If you choose a lower quality parameter (careful with quality < 1), the algotithm may not terminate. The lower the quality parameter (but > 0), the better the tetrahedron quality.

Using tetgen by Hang Si.

Parameters
[in]qualitynumber specifiying grid quality between 0 and 18
[in]preserveBndsbool to specify if outer boundaries shall be preserved
[in]preserveAllbool to specify if outer and inner boundaries shall be preserved
[in]verbositynumber between 0 and 3 to specify level of verbosity

References ug::PerformTetrahedralization().

◆ TriangleFill() [1/2]

bool ug::TriangleFill ( Grid grid,
EdgeIterator  edgesBegin,
EdgeIterator  edgesEnd,
bool  bTriangulateInside = true 
)

Fills a region bounded by the given poly-chain with triangles.

This algorithm uses Grid::mark.

References ug::aPosition, ug::Grid::create(), ug::CreatePolyChain(), ug::Grid::has_vertex_attachment(), and ug::TransformPointSetTo2D().

◆ TriangleFill() [2/2]

bool ug::TriangleFill ( std::vector< int > &  vTriIndsOut,
vector2 polyChain,
size_t  polyChainSize,
bool  bTriangulateInside 
)