IObject Class Reference
 
 
 
IObject Class Reference

#include <ifnpub.h>

Inheritance diagram for IObject:
BaseInterfaceServer InterfaceServer MaxHeapOperators IParticleContainer ITreeView AssetUser PFSimpleActionState

Class Description

See also:
Class BaseInterfaceServer, Class FPInterface, Class FPInterfaceDesc, Function Publishing, Class InterfaceServer,

Description:
This is the base class used to publish functions from those objects not derived from Animatable. A developer inherits from this class and implements the methods of this class to provide information about the interfaces published by the class.

There is a corresponding ParamType2 type code, TYPE_IOBJECT, that allows instances of these classes to be passed and returned in FPInterface methods. This provides a simple form of user-defined type, in the sense that these instance collections are passed as interfaces rather than pointers. MAXScript has wrapper value classes for IObjects and so this mechanism provides a light-weight alternative to the MAXScript SDK facilities for adding new wrapper value classes to the scripter.

MAXScript also calls the AcquireInterface() and ReleaseInterface() methods on IObjects as it creates and collects these wrappers, so that IObject objects can keep track of MAXScript's extant references to them.


Public Member Functions

virtual const MCHAR *  GetIObjectName ()
virtual void  AcquireIObject ()
virtual void  ReleaseIObject ()
virtual void  DeleteIObject ()

Member Function Documentation

virtual const MCHAR* GetIObjectName ( ) [inline, virtual]
Remarks:
Returns the object/class name.
Default Implementation:
{ return _M(""); }

Reimplemented in AssetUser, and ITreeView.

{ return _M(""); }                                                      
virtual void AcquireIObject ( ) [inline, virtual]
Remarks:
This method is called when MAXScript makes a reference to this object. This is part of the IObject reference management and can be implemented by dynamically allocated IObjects for ref-count based lifetime control.
Default Implementation:
{ }

Reimplemented in AssetUser.

{ }
virtual void ReleaseIObject ( ) [inline, virtual]
Remarks:
This method is called when MAXScript deletes a reference to this object. This is part of the IObject reference management and can be implemented by dynamically allocated IObjects for ref-count based lifetime control.
Default Implementation:
{ }

Reimplemented in AssetUser.

{ }
virtual void DeleteIObject ( ) [inline, virtual]
Remarks:
This method is the virtual destructor for the IObject.
Default Implementation:
{ }

Reimplemented in AssetUser, and PFSimpleActionState.

{ }