The
C++ class
ENTITY provides basic model management functionality for all permanent objects in an
ACIS model. The principle components of the model derived from
ENTITY are topology, geometry, and attributes. Entities are always created on the heap and never on the stack. The
C++new and
delete operators are redefined and overloaded.
|
|
All entities have a common set of functionality, such as the ability to be saved and restored to and from an
ACIS save file, copy support, and debug support. This functionality is defined in two ways:
|
|
ENTITY
|
This class defines data and methods that all children of
ENTITY inherit.
|
|
ENTITY_FUNCTIONS
|
This macro is included by all children of
ENTITY, and provides a
local instantiation (as opposed to inheritance) of much of the remaining functionality that is common to all model objects.
|
|
Although the
ENTITY class itself does not represent objects within the modeler, any class that represents a permanent model object in
ACIS must be derived from
ENTITY in order to inherit the common data and functionality that is mandatory in all permanent objects.
|
|
ACIS provides run-time mechanisms for identifying the type of any object derived from
ENTITY, as well as its level of derivation. Refer to the
3D ACIS Application Development Manual for information about identifying model objects.
|
|
Figure 4-1 shows the derivation of some principal classes from
ENTITY to illustrate the relationships. This diagram does not list all classes, nor even all classes in the principal components that are derived from ENTITY. All of the individual classes are described in detail in reference templates in online help.
|
|
|
|
Figure 4-1. Model Object Class Derivations
|