Open CASCADE Technology  7.7.0
Public Member Functions

Interface_ShareTool Class Reference

Builds the Graph of Dependencies, from the General Service "Shared" -> builds for each Entity of a Model, the Shared and Sharing Lists, and gives access to them. Allows to complete with Implied References (which are not regarded as Shared Entities, but are nevertheless Referenced), this can be useful for Reference Checking. More...

#include <Interface_ShareTool.hxx>

Public Member Functions

 Interface_ShareTool (const Handle< Interface_InterfaceModel > &amodel, const Interface_GeneralLib &lib)
 Creates a ShareTool from a Model and builds all required data, by calling the General Service Library and Modules (GeneralLib given as an argument) More...
 
 Interface_ShareTool (const Handle< Interface_InterfaceModel > &amodel, const Handle< Interface_GTool > &gtool)
 Same a above, but GeneralLib is detained by a GTool. More...
 
 Interface_ShareTool (const Handle< Interface_InterfaceModel > &amodel, const Handle< Interface_Protocol > &protocol)
 Same a above, but GeneralLib is defined through a Protocol Protocol is used to build the working library. More...
 
 Interface_ShareTool (const Handle< Interface_InterfaceModel > &amodel)
 Same as above, but works with the GTool of the Model. More...
 
 Interface_ShareTool (const Interface_Graph &agraph)
 Creates a ShareTool from an already defined Graph Remark that the data of the Graph are copied. More...
 
 Interface_ShareTool (const Handle< Interface_HGraph > &ahgraph)
 Completes the Graph by Adding Implied References. Hence, they are considered as Sharing References in all the other queries. More...
 
Handle< Interface_InterfaceModelModel () const
 Returns the Model used for Creation (directly or for Graph) More...
 
const Interface_GraphGraph () const
 Returns the data used by the ShareTool to work Can then be used directly (read only) More...
 
Interface_EntityIterator RootEntities () const
 Returns the Entities which are not Shared (their Sharing List is empty) in the Model. More...
 
Standard_Boolean IsShared (const Handle< Standard_Transient > &ent) const
 Returns True if <ent> is Shared by other Entities in the Model. More...
 
Interface_EntityIterator Shareds (const Handle< Standard_Transient > &ent) const
 Returns the List of Entities Shared by a given Entity <ent> More...
 
Interface_EntityIterator Sharings (const Handle< Standard_Transient > &ent) const
 Returns the List of Entities Sharing a given Entity <ent> More...
 
Standard_Integer NbTypedSharings (const Handle< Standard_Transient > &ent, const Handle< Standard_Type > &atype) const
 Returns the count of Sharing Entities of an Entity, which are Kind of a given Type. More...
 
Handle< Standard_TransientTypedSharing (const Handle< Standard_Transient > &ent, const Handle< Standard_Type > &atype) const
 Returns the Sharing Entity of an Entity, which is Kind of a given Type. Allows to access a Sharing Entity of a given type when there is one and only one (current case) More...
 
Interface_EntityIterator All (const Handle< Standard_Transient > &ent, const Standard_Boolean rootlast=Standard_True) const
 Returns the complete list of entities shared by <ent> at any level, including <ent> itself If <ent> is the Model, considers the concatenation of AllShared for each root If <rootlast> is True (D), the list starts with lower level entities and ends by the root. Else, the root is first and the lower level entities are at end. More...
 
void Print (const Interface_EntityIterator &iter, Standard_OStream &S) const
 Utility method which Prints the content of an iterator (by their Numbers) More...
 

Detailed Description

Builds the Graph of Dependencies, from the General Service "Shared" -> builds for each Entity of a Model, the Shared and Sharing Lists, and gives access to them. Allows to complete with Implied References (which are not regarded as Shared Entities, but are nevertheless Referenced), this can be useful for Reference Checking.

Constructor & Destructor Documentation

◆ Interface_ShareTool() [1/6]

