ug4
|
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... | |
grid generation algorithms
Those algorithms allow to construct a triangulation or a tetrahedralization of a given domain.
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().
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.
[in] | quality | number specifiying grid quality between 0 and 18 |
[in] | preserveBnds | bool to specify if outer boundaries shall be preserved |
[in] | preserveAll | bool to specify if outer and inner boundaries shall be preserved |
[in] | verbosity | number between 0 and 3 to specify level of verbosity |
References ug::PerformTetrahedralization().
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.
[in] | quality | number specifiying grid quality between 0 and 18 |
[in] | preserveBnds | bool to specify if outer boundaries shall be preserved |
[in] | preserveAll | bool to specify if outer and inner boundaries shall be preserved |
[in] | verbosity | number between 0 and 3 to specify level of verbosity |
References ug::PerformTetrahedralization().
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().
bool ug::TriangleFill | ( | std::vector< int > & | vTriIndsOut, |
vector2 * | polyChain, | ||
size_t | polyChainSize, | ||
bool | bTriangulateInside | ||
) |
Fills a 2d-region, bounded by the given poly-chain, with triangles.
References ug::BoxBoundProbe(), ug::CalculatePolychainEdgeNormals(), ug::ChainInfo::inVrt, ug::ChainInfo::isCandidate, ug::ChainInfo::myVrt, ug::ChainInfo::outVrt, p, ug::PointIsInsideTriangle(), ug::UpdateChainInfo(), ug::VecAdd(), ug::VecDot(), ug::VecNormalize(), ug::VecScale(), and ug::VecSubtract().