The MeshFacetIterator allows to iterate over the facets that hold the topology of the mesh and provides access to their geometric information. More...
#include <Iterator.h>
Public Member Functions | |
Construction | |
MeshFacetIterator (const MeshKernel &rclM) | |
construction More... | |
MeshFacetIterator (const MeshKernel &rclM, FacetIndex ulPos) | |
construction More... | |
MeshFacetIterator (const MeshFacetIterator &rclI) | |
construction More... | |
Transformation | |
void | Transform (const Base::Matrix4D &rclTrf) |
Transforms the returned facet points with the current transformation. More... | |
Access methods | |
const MeshGeomFacet & | operator* () |
Access to the element the iterator points to. More... | |
const MeshGeomFacet * | operator-> () |
Access to the element the iterator points to. More... | |
const MeshFacetIterator & | operator++ () |
Increments the iterator. More... | |
const MeshFacetIterator & | operator-- () |
Decrements the iterator. More... | |
const MeshFacetIterator & | operator+= (int k) |
Increments the iterator by k positions. More... | |
const MeshFacetIterator & | operator-= (int k) |
Decrements the iterator by k positions. More... | |
MeshFacetIterator & | operator= (const MeshFacetIterator &rpI) |
Assignment. More... | |
bool | operator< (const MeshFacetIterator &rclI) const |
Compares if this iterator points to a lower element than the other one. More... | |
bool | operator> (const MeshFacetIterator &rclI) const |
Compares if this iterator points to a higher element than the other one. More... | |
bool | operator== (const MeshFacetIterator &rclI) const |
Checks if the iterators points to the same element. More... | |
void | Begin () |
Sets the iterator to the beginning of the array. More... | |
void | End () |
Sets the iterator to the end of the array. More... | |
FacetIndex | Position () const |
Returns the current position of the iterator in the array. More... | |
bool | EndReached () const |
Checks if the end is already reached. More... | |
void | Init () |
Sets the iterator to the beginning of the array. More... | |
bool | More () const |
Checks if the end is not yet reached. More... | |
void | Next () |
Increments the iterator. More... | |
bool | Set (FacetIndex ulIndex) |
Sets the iterator to a given position. More... | |
MeshFacet | GetIndices () const |
Returns the topologic facet. More... | |
const MeshFacet & | GetReference () const |
Returns the topologic facet. More... | |
void | GetNeighbours (MeshFacetIterator &rclN0, MeshFacetIterator &rclN1, MeshFacetIterator &rclN2) const |
Returns iterators pointing to the current facet's neighbours. More... | |
void | SetToNeighbour (unsigned short usN) |
Sets the iterator to the current facet's neighbour of the side usN. More... | |
unsigned long | GetProperty () const |
Returns the property information to the current facet. More... | |
bool | IsValid () const |
Checks if the iterator points to a valid element inside the array. More... | |
Flag state | |
class | MeshKernel |
void | SetFlag (MeshFacet::TFlagType tF) const |
void | ResetFlag (MeshFacet::TFlagType tF) const |
bool | IsFlag (MeshFacet::TFlagType tF) const |
void | SetProperty (unsigned long uP) const |
const MeshGeomFacet & | Dereference () |
The MeshFacetIterator allows to iterate over the facets that hold the topology of the mesh and provides access to their geometric information.
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshKernel & | rclM | ) |
construction
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshKernel & | rclM, |
FacetIndex | ulPos | ||
) |
construction
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshFacetIterator & | rclI | ) |
construction
void MeshCore::MeshFacetIterator::Begin | ( | ) |
Sets the iterator to the beginning of the array.
Referenced by MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshCore::MeshKernel::FacetIterator(), MeshCore::MeshIntersection::getIntersection(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), and Init().
|
protected |
Referenced by operator*(), and operator->().
void MeshCore::MeshFacetIterator::End | ( | ) |
Sets the iterator to the end of the array.
Referenced by Mesh::AmfExporter::addMesh(), PathScripts.PathDressupDogbone.Chord::asLine(), PathScripts.PathDressupDogbone.Chord::asVector(), PathScripts.PathDressupDogbone.Chord::commandParams(), PathScripts.PathDressupDogbone.Chord::connectsTo(), MeshCore::MeshKernel::DeletePoint(), MeshCore::MeshInfo::DetailedFacetInfo(), GetNeighbours(), PathScripts.PathDressupDogbone.Chord::isANoopMove(), PathScripts.PathDressupDogbone.Chord::isAPlungeMove(), PathScripts.PathDressupDogbone.Chord::moveBy(), PathScripts.PathDressupDogbone.Chord::moveTo(), PathScripts.PathDressupDogbone.Chord::moveToParameters(), MeshCore::MeshOutput::SaveAsciiSTL(), MeshCore::MeshOutput::SaveAsymptote(), MeshCore::MeshOutput::SaveBinarySTL(), MeshCore::MeshOutput::SaveInventor(), MeshCore::MeshOutput::SaveOBJ(), and SetToNeighbour().
bool MeshCore::MeshFacetIterator::EndReached | ( | ) | const |
Checks if the end is already reached.
Referenced by MeshCore::MeshEvalDegeneratedFacets::CountEdgeTooSmall(), and More().
MeshFacet MeshCore::MeshFacetIterator::GetIndices | ( | ) | const |
Returns the topologic facet.
Referenced by MeshCore::MeshOutput::SaveNastran(), and MeshCore::MeshOutput::SaveVRML().
void MeshCore::MeshFacetIterator::GetNeighbours | ( | MeshFacetIterator & | rclN0, |
MeshFacetIterator & | rclN1, | ||
MeshFacetIterator & | rclN2 | ||
) | const |
Returns iterators pointing to the current facet's neighbours.
References End(), MeshCore::FACET_INDEX_MAX, and Set().
unsigned long MeshCore::MeshFacetIterator::GetProperty | ( | ) | const |
Returns the property information to the current facet.
const MeshFacet & MeshCore::MeshFacetIterator::GetReference | ( | ) | const |
Returns the topologic facet.
Referenced by MeshCore::MeshFixDeformedFacets::Fixup(), and MeshCore::MeshFixCorruptedFacets::Fixup().
void MeshCore::MeshFacetIterator::Init | ( | ) |
Sets the iterator to the beginning of the array.
References Begin().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshTrimming::CheckFacets(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshPart::CurveProjectorShape::findStartPoint(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshAlgorithm::GetMaximumEdgeLength(), MeshCore::MeshAlgorithm::GetMinimumEdgeLength(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), Mesh::MeshObject::offsetSpecial2(), MeshPart::MeshAlgos::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), MeshCore::MeshFacetGrid::RebuildGrid(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshOutput::SaveVRML(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), and MeshCore::MeshAlgorithm::Surround().
bool MeshCore::MeshFacetIterator::IsFlag | ( | MeshFacet::TFlagType | tF | ) | const |
bool MeshCore::MeshFacetIterator::IsValid | ( | ) | const |
Checks if the iterator points to a valid element inside the array.
bool MeshCore::MeshFacetIterator::More | ( | void | ) | const |
Checks if the end is not yet reached.
References EndReached().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshTrimming::CheckFacets(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshPart::CurveProjectorShape::findStartPoint(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshIntersection::getIntersection(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), MeshCore::MeshAlgorithm::GetMaximumEdgeLength(), MeshCore::MeshAlgorithm::GetMinimumEdgeLength(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), Mesh::MeshObject::offsetSpecial2(), MeshPart::MeshAlgos::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), MeshCore::MeshFacetGrid::RebuildGrid(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshOutput::SaveVRML(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), and MeshCore::MeshAlgorithm::Surround().
void MeshCore::MeshFacetIterator::Next | ( | void | ) |
Increments the iterator.
References operator++().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshTrimming::CheckFacets(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshPart::CurveProjectorShape::findStartPoint(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshIntersection::getIntersection(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), MeshCore::MeshAlgorithm::GetMaximumEdgeLength(), MeshCore::MeshAlgorithm::GetMinimumEdgeLength(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), Mesh::MeshObject::offsetSpecial2(), MeshPart::MeshAlgos::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), MeshCore::MeshFacetGrid::RebuildGrid(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshOutput::SaveVRML(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), and MeshCore::MeshAlgorithm::Surround().
const MeshGeomFacet & MeshCore::MeshFacetIterator::operator* | ( | ) |
Access to the element the iterator points to.
References Dereference().
const MeshFacetIterator & MeshCore::MeshFacetIterator::operator++ | ( | ) |
Increments the iterator.
It points then to the next element if the end is not reached.
Referenced by Next().
const MeshFacetIterator & MeshCore::MeshFacetIterator::operator+= | ( | int | k | ) |
Increments the iterator by k positions.
const MeshFacetIterator & MeshCore::MeshFacetIterator::operator-- | ( | ) |
Decrements the iterator.
It points then to the previous element if the beginning is not reached.
const MeshFacetIterator & MeshCore::MeshFacetIterator::operator-= | ( | int | k | ) |
Decrements the iterator by k positions.
const MeshGeomFacet * MeshCore::MeshFacetIterator::operator-> | ( | ) |
Access to the element the iterator points to.
References Dereference().
bool MeshCore::MeshFacetIterator::operator< | ( | const MeshFacetIterator & | rclI | ) | const |
Compares if this iterator points to a lower element than the other one.
MeshFacetIterator & MeshCore::MeshFacetIterator::operator= | ( | const MeshFacetIterator & | rpI | ) |
Assignment.
bool MeshCore::MeshFacetIterator::operator== | ( | const MeshFacetIterator & | rclI | ) | const |
Checks if the iterators points to the same element.
bool MeshCore::MeshFacetIterator::operator> | ( | const MeshFacetIterator & | rclI | ) | const |
Compares if this iterator points to a higher element than the other one.
FacetIndex MeshCore::MeshFacetIterator::Position | ( | ) | const |
Returns the current position of the iterator in the array.
Referenced by MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshTrimming::CheckFacets(), MeshCore::MeshKernel::DeleteFacet(), MeshPart::CurveProjectorShape::findStartPoint(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), Mesh::MeshObject::offsetSpecial2(), MeshPart::MeshAlgos::offsetSpecial2(), and MeshPart::CurveProjectorSimple::projectCurve().
void MeshCore::MeshFacetIterator::ResetFlag | ( | MeshFacet::TFlagType | tF | ) | const |
bool MeshCore::MeshFacetIterator::Set | ( | FacetIndex | ulIndex | ) |
Sets the iterator to a given position.
Referenced by MeshCore::MeshKernel::DeleteFacet(), MeshCore::MeshEvalSelfIntersection::Evaluate(), Mesh::SegmentByMesh::execute(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshIntersection::getIntersection(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), GetNeighbours(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshFaceIterator::operator()(), MeshPart::MeshProjection::projectEdgeToEdge(), Mesh::MeshObject::refine(), MeshGui::ViewProviderMeshOrientation::showDefects(), MeshGui::ViewProviderMeshDuplicatedFaces::showDefects(), MeshGui::ViewProviderMeshDegenerations::showDefects(), MeshGui::ViewProviderMeshIndices::showDefects(), MeshGui::ViewProviderMeshFolds::showDefects(), Mesh::MeshObject::splitEdges(), and MeshCore::MeshFacetGrid::Verify().
void MeshCore::MeshFacetIterator::SetFlag | ( | MeshFacet::TFlagType | tF | ) | const |
void MeshCore::MeshFacetIterator::SetProperty | ( | unsigned long | uP | ) | const |
void MeshCore::MeshFacetIterator::SetToNeighbour | ( | unsigned short | usN | ) |
Sets the iterator to the current facet's neighbour of the side usN.
References End(), and MeshCore::FACET_INDEX_MAX.
void MeshCore::MeshFacetIterator::Transform | ( | const Base::Matrix4D & | rclTrf | ) |
Transforms the returned facet points with the current transformation.
Referenced by Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshOutput::SavePython(), and MeshCore::MeshOutput::SaveVRML().
|
friend |