The MeshFixDegeneratedFacets class tries to fix degenerations by removing the concerning facets. More...
#include <Degeneration.h>
Public Member Functions | |
bool | Fixup () |
Removes degenerated facets. | |
MeshFixDegeneratedFacets (MeshKernel &rclM) | |
Construction. | |
unsigned long | RemoveEdgeTooSmall (float fMinEdgeLength=MeshDefinitions::_fMinPointDistance, float fMinEdgeAngle=MeshDefinitions::_fMinEdgeAngle) |
Removes all facets with an edge smaller than fMinEdgeLength without leaving holes or gaps in the mesh. | |
~MeshFixDegeneratedFacets () | |
Destruction. |
The MeshFixDegeneratedFacets class tries to fix degenerations by removing the concerning facets.
Definition at line 230 of file Degeneration.h.
MeshCore::MeshFixDegeneratedFacets::MeshFixDegeneratedFacets | ( | MeshKernel & | rclM | ) | [inline] |
Construction.
Definition at line 236 of file Degeneration.h.
MeshCore::MeshFixDegeneratedFacets::~MeshFixDegeneratedFacets | ( | ) | [inline] |
Destruction.
Definition at line 240 of file Degeneration.h.
bool MeshFixDegeneratedFacets::Fixup | ( | ) | [virtual] |
Removes degenerated facets.
Implements MeshCore::MeshValidation.
Definition at line 426 of file Degeneration.cpp.
References MeshCore::MeshValidation::_rclMesh, MeshCore::MeshKernel::CountFacets(), MeshCore::MeshFacetIterator::Init(), MeshCore::MeshFacetIterator::More(), MeshCore::MeshFacetIterator::Next(), MeshCore::MeshFacetIterator::Position(), MeshCore::MeshTopoAlgorithm::RemoveDegeneratedFacet(), and MeshCore::MeshFacetIterator::Set().
Referenced by Mesh::MeshObject::validateDegenerations().
unsigned long MeshFixDegeneratedFacets::RemoveEdgeTooSmall | ( | float | fMinEdgeLength = MeshDefinitions::_fMinPointDistance , |
|
float | fMinEdgeAngle = MeshDefinitions::_fMinEdgeAngle | |||
) |
Removes all facets with an edge smaller than fMinEdgeLength without leaving holes or gaps in the mesh.
Returns the number of removed facets.
Definition at line 449 of file Degeneration.cpp.
References MeshCore::MeshKernel::_aclFacetArray, MeshCore::MeshKernel::_aclPointArray, MeshCore::MeshGeomFacet::_aclPoints, MeshCore::MeshFacet::_aulPoints, MeshCore::MeshValidation::_rclMesh, MeshCore::MeshKernel::CountFacets(), Base::Distance(), Mesh2Shape::faces, Base::Vector3< _Precision >::GetAngle(), MeshCore::MeshKernel::RebuildNeighbours(), MeshCore::MeshKernel::RemoveInvalids(), MeshCore::MeshPointArray::ResetFlag(), MeshCore::MeshPointArray::ResetInvalid(), MeshCore::MeshFacetArray::ResetInvalid(), boost::numeric::bindings::atlas::set(), MeshCore::MeshPointArray::SetFlag(), MeshCore::MeshFacet::SetInvalid(), and MeshCore::MeshPoint::VISIT.