Open CASCADE Technology
7.1.0.beta
|
This class manages categories A category is defined by a name and a number, and can be seen as a way of rough classification, i.e. less precise than a cdl type. Hence, it is possible to dispatch every entity in about a dozen of categories, twenty is a reasonable maximum. More...
#include <Interface_Category.hxx>
Public Member Functions | |
Interface_Category () | |
Creates a Category, with no protocol yet. More... | |
Interface_Category (const Handle< Interface_Protocol > &theProtocol) | |
Creates a Category with a given protocol. More... | |
Interface_Category (const Handle< Interface_GTool > &theGTool) | |
Creates a Category with a given GTool. More... | |
void | SetProtocol (const Handle< Interface_Protocol > &theProtocol) |
Sets/Changes Protocol. More... | |
Standard_Integer | CatNum (const Handle< Standard_Transient > &theEnt, const Interface_ShareTool &theShares) |
Determines the Category Number for an entity in its context, by using general service CategoryNumber. More... | |
void | ClearNums () |
Clears the recorded list of category numbers for a Model. More... | |
void | Compute (const Handle< Interface_InterfaceModel > &theModel, const Interface_ShareTool &theShares) |
Computes the Category Number for each entity and records it, in an array (ent.number -> category number) Hence, it can be queried by the method Num. The Model itself is not recorded, this method is intended to be used in a wider context (which detains also a Graph, etc) More... | |
Standard_Integer | Num (const Standard_Integer theNumEnt) const |
Returns the category number recorded for an entity number Returns 0 if out of range. More... | |
Static Public Member Functions | |
static Standard_Integer | AddCategory (const Standard_CString theName) |
Records a new Category defined by its names, produces a number New if not yet recorded. More... | |
static Standard_Integer | NbCategories () |
Returns the count of recorded categories. More... | |
static Standard_CString | Name (const Standard_Integer theNum) |
Returns the name of a category, according to its number. More... | |
static Standard_Integer | Number (const Standard_CString theName) |
Returns the number of a category, according to its name. More... | |
static void | Init () |
Default initialisation (protected against several calls : passes only once) More... | |
This class manages categories A category is defined by a name and a number, and can be seen as a way of rough classification, i.e. less precise than a cdl type. Hence, it is possible to dispatch every entity in about a dozen of categories, twenty is a reasonable maximum.
Basically, the system provides the following categories : Shape (Geometry, BRep, CSG, Features, etc...) Drawing (Drawing, Views, Annotations, Pictures, Scketches ...) Structure (Component & Part, Groups & Patterns ...) Description (Meta-Data : Relations, Properties, Product ...) Auxiliary (those which do not enter in the above list) and some dedicated categories FEA , Kinematics , Piping , etc... plus Professional for other dedicated non-classed categories
In addition, this class provides a way to compute then quickly query category numbers for an entire model. Values are just recorded as a list of numbers, control must then be done in a wider context (which must provide a Graph)
|
inline |
Creates a Category, with no protocol yet.
|
inline |
Creates a Category with a given protocol.
|
inline |
Creates a Category with a given GTool.
|
static |
Records a new Category defined by its names, produces a number New if not yet recorded.
Standard_Integer Interface_Category::CatNum | ( | const Handle< Standard_Transient > & | theEnt, |
const Interface_ShareTool & | theShares | ||
) |
Determines the Category Number for an entity in its context, by using general service CategoryNumber.
|
inline |
Clears the recorded list of category numbers for a Model.
void Interface_Category::Compute | ( | const Handle< Interface_InterfaceModel > & | theModel, |
const Interface_ShareTool & | theShares | ||
) |
Computes the Category Number for each entity and records it, in an array (ent.number -> category number) Hence, it can be queried by the method Num. The Model itself is not recorded, this method is intended to be used in a wider context (which detains also a Graph, etc)
|
static |
Default initialisation (protected against several calls : passes only once)
|
static |
Returns the name of a category, according to its number.
|
static |
Returns the count of recorded categories.
Standard_Integer Interface_Category::Num | ( | const Standard_Integer | theNumEnt | ) | const |
Returns the category number recorded for an entity number Returns 0 if out of range.
|
static |
Returns the number of a category, according to its name.
|
inline |
Sets/Changes Protocol.