Open CASCADE Technology Reference Manual 8.0.0.dev-68d3dc89
 
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Loading...
Searching...
No Matches
RWMesh_ShapeIterator Class Referenceabstract

This is a virtual base class for other shape iterators. Provides an abstract interface for iterating over the elements of a shape. It defines a set of pure virtual methods that must be implemented by derived classes to handle specific types of shapes and their elements. More...

#include <RWMesh_ShapeIterator.hxx>

Inheritance diagram for RWMesh_ShapeIterator:

Public Member Functions

const TopoDS_ShapeExploredShape () const
 Return explored shape.
 
virtual const TopoDS_ShapeShape () const =0
 Return shape.
 
virtual bool More () const =0
 Return true if iterator points to the valid triangulation.
 
virtual void Next ()=0
 Find next value.
 
virtual bool IsEmpty () const =0
 Return true if mesh data is defined.
 
const XCAFPrs_StyleStyle () const
 Return shape material.
 
bool HasColor () const
 Return TRUE if shape color is set.
 
const Quantity_ColorRGBAColor () const
 Return shape color.
 
virtual Standard_Integer ElemLower () const =0
 Lower element index in current triangulation.
 
virtual Standard_Integer ElemUpper () const =0
 Upper element index in current triangulation.
 
virtual Standard_Integer NbNodes () const =0
 Return number of nodes for the current shape.
 
virtual Standard_Integer NodeLower () const =0
 Lower node index in current shape.
 
virtual Standard_Integer NodeUpper () const =0
 Upper node index in current shape.
 
gp_Pnt NodeTransformed (const Standard_Integer theNode) const
 Return the node with specified index with applied transformation.
 

Protected Member Functions

virtual gp_Pnt node (const Standard_Integer theNode) const =0
 Return the node with specified index with applied transformation.
 
 RWMesh_ShapeIterator (const TDF_Label &theLabel, const TopLoc_Location &theLocation, const TopAbs_ShapeEnum theShapeTypeFind, const TopAbs_ShapeEnum theShapeTypeAvoid, const Standard_Boolean theToMapColors=false, const XCAFPrs_Style &theStyle=XCAFPrs_Style())
 Main constructor.
 
 RWMesh_ShapeIterator (const TopoDS_Shape &theShape, const TopAbs_ShapeEnum theShapeTypeFind, const TopAbs_ShapeEnum theShapeTypeAvoid, const XCAFPrs_Style &theStyle=XCAFPrs_Style())
 Auxiliary constructor.
 
void dispatchStyles (const TDF_Label &theLabel, const TopLoc_Location &theLocation, const XCAFPrs_Style &theStyle)
 Dispatch shape styles.
 
void resetShape ()
 Reset information for current shape.
 
void initShape ()
 Initialize shape properties.
 

Protected Attributes

NCollection_DataMap< TopoDS_Shape, XCAFPrs_Style, TopTools_ShapeMapHashermyStyles
 Shape -> Style map.
 
XCAFPrs_Style myDefStyle
 default style for shapes without dedicated style
 
Standard_Boolean myToMapColors
 flag to dispatch styles
 
TopExp_Explorer myIter
 shape explorer
 
TopLoc_Location myLocation
 current shape location
 
gp_Trsf myTrsf
 current shape transformation
 
XCAFPrs_Style myStyle
 current shape style
 
Quantity_ColorRGBA myColor
 current shape color
 
TopAbs_ShapeEnum myShapeType
 type of shape
 
Standard_Boolean myHasColor
 flag indicating that current shape has assigned color
 

Detailed Description

This is a virtual base class for other shape iterators. Provides an abstract interface for iterating over the elements of a shape. It defines a set of pure virtual methods that must be implemented by derived classes to handle specific types of shapes and their elements.

Constructor & Destructor Documentation

◆ RWMesh_ShapeIterator() [1/2]

RWMesh_ShapeIterator::RWMesh_ShapeIterator ( const TDF_Label & theLabel,
const TopLoc_Location & theLocation,
const TopAbs_ShapeEnum theShapeTypeFind,
const TopAbs_ShapeEnum theShapeTypeAvoid,
const Standard_Boolean theToMapColors = false,
const XCAFPrs_Style & theStyle = XCAFPrs_Style() )
protected

Main constructor.

◆ RWMesh_ShapeIterator() [2/2]

