The following diagram shows the most important classes in the 3ds Max plug-in class hierarchy:
The above diagram is divided in two section: the top section is where the common services to be implemented by a 3ds Max plug-in are provided (e.g. life-time control, messaging, monitoring, file i/o, identification, parameter block exposure, sub-animatable exposure). The bottom section are where classes are specialized for the different plug-in types.
Most plug-ins have Animatable
as a base-class. Some exceptions and their base classes are utility objects (UtilityObj
), global utility plug-ins (GUPs
), scene export plug-ins (SceneExport
), and scene import plug-ins (SceneImport
). These are objects that do not participate in the reference system.
Animatable
inherits from InterfaceServer
which inherits from MaxHeapOperators
. The root class, MaxHeapOperators
, provides memory-management functionality. InterfaceServer
is the base class for classes and interfaces in 3ds Max that can serve interfaces.