Interface_ShareTool::Interface_ShareTool ( const Handle< Interface_InterfaceModel > &  amodel,
const Interface_GeneralLib lib 
)

Creates a ShareTool from a Model and builds all required data, by calling the General Service Library and Modules (GeneralLib given as an argument)

◆ Interface_ShareTool() [2/6]

Interface_ShareTool::Interface_ShareTool ( const Handle< Interface_InterfaceModel > &  amodel,
const Handle< Interface_GTool > &  gtool 
)

Same a above, but GeneralLib is detained by a GTool.

◆ Interface_ShareTool() [3/6]

Interface_ShareTool::Interface_ShareTool ( const Handle< Interface_InterfaceModel > &  amodel,
const Handle< Interface_Protocol > &  protocol 
)

Same a above, but GeneralLib is defined through a Protocol Protocol is used to build the working library.

◆ Interface_ShareTool() [4/6]

Interface_ShareTool::Interface_ShareTool ( const Handle< Interface_InterfaceModel > &  amodel)

Same as above, but works with the GTool of the Model.

◆ Interface_ShareTool() [5/6]

Interface_ShareTool::Interface_ShareTool ( const Interface_Graph agraph)

Creates a ShareTool from an already defined Graph Remark that the data of the Graph are copied.

◆ Interface_ShareTool() [6/6]

Interface_ShareTool::Interface_ShareTool ( const Handle< Interface_HGraph > &  ahgraph)

Completes the Graph by Adding Implied References. Hence, they are considered as Sharing References in all the other queries.

Member Function Documentation

◆ All()

Interface_EntityIterator Interface_ShareTool::All ( const Handle< Standard_Transient > &  ent,
const Standard_Boolean  rootlast = Standard_True 
) const

Returns the complete list of entities shared by <ent> at any level, including <ent> itself If <ent> is the Model, considers the concatenation of AllShared for each root If <rootlast> is True (D), the list starts with lower level entities and ends by the root. Else, the root is first and the lower level entities are at end.

◆ Graph()

const Interface_Graph& Interface_ShareTool::Graph ( ) const

Returns the data used by the ShareTool to work Can then be used directly (read only)

◆ IsShared()

Standard_Boolean Interface_ShareTool::IsShared ( const Handle< Standard_Transient > &  ent) const

Returns True if <ent> is Shared by other Entities in the Model.

◆ Model()

Handle< Interface_InterfaceModel > Interface_ShareTool::Model ( ) const

Returns the Model used for Creation (directly or for Graph)

◆ NbTypedSharings()

Standard_Integer Interface_ShareTool::NbTypedSharings ( const Handle< Standard_Transient > &  ent,
const Handle< Standard_Type > &  atype 
) const

Returns the count of Sharing Entities of an Entity, which are Kind of a given Type.

◆ Print()

void Interface_ShareTool::Print ( const Interface_EntityIterator iter,
Standard_OStream S 
) const

Utility method which Prints the content of an iterator (by their Numbers)

◆ RootEntities()

Interface_EntityIterator Interface_ShareTool::RootEntities ( ) const

Returns the Entities which are not Shared (their Sharing List is empty) in the Model.

◆ Shareds()

Interface_EntityIterator Interface_ShareTool::Shareds ( const Handle< Standard_Transient > &  ent) const

Returns the List of Entities Shared by a given Entity <ent>

◆ Sharings()

Interface_EntityIterator Interface_ShareTool::Sharings ( const Handle< Standard_Transient > &  ent) const

Returns the List of Entities Sharing a given Entity <ent>

◆ TypedSharing()

Handle< Standard_Transient > Interface_ShareTool::TypedSharing ( const Handle< Standard_Transient > &  ent,
const Handle< Standard_Type > &  atype 
) const

Returns the Sharing Entity of an Entity, which is Kind of a given Type. Allows to access a Sharing Entity of a given type when there is one and only one (current case)


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