RWMesh_ShapeIterator::RWMesh_ShapeIterator ( const TopoDS_Shape & theShape,
const TopAbs_ShapeEnum theShapeTypeFind,
const TopAbs_ShapeEnum theShapeTypeAvoid,
const XCAFPrs_Style & theStyle = XCAFPrs_Style() )
protected

Auxiliary constructor.

Member Function Documentation

◆ Color()

const Quantity_ColorRGBA & RWMesh_ShapeIterator::Color ( ) const
inline

Return shape color.

◆ dispatchStyles()

void RWMesh_ShapeIterator::dispatchStyles ( const TDF_Label & theLabel,
const TopLoc_Location & theLocation,
const XCAFPrs_Style & theStyle )
protected

Dispatch shape styles.

◆ ElemLower()

virtual Standard_Integer RWMesh_ShapeIterator::ElemLower ( ) const
pure virtual

Lower element index in current triangulation.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ ElemUpper()

virtual Standard_Integer RWMesh_ShapeIterator::ElemUpper ( ) const
pure virtual

Upper element index in current triangulation.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ ExploredShape()

const TopoDS_Shape & RWMesh_ShapeIterator::ExploredShape ( ) const
inline

Return explored shape.

◆ HasColor()

bool RWMesh_ShapeIterator::HasColor ( ) const
inline

Return TRUE if shape color is set.

◆ initShape()

void RWMesh_ShapeIterator::initShape ( )
protected

Initialize shape properties.

◆ IsEmpty()

virtual bool RWMesh_ShapeIterator::IsEmpty ( ) const
pure virtual

Return true if mesh data is defined.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ More()

virtual bool RWMesh_ShapeIterator::More ( ) const
pure virtual

Return true if iterator points to the valid triangulation.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ NbNodes()

virtual Standard_Integer RWMesh_ShapeIterator::NbNodes ( ) const
pure virtual

Return number of nodes for the current shape.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ Next()

virtual void RWMesh_ShapeIterator::Next ( )
pure virtual

Find next value.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ node()

virtual gp_Pnt RWMesh_ShapeIterator::node ( const Standard_Integer theNode) const
protectedpure virtual

Return the node with specified index with applied transformation.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ NodeLower()

virtual Standard_Integer RWMesh_ShapeIterator::NodeLower ( ) const
pure virtual

Lower node index in current shape.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ NodeTransformed()

gp_Pnt RWMesh_ShapeIterator::NodeTransformed ( const Standard_Integer theNode) const
inline

Return the node with specified index with applied transformation.

◆ NodeUpper()

virtual Standard_Integer RWMesh_ShapeIterator::NodeUpper ( ) const
pure virtual

Upper node index in current shape.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ resetShape()

void RWMesh_ShapeIterator::resetShape ( )
inlineprotected

Reset information for current shape.

◆ Shape()

virtual const TopoDS_Shape & RWMesh_ShapeIterator::Shape ( ) const
pure virtual

Return shape.

Implemented in RWMesh_EdgeIterator, RWMesh_FaceIterator, and RWMesh_VertexIterator.

◆ Style()

const XCAFPrs_Style & RWMesh_ShapeIterator::Style ( ) const
inline

Return shape material.

Field Documentation

◆ myColor

Quantity_ColorRGBA RWMesh_ShapeIterator::myColor
protected

current shape color

◆ myDefStyle

XCAFPrs_Style RWMesh_ShapeIterator::myDefStyle
protected

default style for shapes without dedicated style

◆ myHasColor

Standard_Boolean RWMesh_ShapeIterator::myHasColor
protected

flag indicating that current shape has assigned color

◆ myIter

TopExp_Explorer RWMesh_ShapeIterator::myIter
protected

shape explorer

◆ myLocation

TopLoc_Location RWMesh_ShapeIterator::myLocation
protected

current shape location

◆ myShapeType

TopAbs_ShapeEnum RWMesh_ShapeIterator::myShapeType
protected

type of shape

◆ myStyle

XCAFPrs_Style RWMesh_ShapeIterator::myStyle
protected

current shape style

◆ myStyles

NCollection_DataMap<TopoDS_Shape, XCAFPrs_Style, TopTools_ShapeMapHasher> RWMesh_ShapeIterator::myStyles
protected

Shape -> Style map.

◆ myToMapColors

Standard_Boolean RWMesh_ShapeIterator::myToMapColors
protected

flag to dispatch styles

◆ myTrsf

gp_Trsf RWMesh_ShapeIterator::myTrsf
protected

current shape transformation


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