![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
#include <XCAFDoc_AssemblyGraph.hxx>

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< int, TColStd_PackedMapOfInteger > | AdjacencyMap |
| 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 occ::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 occ::handle< XCAFDoc_ShapeTool > & | GetShapeTool () const |
| const TColStd_PackedMapOfInteger & | GetRoots () const |
| Returns IDs of the root nodes. | |
| bool | IsDirectLink (const int theNode1, const int theNode2) const |
| Checks whether the assembly graph contains (n1, n2) directed link. | |
| bool | HasChildren (const int theNode) const |
| Checks whether direct children exist for the given node. | |
| const TColStd_PackedMapOfInteger & | GetChildren (const int theNode) const |
| Returns IDs of child nodes for the given node. | |
| NodeType | GetNodeType (const int theNode) const |
| Returns the node type from NodeType enum. | |
| const TDF_Label & | GetNode (const int theNode) const |
| returns object ID by node ID. | |
| const NCollection_IndexedMap< TDF_Label > & | GetNodes () const |
| Returns the unordered set of graph nodes. | |
| int | NbNodes () const |
| Returns the number of graph nodes. | |
| const AdjacencyMap & | GetLinks () const |
| Returns the collection of graph links in the form of adjacency matrix. | |
| int | NbLinks () const |
| Returns the number of graph links. | |
| int | NbOccurrences (const int 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_Transient & | operator= (const Standard_Transient &) |
| Assignment operator, needed to avoid copying reference counter. | |
| virtual | ~Standard_Transient ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | 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. | |
| bool | IsKind (const char *const 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_Transient * | This () 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. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| 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. | |
Type definition for graph adjacency matrix. This is how parent-component links are realized in the assembly graph.
| XCAFDoc_AssemblyGraph::XCAFDoc_AssemblyGraph | ( | const occ::handle< TDocStd_Document > & | theDoc | ) |
Constructs graph from XCAF document. Construction of a formal graph will be done immediately.
| [in] | theDoc | - document to iterate. |
| 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.
| [in] | theDoc | - document to iterate. |
| [in] | theLabel | - starting position. |
|
inline |
Returns IDs of child nodes for the given node.
| [in] | theNode | - one-based node ID. |
|
inline |
Returns the collection of graph links in the form of adjacency matrix.
returns object ID by node ID.
| [in] | theNode | - one-based node ID. |
|
inline |
Returns the unordered set of graph nodes.
|
inline |
Returns IDs of the root nodes.
|
inline |
Checks whether direct children exist for the given node.
| [in] | theNode | - one-based node ID. |
Checks whether the assembly graph contains (n1, n2) directed link.
| [in] | theNode1 | - one-based ID of the first node. |
| [in] | theNode2 | - one-based ID of the second node. |
| int XCAFDoc_AssemblyGraph::NbLinks | ( | ) | const |
Returns the number of graph links.
|
inline |
Returns the number of graph nodes.
Returns quantity of part usage occurrences.
| [in] | theNode | - one-based part ID. |