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 | |
Access methods | |
void | Begin (void) |
Sets the iterator to the beginning of the array. | |
void | End (void) |
Sets the iterator to the end of the array. | |
bool | EndReached (void) const |
Checks if the end is already reached. | |
MeshFacet | GetIndices (void) const |
Returns the topologic facet. | |
void | GetNeighbours (MeshFacetIterator &rclN0, MeshFacetIterator &rclN1, MeshFacetIterator &rclN2) const |
Returns iterators pointing to the current facet's neighbours. | |
unsigned long | GetProperty (void) const |
Retruns the property information to the current facet. | |
const MeshFacet & | GetReference (void) const |
Returns the topologic facet. | |
void | Init (void) |
Sets the iterator to the beginning of the array. | |
bool | IsValid (void) const |
Checks if the iterator points to a valid element inside the array. | |
bool | More (void) const |
Checks if the end is not yet reached. | |
void | Next (void) |
Increments the iterator. | |
const MeshGeomFacet & | operator* (void) |
Access to the element the iterator points to. | |
const MeshFacetIterator & | operator++ (void) |
Increments the iterator. | |
const MeshFacetIterator & | operator+= (int k) |
Increments the iterator by k positions. | |
const MeshFacetIterator & | operator-- (void) |
Decrements the iterator. | |
const MeshFacetIterator & | operator-= (int k) |
Decrements the iterator by k positions. | |
const MeshGeomFacet * | operator-> (void) |
Access to the element the iterator points to. | |
bool | operator< (const MeshFacetIterator &rclI) const |
Compares if this iterator points to a lower element than the other one. | |
MeshFacetIterator & | operator= (const MeshFacetIterator &rpI) |
Assignment. | |
bool | operator== (const MeshFacetIterator &rclI) const |
Checks if the iterators points to the same element. | |
bool | operator> (const MeshFacetIterator &rclI) const |
Compares if this iterator points to a higher element than the other one. | |
unsigned long | Position (void) const |
Returns the current position of the iterator in the array. | |
bool | Set (unsigned long ulIndex) |
Sets the iterator to a given position. | |
void | SetToNeighbour (unsigned short usN) |
Sets the iterator to the current facet's neighbour of the side usN. | |
Flag state | |
bool | IsFlag (MeshFacet::TFlagType tF) const |
void | ResetFlag (MeshFacet::TFlagType tF) const |
void | SetFlag (MeshFacet::TFlagType tF) const |
void | SetProperty (unsigned long uP) const |
Construction | |
MeshFacetIterator (const MeshFacetIterator &rclI) | |
construction | |
MeshFacetIterator (const MeshKernel &rclM, unsigned long ulPos) | |
construction | |
MeshFacetIterator (const MeshKernel &rclM) | |
construction | |
Transformation | |
void | Transform (const Base::Matrix4D &rclTrf) |
Transforms the returned facet points with the current tranformation. | |
Protected Member Functions | |
const MeshGeomFacet & | Dereference (void) |
Protected Attributes | |
bool | _bApply |
MeshGeomFacet | _clFacet |
MeshFacetArray::_TConstIterator | _clIter |
Base::Matrix4D | _clTrf |
const MeshFacetArray & | _rclFAry |
const MeshKernel & | _rclMesh |
const MeshPointArray & | _rclPAry |
Friends | |
class | MeshKernel |
The MeshFacetIterator allows to iterate over the facets that hold the topology of the mesh and provides access to their geometric information.
Definition at line 47 of file Iterator.h.
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshKernel & | rclM | ) | [inline] |
construction
Definition at line 309 of file Iterator.h.
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshKernel & | rclM, | |
unsigned long | ulPos | |||
) | [inline] |
construction
Definition at line 318 of file Iterator.h.
MeshCore::MeshFacetIterator::MeshFacetIterator | ( | const MeshFacetIterator & | rclI | ) | [inline] |
construction
Definition at line 327 of file Iterator.h.
void MeshCore::MeshFacetIterator::Begin | ( | void | ) | [inline] |
Sets the iterator to the beginning of the array.
Definition at line 100 of file Iterator.h.
References _clIter, and _rclFAry.
Referenced by MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshCore::MeshKernel::FacetIterator(), Mesh::MeshPy::foraminate(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), and Init().
const MeshGeomFacet & MeshCore::MeshFacetIterator::Dereference | ( | void | ) | [inline, protected] |
Definition at line 345 of file Iterator.h.
References MeshCore::MeshGeomFacet::_aclPoints, _bApply, _clFacet, _clIter, _clTrf, _rclPAry, MeshCore::MeshFacet::_ucFlag, MeshCore::MeshGeomFacet::_ucFlag, MeshCore::MeshFacet::_ulProp, MeshCore::MeshGeomFacet::_ulProp, and MeshCore::MeshGeomFacet::NormalInvalid().
Referenced by operator*(), and operator->().
void MeshCore::MeshFacetIterator::End | ( | void | ) | [inline] |
Sets the iterator to the end of the array.
Definition at line 103 of file Iterator.h.
References _clIter, and _rclFAry.
Referenced by MeshCore::MeshKernel::DeletePoint(), MeshCore::MeshInfo::DetailedFacetInfo(), GetNeighbours(), MeshCore::MeshOutput::SaveAsciiSTL(), MeshCore::MeshOutput::SaveBinarySTL(), MeshCore::MeshOutput::SaveInventor(), and SetToNeighbour().
bool MeshCore::MeshFacetIterator::EndReached | ( | void | ) | const [inline] |
Checks if the end is already reached.
Definition at line 109 of file Iterator.h.
References _clIter, and _rclFAry.
Referenced by MeshCore::MeshEvalDegeneratedFacets::CountEdgeTooSmall(), and More().
MeshFacet MeshCore::MeshFacetIterator::GetIndices | ( | void | ) | const [inline] |
Returns the topologic facet.
Definition at line 123 of file Iterator.h.
References _clIter.
Referenced by MeshVRML::Save(), and MeshCore::MeshOutput::SaveNastran().
void MeshCore::MeshFacetIterator::GetNeighbours | ( | MeshFacetIterator & | rclN0, | |
MeshFacetIterator & | rclN1, | |||
MeshFacetIterator & | rclN2 | |||
) | const [inline] |
Returns iterators pointing to the current facet's neighbours.
Definition at line 394 of file Iterator.h.
unsigned long MeshCore::MeshFacetIterator::GetProperty | ( | void | ) | const [inline] |
Retruns the property information to the current facet.
Definition at line 389 of file Iterator.h.
References _clIter.
const MeshFacet& MeshCore::MeshFacetIterator::GetReference | ( | void | ) | const [inline] |
Returns the topologic facet.
Definition at line 126 of file Iterator.h.
References _clIter.
Referenced by MeshCore::MeshFixDeformedFacets::Fixup().
void MeshCore::MeshFacetIterator::Init | ( | void | ) | [inline] |
Sets the iterator to the beginning of the array.
Definition at line 112 of file Iterator.h.
References Begin().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshPart::CurveProjectorShape::findStartPoint(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshFacetGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshVRML::Save(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), and MeshCore::MeshAlgorithm::Surround().
bool MeshCore::MeshFacetIterator::IsFlag | ( | MeshFacet::TFlagType | tF | ) | const [inline] |
Definition at line 145 of file Iterator.h.
References _clIter.
Referenced by MeshPart::MeshAlgos::offsetSpecial2(), and Mesh::MeshObject::offsetSpecial2().
bool MeshCore::MeshFacetIterator::IsValid | ( | void | ) | const [inline] |
Checks if the iterator points to a valid element inside the array.
Definition at line 135 of file Iterator.h.
bool MeshCore::MeshFacetIterator::More | ( | void | ) | const [inline] |
Checks if the end is not yet reached.
Definition at line 115 of file Iterator.h.
References EndReached().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshPart::CurveProjectorShape::findStartPoint(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixDegeneratedFacets::Fixup(), Mesh::MeshPy::foraminate(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshFacetGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshVRML::Save(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), MeshCore::MeshAlgorithm::Surround(), and useMesh().
void MeshCore::MeshFacetIterator::Next | ( | void | ) | [inline] |
Increments the iterator.
Definition at line 118 of file Iterator.h.
References operator++().
Referenced by MeshGui::ViewProviderMeshTransformDemolding::calcNormalVector(), MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshEvalSelfIntersection::Evaluate(), MeshCore::MeshEvalDeformedFacets::Evaluate(), MeshCore::MeshEvalDegeneratedFacets::Evaluate(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshPart::CurveProjectorShape::findStartPoint(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixDegeneratedFacets::Fixup(), Mesh::MeshPy::foraminate(), MeshCore::MeshAlgorithm::GetAverageEdgeLength(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshKernel::GetVolume(), MeshPart::CurveProjectorWithToolMesh::makeToolMesh(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), MeshPart::CurveProjectorSimple::projectCurve(), Inspection::MeshInspectGrid::RebuildGrid(), MeshCore::MeshFacetGrid::RebuildGrid(), MeshCore::MeshSearchNeighbours::SampleAllFacets(), MeshVRML::Save(), MeshCore::MeshOutput::SaveNastran(), MeshCore::MeshOutput::SavePython(), MeshCore::MeshAlgorithm::SubSampleByDist(), MeshCore::MeshAlgorithm::Surface(), and MeshCore::MeshAlgorithm::Surround().
const MeshGeomFacet& MeshCore::MeshFacetIterator::operator* | ( | void | ) | [inline] |
Access to the element the iterator points to.
Definition at line 69 of file Iterator.h.
References Dereference().
const MeshFacetIterator& MeshCore::MeshFacetIterator::operator++ | ( | void | ) | [inline] |
Increments the iterator.
It points then to the next element if the end is not reached.
Definition at line 76 of file Iterator.h.
References _clIter.
Referenced by Next().
const MeshFacetIterator& MeshCore::MeshFacetIterator::operator+= | ( | int | k | ) | [inline] |
Increments the iterator by k positions.
Definition at line 83 of file Iterator.h.
References _clIter.
const MeshFacetIterator& MeshCore::MeshFacetIterator::operator-- | ( | void | ) | [inline] |
Decrements the iterator.
It points then to the previous element if the beginning is not reached.
Definition at line 80 of file Iterator.h.
References _clIter.
const MeshFacetIterator& MeshCore::MeshFacetIterator::operator-= | ( | int | k | ) | [inline] |
Decrements the iterator by k positions.
Definition at line 86 of file Iterator.h.
References _clIter.
const MeshGeomFacet* MeshCore::MeshFacetIterator::operator-> | ( | void | ) | [inline] |
Access to the element the iterator points to.
Definition at line 72 of file Iterator.h.
References Dereference().
bool MeshCore::MeshFacetIterator::operator< | ( | const MeshFacetIterator & | rclI | ) | const [inline] |
Compares if this iterator points to a lower element than the other one.
Definition at line 91 of file Iterator.h.
References _clIter.
MeshFacetIterator & MeshCore::MeshFacetIterator::operator= | ( | const MeshFacetIterator & | rpI | ) | [inline] |
bool MeshCore::MeshFacetIterator::operator== | ( | const MeshFacetIterator & | rclI | ) | const [inline] |
Checks if the iterators points to the same element.
Definition at line 97 of file Iterator.h.
References _clIter.
bool MeshCore::MeshFacetIterator::operator> | ( | const MeshFacetIterator & | rclI | ) | const [inline] |
Compares if this iterator points to a higher element than the other one.
Definition at line 94 of file Iterator.h.
References _clIter.
unsigned long MeshCore::MeshFacetIterator::Position | ( | void | ) | const [inline] |
Returns the current position of the iterator in the array.
Definition at line 106 of file Iterator.h.
References _clIter, and _rclFAry.
Referenced by MeshCore::MeshAlgorithm::CheckFacets(), MeshCore::MeshKernel::DeleteFacet(), MeshPart::CurveProjectorSimple::findStartPoint(), MeshPart::CurveProjectorShape::findStartPoint(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshFixDeformedFacets::Fixup(), MeshCore::MeshFixDegeneratedFacets::Fixup(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalDeformedFacets::GetIndices(), MeshCore::MeshEvalDegeneratedFacets::GetIndices(), MeshCore::MeshAlgorithm::NearestFacetOnRay(), MeshCore::MeshAlgorithm::NearestPointFromPoint(), MeshPart::MeshAlgos::offsetSpecial2(), Mesh::MeshObject::offsetSpecial2(), and MeshPart::CurveProjectorSimple::projectCurve().
void MeshCore::MeshFacetIterator::ResetFlag | ( | MeshFacet::TFlagType | tF | ) | const [inline] |
Definition at line 143 of file Iterator.h.
References _clIter.
bool MeshCore::MeshFacetIterator::Set | ( | unsigned long | ulIndex | ) | [inline] |
Sets the iterator to a given position.
Definition at line 365 of file Iterator.h.
References _clIter, and _rclFAry.
Referenced by Mesh::Segment::const_facet_iterator::const_facet_iterator(), Mesh::MeshObject::const_facet_iterator::const_facet_iterator(), MeshCore::MeshKernel::DeleteFacet(), MeshCore::MeshEvalSelfIntersection::Evaluate(), Mesh::SegmentByMesh::execute(), MeshCore::MeshFixCorruptedFacets::Fixup(), MeshCore::MeshFixDegeneratedFacets::Fixup(), Inspection::InspectNominalFastMesh::getDistance(), Inspection::InspectNominalMesh::getDistance(), MeshCore::MeshAlgorithm::GetFacetsFromToolMesh(), MeshCore::MeshEvalSelfIntersection::GetIntersections(), GetNeighbours(), MeshCore::MeshKernel::GetSurface(), MeshCore::MeshFaceIterator::operator()(), Mesh::MeshObject::refine(), MeshGui::ViewProviderMeshFolds::showDefects(), MeshGui::ViewProviderMeshIndices::showDefects(), MeshGui::ViewProviderMeshDegenerations::showDefects(), MeshGui::ViewProviderMeshDuplicatedFaces::showDefects(), MeshGui::ViewProviderMeshOrientation::showDefects(), Mesh::MeshObject::splitEdges(), and MeshCore::MeshFacetGrid::Verify().
void MeshCore::MeshFacetIterator::SetFlag | ( | MeshFacet::TFlagType | tF | ) | const [inline] |
Definition at line 141 of file Iterator.h.
References _clIter.
void MeshCore::MeshFacetIterator::SetProperty | ( | unsigned long | uP | ) | const [inline] |
Definition at line 147 of file Iterator.h.
References _clIter.
void MeshCore::MeshFacetIterator::SetToNeighbour | ( | unsigned short | usN | ) | [inline] |
Sets the iterator to the current facet's neighbour of the side usN.
Definition at line 412 of file Iterator.h.
void MeshCore::MeshFacetIterator::Transform | ( | const Base::Matrix4D & | rclTrf | ) | [inline] |
Transforms the returned facet points with the current tranformation.
Definition at line 337 of file Iterator.h.
References _bApply, and _clTrf.
Referenced by Mesh::Segment::const_facet_iterator::const_facet_iterator(), Mesh::MeshObject::const_facet_iterator::const_facet_iterator(), Inspection::InspectNominalFastMesh::InspectNominalFastMesh(), Inspection::InspectNominalMesh::InspectNominalMesh(), Inspection::MeshInspectGrid::RebuildGrid(), MeshVRML::Save(), and MeshCore::MeshOutput::SavePython().
friend class MeshKernel [friend] |
Definition at line 164 of file Iterator.h.
bool MeshCore::MeshFacetIterator::_bApply [protected] |
Definition at line 160 of file Iterator.h.
Referenced by Dereference(), operator=(), and Transform().
MeshGeomFacet MeshCore::MeshFacetIterator::_clFacet [protected] |
Definition at line 159 of file Iterator.h.
Referenced by Dereference().
Definition at line 158 of file Iterator.h.
Referenced by Begin(), MeshCore::MeshKernel::DeleteFacet(), Dereference(), End(), EndReached(), GetIndices(), GetNeighbours(), GetProperty(), GetReference(), IsFlag(), IsValid(), operator++(), operator+=(), operator--(), operator-=(), operator<(), operator=(), operator==(), operator>(), Position(), ResetFlag(), Set(), SetFlag(), SetProperty(), and SetToNeighbour().
Base::Matrix4D MeshCore::MeshFacetIterator::_clTrf [protected] |
Definition at line 161 of file Iterator.h.
Referenced by Dereference(), operator=(), and Transform().
const MeshFacetArray& MeshCore::MeshFacetIterator::_rclFAry [protected] |
Definition at line 156 of file Iterator.h.
Referenced by Begin(), End(), EndReached(), IsValid(), Position(), Set(), and SetToNeighbour().
const MeshKernel& MeshCore::MeshFacetIterator::_rclMesh [protected] |
Definition at line 155 of file Iterator.h.
Referenced by operator=().
const MeshPointArray& MeshCore::MeshFacetIterator::_rclPAry [protected] |
Definition at line 157 of file Iterator.h.
Referenced by Dereference().