OCC Main Page | DataExchange | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

DataExchange
TKXSBase
Interface


Interface_Category Class Reference

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

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT Interface_Category ()
 Creates a Category, with no protocol yet
.
Standard_EXPORT Interface_Category (const Handle(Interface_Protocol)&proto)
 Creates a Category with a given protocol
.
Standard_EXPORT Interface_Category (const Handle(Interface_GTool)&gtool)
 Creates a Category with a given GTool
.
Standard_EXPORT void SetProtocol (const Handle(Interface_Protocol)&proto)
 Sets/Changes Protocol
.
Standard_EXPORT 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
.
Standard_EXPORT void ClearNums ()
 Clears the recorded list of category numbers for a Model
.
Standard_EXPORT 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_EXPORT 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_EXPORT 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_EXPORT Standard_Integer NbCategories ()
 Returns the count of recorded categories
.
static Standard_EXPORT Standard_CString Name (const Standard_Integer num)
 Returns the name of a category, according to its number
.
static Standard_EXPORT Standard_Integer Number (const Standard_CString name)
 Returns the number of a category, according to its name
.
static Standard_EXPORT void Init ()
 Default initialisation
(protected against several calls : passes only once)
.

Private Attributes

Handle_Interface_GTool thegtool
Handle_TColStd_HArray1OfInteger thenum


Constructor & Destructor Documentation

Standard_EXPORT Interface_Category::Interface_Category  ) 
 

Standard_EXPORT Interface_Category::Interface_Category const Handle(Interface_Protocol)&  proto  ) 
 

Standard_EXPORT Interface_Category::Interface_Category const Handle(Interface_GTool)&  gtool  ) 
 


Member Function Documentation

static Standard_EXPORT Standard_Integer Interface_Category::AddCategory const Standard_CString  name  )  [static]
 

Standard_EXPORT Standard_Integer Interface_Category::CatNum const Handle(Standard_Transient)&  ent,
const Interface_ShareTool shares
 

Standard_EXPORT void Interface_Category::ClearNums  ) 
 

Standard_EXPORT void Interface_Category::Compute const Handle(Interface_InterfaceModel)&  model,
const Interface_ShareTool shares
 

static Standard_EXPORT void Interface_Category::Init  )  [static]
 

static Standard_EXPORT Standard_CString Interface_Category::Name const Standard_Integer  num  )  [static]
 

static Standard_EXPORT Standard_Integer Interface_Category::NbCategories  )  [static]
 

Standard_EXPORT Standard_Integer Interface_Category::Num const Standard_Integer  nument  )  const
 

static Standard_EXPORT Standard_Integer Interface_Category::Number const Standard_CString  name  )  [static]
 

void Interface_Category::operator delete void *  anAddress  )  [inline]
 

void* Interface_Category::operator new size_t  size  )  [inline]
 

void* Interface_Category::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void Interface_Category::SetProtocol const Handle(Interface_Protocol)&  proto  ) 
 


Field Documentation

Handle_Interface_GTool Interface_Category::thegtool [private]
 

Handle_TColStd_HArray1OfInteger Interface_Category::thenum [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 14:41:32 2008 for OpenCASCADE by  doxygen 1.4.1