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< unsigned long, unsigned long > > &, std::vector< std::pair< Base::Vector3f, Base::Vector3f > > &) const |
collect all intersection lines More... | |
void | GetIntersections (std::vector< std::pair< unsigned long, unsigned long > > &) const |
collect the index of all facets with self intersections More... | |
MeshEvalSelfIntersection (const MeshKernel &rclB) | |
virtual | ~MeshEvalSelfIntersection () |
Public Member Functions inherited from MeshCore::MeshEvaluation | |
MeshEvaluation (const MeshKernel &rclB) | |
virtual | ~MeshEvaluation () |
Detailed Description
The MeshEvalSelfIntersection class checks the mesh for self intersection.
Constructor & Destructor Documentation
◆ MeshEvalSelfIntersection()
MeshCore::MeshEvalSelfIntersection::MeshEvalSelfIntersection | ( | const MeshKernel & | rclB | ) |
◆ ~MeshEvalSelfIntersection()
|
virtual |
Member Function Documentation
◆ Evaluate()
|
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::MeshFacetIterator::More(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::Next(), MeshCore::MeshGridIterator::Next(), Base::SequencerLauncher::next(), and MeshCore::MeshFacetIterator::Set().
Referenced by MeshCore::MeshKernel::HasSelfIntersections(), Mesh::MeshObject::hasSelfIntersections(), and MeshGui::DlgEvaluateMeshImp::on_repairAllTogether_clicked().
◆ GetIntersections() [1/2]
void MeshEvalSelfIntersection::GetIntersections | ( | const std::vector< std::pair< unsigned long, unsigned long > > & | 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::MeshPy::getSelfIntersections(), MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), MeshGui::DlgEvaluateMeshImp::on_analyzeSelfIntersectionButton_clicked(), Mesh::MeshObject::removeSelfIntersections(), and MeshGui::ViewProviderMeshSelfIntersections::showDefects().
◆ GetIntersections() [2/2]
void MeshEvalSelfIntersection::GetIntersections | ( | std::vector< std::pair< unsigned long, unsigned long > > & | 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::MeshFacetIterator::More(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::Next(), MeshCore::MeshGridIterator::Next(), Base::SequencerLauncher::next(), and MeshCore::MeshFacetIterator::Set().
The documentation for this class was generated from the following files:
- src/Mod/Mesh/App/Core/Evaluation.h
- src/Mod/Mesh/App/Core/Evaluation.cpp