Open CASCADE Technology 7.8.2.dev
XCAFDoc_AssemblyGraph Class Reference

#include <XCAFDoc_AssemblyGraph.hxx>

Inheritance diagram for XCAFDoc_AssemblyGraph:

Data Structures

class  Iterator
 Graph iterator. More...
 

Public Types

enum  NodeType {
  NodeType_UNDEFINED = 0 , NodeType_AssemblyRoot , NodeType_Subassembly , NodeType_Occurrence ,
  NodeType_Part , NodeType_Subshape
}
 Type of the graph node. More...
 
typedef NCollection_DataMap< Standard_Integer, TColStd_PackedMapOfIntegerAdjacencyMap
 Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 XCAFDoc_AssemblyGraph (const Handle< TDocStd_Document > &theDoc)
 Constructs graph from XCAF document. Construction of a formal graph will be done immediately.
 
 XCAFDoc_AssemblyGraph (const TDF_Label &theLabel)
 Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position.
 
const Handle< XCAFDoc_ShapeTool > & GetShapeTool () const
 
const TColStd_PackedMapOfIntegerGetRoots () const
 Returns IDs of the root nodes.
 
Standard_Boolean IsDirectLink (const Standard_Integer theNode1, const Standard_Integer theNode2) const
 Checks whether the assembly graph contains (n1, n2) directed link.
 
Standard_Boolean HasChildren (const Standard_Integer theNode) const
 Checks whether direct children exist for the given node.
 
const TColStd_PackedMapOfIntegerGetChildren (const Standard_Integer theNode) const
 Returns IDs of child nodes for the given node.
 
NodeType GetNodeType (const Standard_Integer theNode) const
 Returns the node type from NodeType enum.
 
const TDF_LabelGetNode (const Standard_Integer theNode) const
 returns object ID by node ID.
 
const TDF_LabelIndexedMapGetNodes () const
 Returns the unordered set of graph nodes.
 
Standard_Integer NbNodes () const
 Returns the number of graph nodes.
 
const AdjacencyMapGetLinks () const
 Returns the collection of graph links in the form of adjacency matrix.
 
Standard_Integer NbLinks () const
 Returns the number of graph links.
 
Standard_Integer NbOccurrences (const Standard_Integer theNode) const
 Returns quantity of part usage occurrences.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Additional Inherited Members

- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Member Typedef Documentation

◆ AdjacencyMap

Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.

Member Enumeration Documentation

◆ NodeType

Type of the graph node.

Enumerator
NodeType_UNDEFINED 

Undefined node type.

NodeType_AssemblyRoot 

Root node.

NodeType_Subassembly 

Intermediate node.

NodeType_Occurrence 

Assembly/part occurrence node.

NodeType_Part 

Leaf node to represent parts.

NodeType_Subshape 

Subshape node.

Constructor & Destructor Documentation

◆ XCAFDoc_AssemblyGraph() [1/2]

XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph ( const Handle< TDocStd_Document > & theDoc)

Constructs graph from XCAF document. Construction of a formal graph will be done immediately.

Parameters
[in]theDoc- document to iterate.

◆ XCAFDoc_AssemblyGraph() [2/2]

XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph ( const TDF_Label & theLabel)

Constructs graph from XCAF label. Construction of a formal graph will be done immediately. The specified label is used as a starting position.

Parameters
[in]theDoc- document to iterate.
[in]theLabel- starting position.

Member Function Documentation

◆ GetChildren()

const TColStd_PackedMapOfInteger & XCAFDoc_AssemblyGraph::GetChildren ( const Standard_Integer theNode) const
inline

Returns IDs of child nodes for the given node.

Parameters
[in]theNode- one-based node ID.
Returns
set of child IDs.

◆ GetLinks()

const AdjacencyMap & XCAFDoc_AssemblyGraph::GetLinks ( ) const
inline

Returns the collection of graph links in the form of adjacency matrix.

Returns
graph links.

◆ GetNode()

const TDF_Label & XCAFDoc_AssemblyGraph::GetNode ( const Standard_Integer theNode) const
inline

returns object ID by node ID.

Parameters
[in]theNode- one-based node ID.
Returns
persistent ID.

◆ GetNodes()

const TDF_LabelIndexedMap & XCAFDoc_AssemblyGraph::GetNodes ( ) const
inline

Returns the unordered set of graph nodes.

Returns
graph nodes.

◆ GetNodeType()

NodeType XCAFDoc_AssemblyGraph::GetNodeType ( const Standard_Integer theNode) const

Returns the node type from NodeType enum.

Parameters
[in]theNode- one-based node ID.
Returns
node type.
See also
NodeType

◆ GetRoots()

const TColStd_PackedMapOfInteger & XCAFDoc_AssemblyGraph::GetRoots ( ) const
inline

Returns IDs of the root nodes.

Returns
IDs of the root nodes.

◆ GetShapeTool()

const Handle< XCAFDoc_ShapeTool > & XCAFDoc_AssemblyGraph::GetShapeTool ( ) const
inline
Returns
Document shape tool.

◆ HasChildren()

Standard_Boolean XCAFDoc_AssemblyGraph::HasChildren ( const Standard_Integer theNode) const
inline

Checks whether direct children exist for the given node.

Parameters
[in]theNode- one-based node ID.
Returns
true/false.

◆ IsDirectLink()

Standard_Boolean XCAFDoc_AssemblyGraph::IsDirectLink ( const Standard_Integer theNode1,
const Standard_Integer theNode2 ) const

Checks whether the assembly graph contains (n1, n2) directed link.

Parameters
[in]theNode1- one-based ID of the first node.
[in]theNode2- one-based ID of the second node.
Returns
true/false.

◆ NbLinks()

Standard_Integer XCAFDoc_AssemblyGraph::NbLinks ( ) const

Returns the number of graph links.

Returns
number of graph links.

◆ NbNodes()

Standard_Integer XCAFDoc_AssemblyGraph::NbNodes ( ) const
inline

Returns the number of graph nodes.

Returns
number of graph nodes.

◆ NbOccurrences()

Standard_Integer XCAFDoc_AssemblyGraph::NbOccurrences ( const Standard_Integer theNode) const

Returns quantity of part usage occurrences.

Parameters
[in]theNode- one-based part ID.
Returns
usage occurrence quantity.

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