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. | |
void | GetIntersections (std::vector< std::pair< unsigned long, unsigned long > > &) const |
collect the index of all facets with self intersections | |
void | GetIntersections (const std::vector< std::pair< unsigned long, unsigned long > > &, std::vector< std::pair< Base::Vector3f, Base::Vector3f > > &) const |
collect all intersection lines | |
MeshEvalSelfIntersection (const MeshKernel &rclB) | |
virtual | ~MeshEvalSelfIntersection () |
The MeshEvalSelfIntersection class checks the mesh for self intersection.
Definition at line 260 of file Evaluation.h.
MeshCore::MeshEvalSelfIntersection::MeshEvalSelfIntersection | ( | const MeshKernel & | rclB | ) | [inline] |
Definition at line 263 of file Evaluation.h.
virtual MeshCore::MeshEvalSelfIntersection::~MeshEvalSelfIntersection | ( | ) | [inline, virtual] |
Definition at line 264 of file Evaluation.h.
bool MeshEvalSelfIntersection::Evaluate | ( | ) | [virtual] |
Evaluate the mesh and return if true if there are self intersections.
Implements MeshCore::MeshEvaluation.
Definition at line 545 of file Evaluation.cpp.
References MeshCore::MeshFacet::_aulPoints, MeshCore::MeshEvaluation::_rclMesh, MeshCore::MeshFacetIterator::Begin(), MeshCore::MeshGrid::GetCtGrids(), MeshCore::MeshGridIterator::GetElements(), MeshCore::MeshKernel::GetFacets(), MeshCore::MeshGridIterator::Init(), MeshCore::MeshGeomFacet::IntersectWithFacet(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::More(), Base::SequencerLauncher::next(), MeshCore::MeshGridIterator::Next(), MeshCore::MeshFacetIterator::Next(), and MeshCore::MeshFacetIterator::Set().
Referenced by MeshCore::MeshKernel::HasSelfIntersections(), Mesh::MeshObject::hasSelfIntersections(), and MeshGui::DlgEvaluateMeshImp::on_repairAllTogether_clicked().
void MeshEvalSelfIntersection::GetIntersections | ( | std::vector< std::pair< unsigned long, unsigned long > > & | intersection | ) | const |
collect the index of all facets with self intersections
Definition at line 641 of file Evaluation.cpp.
References MeshCore::MeshFacet::_aulPoints, MeshCore::MeshEvaluation::_rclMesh, MeshCore::MeshFacetIterator::Begin(), MeshCore::MeshGrid::GetCtGrids(), MeshCore::MeshGridIterator::GetElements(), MeshCore::MeshKernel::GetFacets(), MeshCore::MeshGridIterator::Init(), MeshCore::MeshGeomFacet::IntersectWithFacet(), MeshCore::MeshGridIterator::More(), MeshCore::MeshFacetIterator::More(), Base::SequencerLauncher::next(), MeshCore::MeshGridIterator::Next(), MeshCore::MeshFacetIterator::Next(), and MeshCore::MeshFacetIterator::Set().
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
Definition at line 617 of file Evaluation.cpp.
References MeshCore::MeshEvaluation::_rclMesh, and MeshCore::MeshFacetIterator::Set().
Referenced by MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), MeshGui::DlgEvaluateMeshImp::on_analyzeSelfIntersectionButton_clicked(), Mesh::MeshObject::removeSelfIntersections(), and MeshGui::ViewProviderMeshSelfIntersections::showDefects().