MeshCore::MeshFacetIterator Class Reference

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 MeshGeomFacetoperator* ()
 Access to the element the iterator points to. More...
 
const MeshGeomFacetoperator-> ()
 Access to the element the iterator points to. More...
 
const MeshFacetIteratoroperator++ ()
 Increments the iterator. More...
 
const MeshFacetIteratoroperator-- ()
 Decrements the iterator. More...
 
const MeshFacetIteratoroperator+= (int k)
 Increments the iterator by k positions. More...
 
const MeshFacetIteratoroperator-= (int k)
 Decrements the iterator by k positions. More...
 
MeshFacetIteratoroperator= (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 MeshFacetGetReference () 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 MeshGeomFacetDereference ()
 

Detailed Description

The MeshFacetIterator allows to iterate over the facets that hold the topology of the mesh and provides access to their geometric information.

Note
This class is not thread-safe.

Constructor & Destructor Documentation

◆ MeshFacetIterator() [1/3]

MeshCore::MeshFacetIterator::MeshFacetIterator ( const MeshKernel rclM)

construction

◆ MeshFacetIterator() [2/3]

MeshCore::MeshFacetIterator::MeshFacetIterator ( const MeshKernel rclM,
FacetIndex  ulPos 
)

construction

◆ MeshFacetIterator() [3/3]

MeshCore::MeshFacetIterator::MeshFacetIterator ( const MeshFacetIterator rclI)

construction

Member Function Documentation

◆ Begin()

◆ Dereference()

const MeshGeomFacet & MeshCore::MeshFacetIterator::Dereference ( )
protected

Referenced by operator*(), and operator->().

◆ End()

◆ EndReached()

bool MeshCore::MeshFacetIterator::EndReached ( ) const

Checks if the end is already reached.

Referenced by MeshCore::MeshEvalDegeneratedFacets::CountEdgeTooSmall(), and More().

◆ GetIndices()

MeshFacet MeshCore::MeshFacetIterator::GetIndices ( ) const

Returns the topologic facet.

Referenced by MeshCore::MeshOutput::SaveNastran(), and MeshCore::MeshOutput::SaveVRML().

◆ GetNeighbours()

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().

◆ GetProperty()

unsigned long MeshCore::MeshFacetIterator::GetProperty ( ) const

Returns the property information to the current facet.

◆ GetReference()

const MeshFacet & MeshCore::MeshFacetIterator::GetReference ( ) const

◆ Init()

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().

◆ IsFlag()

bool MeshCore::MeshFacetIterator::IsFlag ( MeshFacet::TFlagType  tF) const

◆ IsValid()

bool MeshCore::MeshFacetIterator::IsValid ( ) const

Checks if the iterator points to a valid element inside the array.

◆ More()

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().

◆ Next()

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().

◆ operator*()

const MeshGeomFacet & MeshCore::MeshFacetIterator::operator* ( )

Access to the element the iterator points to.

References Dereference().

◆ operator++()

const MeshFacetIterator & MeshCore::MeshFacetIterator::operator++ ( )

Increments the iterator.

It points then to the next element if the end is not reached.

Referenced by Next().

◆ operator+=()

const MeshFacetIterator & MeshCore::MeshFacetIterator::operator+= ( int  k)

Increments the iterator by k positions.

◆ operator--()

const MeshFacetIterator & MeshCore::MeshFacetIterator::operator-- ( )

Decrements the iterator.

It points then to the previous element if the beginning is not reached.

◆ operator-=()

const MeshFacetIterator & MeshCore::MeshFacetIterator::operator-= ( int  k)

Decrements the iterator by k positions.

◆ operator->()

const MeshGeomFacet * MeshCore::MeshFacetIterator::operator-> ( )

Access to the element the iterator points to.

References Dereference().

◆ operator<()

bool MeshCore::MeshFacetIterator::operator< ( const MeshFacetIterator rclI) const

Compares if this iterator points to a lower element than the other one.

◆ operator=()

MeshFacetIterator & MeshCore::MeshFacetIterator::operator= ( const MeshFacetIterator rpI)

Assignment.

◆ operator==()

bool MeshCore::MeshFacetIterator::operator== ( const MeshFacetIterator rclI) const

Checks if the iterators points to the same element.

◆ operator>()

bool MeshCore::MeshFacetIterator::operator> ( const MeshFacetIterator rclI) const

Compares if this iterator points to a higher element than the other one.

◆ Position()

◆ ResetFlag()

void MeshCore::MeshFacetIterator::ResetFlag ( MeshFacet::TFlagType  tF) const

◆ Set()

◆ SetFlag()

void MeshCore::MeshFacetIterator::SetFlag ( MeshFacet::TFlagType  tF) const

◆ SetProperty()

void MeshCore::MeshFacetIterator::SetProperty ( unsigned long  uP) const

◆ SetToNeighbour()

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.

◆ Transform()

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().

Friends And Related Function Documentation

◆ MeshKernel

friend class MeshKernel
friend

The documentation for this class was generated from the following file: