The MeshEvalSelfIntersection class checks the mesh for self intersection. More...
#include <Evaluation.h>
Public Member Functions | |
bool | Evaluate () |
Evaluate the mesh and return if true if there are self intersections. More... | |
void | GetIntersections (const std::vector< std::pair< FacetIndex, FacetIndex > > &, std::vector< std::pair< Base::Vector3f, Base::Vector3f > > &) const |
collect all intersection lines More... | |
void | GetIntersections (std::vector< std::pair< FacetIndex, FacetIndex > > &) const |
collect the index of all facets with self intersections More... | |
MeshEvalSelfIntersection (const MeshKernel &rclB) | |
virtual | ~MeshEvalSelfIntersection () |
Public Member Functions inherited from MeshCore::MeshEvaluation | |
virtual bool | Evaluate ()=0 |
Evaluates the mesh kernel with respect to certain criteria. More... | |
MeshEvaluation (const MeshKernel &rclB) | |
virtual | ~MeshEvaluation () |
The MeshEvalSelfIntersection class checks the mesh for self intersection.
MeshCore::MeshEvalSelfIntersection::MeshEvalSelfIntersection | ( | const MeshKernel & | rclB | ) |
|
virtual |
|
virtual |
Evaluate the mesh and return if true if there are self intersections.
Implements MeshCore::MeshEvaluation.
References MeshCore::MeshFacetIterator::Begin(), MeshCore::MeshGrid::GetCtGrids(), MeshCore::MeshGridIterator::GetElements(), MeshCore::MeshGridIterator::Init(), MeshCore::MeshGeomFacet::IntersectWithFacet(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::More(), MeshCore::MeshGridIterator::Next(), MeshCore::MeshFacetIterator::Next(), Base::SequencerLauncher::next(), and MeshCore::MeshFacetIterator::Set().
Referenced by MeshCore::MeshKernel::HasSelfIntersections(), Mesh::MeshObject::hasSelfIntersections(), and MeshGui::DlgEvaluateMeshImp::on_repairAllTogether_clicked().
void MeshEvalSelfIntersection::GetIntersections | ( | const std::vector< std::pair< FacetIndex, FacetIndex > > & | indices, |
std::vector< std::pair< Base::Vector3f, Base::Vector3f > > & | intersection | ||
) | const |
collect all intersection lines
References MeshCore::MeshGeomFacet::GetBoundBox(), MeshCore::MeshGeomFacet::IntersectWithFacet(), and MeshCore::MeshFacetIterator::Set().
Referenced by Mesh::MeshObject::offsetSpecial2(), MeshPart::MeshAlgos::offsetSpecial2(), MeshGui::DlgEvaluateMeshImp::on_analyzeSelfIntersectionButton_clicked(), Mesh::MeshObject::removeSelfIntersections(), and MeshGui::ViewProviderMeshSelfIntersections::showDefects().
void MeshEvalSelfIntersection::GetIntersections | ( | std::vector< std::pair< FacetIndex, FacetIndex > > & | intersection | ) | const |
collect the index of all facets with self intersections
References MeshCore::MeshFacetIterator::Begin(), MeshCore::MeshGrid::GetCtGrids(), MeshCore::MeshGridIterator::GetElements(), MeshCore::MeshGridIterator::Init(), MeshCore::MeshGeomFacet::IntersectWithFacet(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::More(), MeshCore::MeshGridIterator::Next(), MeshCore::MeshFacetIterator::Next(), Base::SequencerLauncher::next(), and MeshCore::MeshFacetIterator::Set().