Open CASCADE Technology 7.8.2.dev
XCAFPrs_DocumentExplorer Class Reference

Document iterator through shape nodes. More...

#include <XCAFPrs_DocumentExplorer.hxx>

string identification tools

Handle< XCAFDoc_ColorToolmyColorTool
 color tool
 
Handle< XCAFDoc_VisMaterialToolmyVisMatTool
 visual material tool
 
TDF_LabelSequence myRoots
 sequence of root labels
 
TDF_LabelSequence::Iterator myRootIter
 current root label
 
NCollection_Vector< XCAFPrs_DocumentNodemyNodeStack
 node stack
 
Standard_Integer myTop
 top position in the node stack
 
Standard_Boolean myHasMore
 global flag indicating that iterator points to the label
 
XCAFPrs_Style myDefStyle
 default style
 
XCAFPrs_DocumentNode myCurrent
 current label info
 
XCAFPrs_DocumentExplorerFlags myFlags
 iteration flags
 
static TCollection_AsciiString DefineChildId (const TDF_Label &theLabel, const TCollection_AsciiString &theParentId)
 Construct a unique string identifier for the given label. The identifier is a concatenation of label entries (TDF_Tool::Entry() with tailing '.') of hierarchy from parent to child joined via '/' and looking like this:
 
static TDF_Label FindLabelFromPathId (const Handle< TDocStd_Document > &theDocument, const TCollection_AsciiString &theId, TopLoc_Location &theParentLocation, TopLoc_Location &theLocation)
 Find a shape entity based on a text identifier constructed from OCAF labels defining full path.
 
static TDF_Label FindLabelFromPathId (const Handle< TDocStd_Document > &theDocument, const TCollection_AsciiString &theId, TopLoc_Location &theLocation)
 Find a shape entity based on a text identifier constructed from OCAF labels defining full path.
 
static TopoDS_Shape FindShapeFromPathId (const Handle< TDocStd_Document > &theDocument, const TCollection_AsciiString &theId)
 Find a shape entity based on a text identifier constructed from OCAF labels defining full path.
 
 XCAFPrs_DocumentExplorer ()
 Empty constructor.
 
 XCAFPrs_DocumentExplorer (const Handle< TDocStd_Document > &theDocument, const XCAFPrs_DocumentExplorerFlags theFlags, const XCAFPrs_Style &theDefStyle=XCAFPrs_Style())
 Constructor for exploring the whole document.
 
 XCAFPrs_DocumentExplorer (const Handle< TDocStd_Document > &theDocument, const TDF_LabelSequence &theRoots, const XCAFPrs_DocumentExplorerFlags theFlags, const XCAFPrs_Style &theDefStyle=XCAFPrs_Style())
 Constructor for exploring specified list of root shapes in the document.
 
void Init (const Handle< TDocStd_Document > &theDocument, const TDF_Label &theRoot, const XCAFPrs_DocumentExplorerFlags theFlags, const XCAFPrs_Style &theDefStyle=XCAFPrs_Style())
 Initialize the iterator from a single root shape in the document.
 
void Init (const Handle< TDocStd_Document > &theDocument, const TDF_LabelSequence &theRoots, const XCAFPrs_DocumentExplorerFlags theFlags, const XCAFPrs_Style &theDefStyle=XCAFPrs_Style())
 Initialize the iterator from the list of root shapes in the document.
 
Standard_Boolean More () const
 Return TRUE if iterator points to the valid node.
 
const XCAFPrs_DocumentNodeCurrent () const
 Return current position.
 
XCAFPrs_DocumentNodeChangeCurrent ()
 Return current position.
 
const XCAFPrs_DocumentNodeCurrent (Standard_Integer theDepth) const
 Return current position within specified assembly depth.
 
Standard_Integer CurrentDepth () const
 Return depth of the current node in hierarchy, starting from 0. Zero means Root label.
 
void Next ()
 Go to the next node.
 
const Handle< XCAFDoc_ColorTool > & ColorTool () const
 Return color tool.
 
const Handle< XCAFDoc_VisMaterialTool > & VisMaterialTool () const
 Return material tool.
 
void initRoot ()
 Initialize root label.
 
void initCurrent (Standard_Boolean theIsAssembly)
 Initialize properties for a current label.
 

Detailed Description

Document iterator through shape nodes.

Constructor & Destructor Documentation

◆ XCAFPrs_DocumentExplorer() [1/3]

XCAFPrs_DocumentExplorer::XCAFPrs_DocumentExplorer ( )

Empty constructor.

◆ XCAFPrs_DocumentExplorer() [2/3]

XCAFPrs_DocumentExplorer::XCAFPrs_DocumentExplorer ( const Handle< TDocStd_Document > & theDocument,
const XCAFPrs_DocumentExplorerFlags theFlags,
const XCAFPrs_Style & theDefStyle = XCAFPrs_Style() )

Constructor for exploring the whole document.

Parameters
theDocumentdocument to explore
theFlagsiteration flags
theDefStyledefault style for nodes with undefined style

◆ XCAFPrs_DocumentExplorer() [3/3]

XCAFPrs_DocumentExplorer::XCAFPrs_DocumentExplorer ( const Handle< TDocStd_Document > & theDocument,
const TDF_LabelSequence & theRoots,
const XCAFPrs_DocumentExplorerFlags theFlags,
const XCAFPrs_Style & theDefStyle = XCAFPrs_Style() )

Constructor for exploring specified list of root shapes in the document.

Parameters
theDocumentdocument to explore
theRootsroot labels to explore within specified document
theFlagsiteration flags
theDefStyledefault style for nodes with undefined style

Member Function Documentation

◆ ChangeCurrent()

XCAFPrs_DocumentNode & XCAFPrs_DocumentExplorer::ChangeCurrent ( )
inline

