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)
#include <Interface_Category.hxx>
Public Member Functions |
| Interface_Category () |
| Creates a Category, with no protocol yet
|
| Interface_Category (const Handle< Interface_Protocol > &proto) |
| Creates a Category with a given protocol
|
| Interface_Category (const Handle< Interface_GTool > >ool) |
| Creates a Category with a given GTool
|
void | SetProtocol (const Handle< Interface_Protocol > &proto) |
| Sets/Changes Protocol
|
Standard_Integer | CatNum (const Handle< Standard_Transient > &ent, const Interface_ShareTool &shares) |
| Determines the Category Number for an entity in its context,
by using general service CategoryNumber
|
void | ClearNums () |
| Clears the recorded list of category numbers for a Model
|
void | Compute (const Handle< Interface_InterfaceModel > &model, const Interface_ShareTool &shares) |
| 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)
|
Standard_Integer | Num (const Standard_Integer nument) const |
| Returns the category number recorded for an entity number
Returns 0 if out of range
|
Static Public Member Functions |
static Standard_Integer | AddCategory (const Standard_CString name) |
| Records a new Category defined by its names, produces a number
New if not yet recorded
|
static Standard_Integer | NbCategories () |
| Returns the count of recorded categories
|
static Standard_CString | Name (const Standard_Integer num) |
| Returns the name of a category, according to its number
|
static Standard_Integer | Number (const Standard_CString name) |
| Returns the number of a category, according to its name
|
static void | Init () |
| Default initialisation
(protected against several calls : passes only once)
|
Constructor & Destructor Documentation
Interface_Category::Interface_Category |
( |
| ) |
|
Interface_Category::Interface_Category |
( |
const Handle< Interface_GTool > & |
gtool | ) |
|
Member Function Documentation
void Interface_Category::ClearNums |
( |
| ) |
|
static void Interface_Category::Init |
( |
| ) |
[static] |
The documentation for this class was generated from the following file: