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>

List of all members.

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

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

void MeshCore::MeshFacetIterator::Begin ( void   )  [inline]
const MeshGeomFacet & MeshCore::MeshFacetIterator::Dereference ( void   )  [inline, protected]
void MeshCore::MeshFacetIterator::End ( void   )  [inline]
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.

References _clIter, End(), and Set().

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]
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.

References _clIter, and _rclFAry.

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]

Assignment.

Definition at line 379 of file Iterator.h.

References _bApply, _clIter, _clTrf, and _rclMesh.

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]
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]
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.

References _clIter, _rclFAry, and End().

void MeshCore::MeshFacetIterator::Transform ( const Base::Matrix4D rclTrf  )  [inline]

Friends And Related Function Documentation

friend class MeshKernel [friend]

Definition at line 164 of file Iterator.h.


Member Data Documentation

Definition at line 160 of file Iterator.h.

Referenced by Dereference(), operator=(), and Transform().

Definition at line 159 of file Iterator.h.

Referenced by Dereference().

Definition at line 161 of file Iterator.h.

Referenced by Dereference(), operator=(), and Transform().

Definition at line 156 of file Iterator.h.

Referenced by Begin(), End(), EndReached(), IsValid(), Position(), Set(), and SetToNeighbour().

Definition at line 155 of file Iterator.h.

Referenced by operator=().

Definition at line 157 of file Iterator.h.

Referenced by Dereference().


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

Generated on Wed Nov 23 19:02:24 2011 for FreeCAD by  doxygen 1.6.1