Return current position.

◆ ColorTool()

const Handle< XCAFDoc_ColorTool > & XCAFPrs_DocumentExplorer::ColorTool ( ) const
inline

Return color tool.

◆ Current() [1/2]

const XCAFPrs_DocumentNode & XCAFPrs_DocumentExplorer::Current ( ) const
inline

Return current position.

◆ Current() [2/2]

const XCAFPrs_DocumentNode & XCAFPrs_DocumentExplorer::Current ( Standard_Integer theDepth) const
inline

Return current position within specified assembly depth.

◆ CurrentDepth()

Standard_Integer XCAFPrs_DocumentExplorer::CurrentDepth ( ) const
inline

Return depth of the current node in hierarchy, starting from 0. Zero means Root label.

◆ DefineChildId()

static TCollection_AsciiString XCAFPrs_DocumentExplorer::DefineChildId ( const TDF_Label & theLabel,
const TCollection_AsciiString & theParentId )
static

Construct a unique string identifier for the given label. The identifier is a concatenation of label entries (TDF_Tool::Entry() with tailing '.') of hierarchy from parent to child joined via '/' and looking like this:

0:1:1:1./0:1:1:1:9./0:1:1:5:7.

This generation scheme also allows finding originating labels using TDF_Tool::Label(). The tailing dot simplifies parent equality check.

Parameters
theLabelchild label to define id
theParentIdparent string identifier defined by this method

◆ FindLabelFromPathId() [1/2]

static TDF_Label XCAFPrs_DocumentExplorer::FindLabelFromPathId ( const Handle< TDocStd_Document > & theDocument,
const TCollection_AsciiString & theId,
TopLoc_Location & theLocation )
inlinestatic

Find a shape entity based on a text identifier constructed from OCAF labels defining full path.

See also
DefineChildId()

◆ FindLabelFromPathId() [2/2]

static TDF_Label XCAFPrs_DocumentExplorer::FindLabelFromPathId ( const Handle< TDocStd_Document > & theDocument,
const TCollection_AsciiString & theId,
TopLoc_Location & theParentLocation,
TopLoc_Location & theLocation )
static

Find a shape entity based on a text identifier constructed from OCAF labels defining full path.

See also
DefineChildId()

◆ FindShapeFromPathId()

static TopoDS_Shape XCAFPrs_DocumentExplorer::FindShapeFromPathId ( const Handle< TDocStd_Document > & theDocument,
const TCollection_AsciiString & theId )
static

Find a shape entity based on a text identifier constructed from OCAF labels defining full path.

See also
DefineChildId()

◆ Init() [1/2]

void XCAFPrs_DocumentExplorer::Init ( const Handle< TDocStd_Document > & theDocument,
const TDF_Label & theRoot,
const XCAFPrs_DocumentExplorerFlags theFlags,
const XCAFPrs_Style & theDefStyle = XCAFPrs_Style() )

Initialize the iterator from a single root shape in the document.

Parameters
theDocumentdocument to explore
theRootsingle root label to explore within specified document
theFlagsiteration flags
theDefStyledefault style for nodes with undefined style

◆ Init() [2/2]

void XCAFPrs_DocumentExplorer::Init ( const Handle< TDocStd_Document > & theDocument,
const TDF_LabelSequence & theRoots,
const XCAFPrs_DocumentExplorerFlags theFlags,
const XCAFPrs_Style & theDefStyle = XCAFPrs_Style() )

Initialize the iterator from the list of root shapes in the document.

Parameters
theDocumentdocument to explore
theRootsroot labels to explore within specified document
theFlagsiteration flags
theDefStyledefault style for nodes with undefined style

◆ initCurrent()

void XCAFPrs_DocumentExplorer::initCurrent ( Standard_Boolean theIsAssembly)
protected

Initialize properties for a current label.

◆ initRoot()

void XCAFPrs_DocumentExplorer::initRoot ( )
protected

Initialize root label.

◆ More()

Standard_Boolean XCAFPrs_DocumentExplorer::More ( ) const
inline

Return TRUE if iterator points to the valid node.

◆ Next()

void XCAFPrs_DocumentExplorer::Next ( )

Go to the next node.

◆ VisMaterialTool()

const Handle< XCAFDoc_VisMaterialTool > & XCAFPrs_DocumentExplorer::VisMaterialTool ( ) const
inline

Return material tool.

Field Documentation

◆ myColorTool

Handle< XCAFDoc_ColorTool > XCAFPrs_DocumentExplorer::myColorTool
protected

color tool

◆ myCurrent

XCAFPrs_DocumentNode XCAFPrs_DocumentExplorer::myCurrent
protected

current label info

◆ myDefStyle

XCAFPrs_Style XCAFPrs_DocumentExplorer::myDefStyle
protected

default style

◆ myFlags

XCAFPrs_DocumentExplorerFlags XCAFPrs_DocumentExplorer::myFlags
protected

iteration flags

◆ myHasMore

Standard_Boolean XCAFPrs_DocumentExplorer::myHasMore
protected

global flag indicating that iterator points to the label

◆ myNodeStack

NCollection_Vector<XCAFPrs_DocumentNode> XCAFPrs_DocumentExplorer::myNodeStack
protected

node stack

◆ myRootIter

TDF_LabelSequence::Iterator XCAFPrs_DocumentExplorer::myRootIter
protected

current root label

◆ myRoots

TDF_LabelSequence XCAFPrs_DocumentExplorer::myRoots
protected

sequence of root labels

◆ myTop

Standard_Integer XCAFPrs_DocumentExplorer::myTop
protected

top position in the node stack

◆ myVisMatTool

Handle< XCAFDoc_VisMaterialTool > XCAFPrs_DocumentExplorer::myVisMatTool
protected

visual material tool


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