Open CASCADE Technology  7.5.0

XCAFPrs_DocumentExplorer Class Reference

Document iterator through shape nodes. More...

#include <XCAFPrs_DocumentExplorer.hxx>

string identification tools

Handle< XCAFDoc_ColorToolmyColorTool
 color tool More...
 
Handle< XCAFDoc_VisMaterialToolmyVisMatTool
 visual material tool More...
 
TDF_LabelSequence myRoots
 sequence of root labels More...
 
TDF_LabelSequence::Iterator myRootIter
 current root label More...
 
NCollection_Vector< XCAFPrs_DocumentNodemyNodeStack
 node stack More...
 
Standard_Integer myTop
 top position in the node stack More...
 
Standard_Boolean myHasMore
 global flag indicating that iterator points to the label More...
 
XCAFPrs_Style myDefStyle
 default style More...
 
XCAFPrs_DocumentNode myCurrent
 current label info More...
 
XCAFPrs_DocumentExplorerFlags myFlags
 iteration flags More...
 
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: More...
 
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. More...
 
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. More...
 
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. More...
 
 XCAFPrs_DocumentExplorer ()
 Empty constructor. More...
 
 XCAFPrs_DocumentExplorer (const Handle< TDocStd_Document > &theDocument, const XCAFPrs_DocumentExplorerFlags theFlags, const XCAFPrs_Style &theDefStyle=XCAFPrs_Style())
 Constructor for exploring the whole document. More...
 
 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. More...
 
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. More...
 
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. More...
 
Standard_Boolean More () const
 Return TRUE if iterator points to the valid node. More...
 
const XCAFPrs_DocumentNodeCurrent () const
 Return current position. More...
 
XCAFPrs_DocumentNodeChangeCurrent ()
 Return current position. More...
 
const XCAFPrs_DocumentNodeCurrent (Standard_Integer theDepth) const
 Return current position within specified assembly depth. More...
 
Standard_Integer CurrentDepth () const
 Return depth of the current node in hierarchy, starting from 0. Zero means Root label. More...
 
void Next ()
 Go to the next node. More...
 
const Handle< XCAFDoc_ColorTool > & ColorTool () const
 Return color tool. More...
 
const Handle< XCAFDoc_VisMaterialTool > & VisMaterialTool () const
 Return material tool. More...
 
void initRoot ()
 Initialize root label. More...
 
void initCurrent (Standard_Boolean theIsAssmebly)
 Initialize properties for a current label. More...
 

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 theParentLocation,
TopLoc_Location theLocation 
)
static

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 theLocation 
)
inlinestatic

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  theIsAssmebly)
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: