|
virtual CoreExport int | IsPublic () |
| Whether to use only the internalName for scripter exposure.
|
|
virtual CoreExport void * | Create (BOOL loading=FALSE) |
| 3ds Max calls this method when it needs a pointer to a new instance of the plug-in class.
|
|
virtual CoreExport int | BeginCreate (Interface *i) |
| The custom creation process of the plug-in object is handled by this method.
|
|
virtual CoreExport int | EndCreate (Interface *i) |
| The termination of the custom creation process is managed by the implementation of this method.
|
|
virtual CoreExport const MCHAR * | ClassName () |
| Returns the class name for the plug-in (DataClassDesc::className).
|
|
virtual CoreExport const MCHAR * | NonLocalizedClassName () |
| Returns the non-localized class name for the plug-in (DataClassDesc::nonLocalizedClassName).
|
|
virtual CoreExport SClass_ID | SuperClassID () |
| Returns the SuperClassID (superClassID).
|
|
virtual CoreExport Class_ID | ClassID () |
| Returns the Class_ID.
|
|
virtual CoreExport const MCHAR * | Category () |
| Returns the category string.
|
|
virtual CoreExport BOOL | OkToCreate (Interface *i) |
| Returns the okToCreate state.
|
|
virtual CoreExport BOOL | HasClassParams () |
| If a plug-in class has default parameters that it needs to allow the user to edit, TRUE should be returned and EditClassParams() and ResetClassParams() should be implemented.
|
|
virtual CoreExport void | EditClassParams (HWND hParent) |
| If the user picks the class from the list this method is called.
|
|
virtual CoreExport void | ResetClassParams (BOOL fileReset=FALSE) |
| When the user executes File / Reset or presses the 'Reset to Factory Settings...' button in the File / Preferences... / Animation tab / Controller Defaults section this method is called.
|
|
virtual CoreExport int | NumActionTables () |
| These functions return keyboard action tables that plug-ins can use.
|
|
virtual CoreExport ActionTable * | GetActionTable (int i) |
| Returns a pointer to the specified action table.
|
|
virtual CoreExport BOOL | IsManipulator () |
| Returns TRUE if the class implements a manipulator object; otherwise FALSE.
|
|
virtual CoreExport BOOL | CanManipulate (ReferenceTarget *hTarget) |
| The method returns true if the class is a manipulator and it manipulates the given base object, modifier or controller.
|
|
virtual CoreExport BOOL | CanManipulateNode (INode *pNode) |
| Returns TRUE if the manipulator applies to the given node; otherwise FALSE.
|
|
virtual CoreExport Manipulator * | CreateManipulator (ReferenceTarget *hTarget, INode *pNode) |
| Creates a manipulator object When a manipulator returns TRUE to CanManipulate(ReferenceTarget* hTarget), the system calls this version of CreateManipulator() to create an instance of the manipulator.
|
|
virtual CoreExport Manipulator * | CreateManipulator (INode *pNode) |
| Creates a manipulator object.
|
|
virtual CoreExport BOOL | NeedsToSave () |
| Returns TRUE if there is data associated with the class that needs to be saved in the 3ds Max file.
|
|
virtual CoreExport IOResult | Save (ISave *isave) |
| If NeedsToSave() returns TRUE then this method should be implemented to save the data associated with the class.
|
|
virtual CoreExport IOResult | Load (ILoad *iload) |
| If NeedsToSave() returns TRUE then this method should be implemented to load the data associated with the class.
|
|
virtual CoreExport DWORD | InitialRollupPageState () |
| This method returns a DWORD which is used to initialize the rollup state in both the create branch and the modify branch.
|
|
virtual CoreExport const MCHAR * | InternalName () |
| Returns a string which provides a fixed, machine parsable internal name for the plug-in.
|
|
virtual CoreExport HINSTANCE | HInstance () |
| Returns the DLL instance handle of the plug-in.
|
|
virtual CoreExport bool | UseOnlyInternalNameForMAXScriptExposure () |
| Returns true if only the InternalName is to be used for MAXScript exposure.
|
|
virtual CoreExport int | NumParamBlockDescs () |
| access parameter block descriptors for this class
|
|
virtual CoreExport ParamBlockDesc2 * | GetParamBlockDesc (int i) |
| Returns a pointer to the 'i-th' parameter block 2 descriptor.
|
|
virtual CoreExport ParamBlockDesc2 * | GetParamBlockDescByID (BlockID id) |
|
virtual CoreExport void | AddParamBlockDesc (ParamBlockDesc2 *pbd) |
|
virtual CoreExport void | BeginEditParams (IObjParam *ip, ReferenceMaker *obj, ULONG flags, Animatable *prev) |
| automatic UI management
|
|
virtual CoreExport void | EndEditParams (IObjParam *ip, ReferenceMaker *obj, ULONG flags, Animatable *prev) |
| This method is called to handle the ending of the automatic command panel user interface management provided by the param map 2 system.
|
|
virtual CoreExport void | InvalidateUI (ParamBlockDesc2 *pbd) |
| Invalidates the user interface for the rollup or dialog managed by the specified descriptor.
|
|
virtual CoreExport const MCHAR * | GetRsrcString (INT_PTR id) |
| Returns a pointer to the string from the resource string table.
|
|
virtual CoreExport void | MakeAutoParamBlocks (ReferenceMaker *owner) |
| automatic ParamBlock construction
|
|
virtual CoreExport int | NumParamMaps () |
| access automatically-maintained ParamMaps, by simple index or by associated ParamBlockDesc
|
|
virtual CoreExport IParamMap2 * | GetParamMap (int i) |
| Returns a pointer to the nth parameter map2.
|
|
virtual CoreExport IParamMap2 * | GetParamMap (ParamBlockDesc2 *pbd) |
| Returns a pointer to the parameter map2 whose descriptor is passed.
|
|
virtual CoreExport bool | SetUserDlgProc (ParamBlockDesc2 *pbd, ParamMap2UserDlgProc *proc=NULL) |
| maintain user dialog procs on automatically-maintained ParamMaps
|
|
virtual CoreExport ParamMap2UserDlgProc * | GetUserDlgProc (ParamBlockDesc2 *pbd) |
| Returns a pointer to the parameter map 2 user dialog proc (if any) for the specified descriptor.
|
|
virtual CoreExport bool | DrawRepresentation (COLORREF bkColor, HDC hDC, Rect &rect) |
| Class can draw an image to represent itself graphically...
|
|
virtual CoreExport int | NumInterfaces () |
| Returns the number of function publishing interfaces maintained by the class descriptor.
|
|
virtual CoreExport FPInterface * | GetInterfaceAt (int i) |
| Returns the nth function publishing interface.
|
|
virtual CoreExport FPInterface * | GetInterface (Interface_ID id) |
| Returns a pointer to the function publishing interface whose ID is specified.
|
|
virtual CoreExport FPInterface * | GetInterface (const MCHAR *name) |
| Returns a pointer to the function publishing interface whose name is specified.
|
|
virtual CoreExport void | AddInterface (FPInterface *fpi) |
| Adds the specified interface to the list maintained by this class descriptor.
|
|
virtual CoreExport void | ClearInterfaces () |
| Deletes all the interfaces maintained by the class descriptor.
|
|
virtual CoreExport Class_ID | SubClassID () |
| This method can be used for further categorizing plugins.
|
|
virtual CoreExport INT_PTR | Execute (int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0) |
| This function is maintained so the 3ds Max SDK can be extended without breaking backwards compatibility.
|
|
|
| DataClassDesc (SClass_ID superClassId, const Class_ID &classId, const Class_ID &subClassId, int isClassPublic, BOOL isClassOkToCreate, const MCHAR *classNameStr, const MCHAR *nonLocalizedClassNameStr, const MCHAR *categoryStr, BOOL hasClassParams, BOOL isManipulator, BOOL needsToSave, DWORD initialRollupPageState) |
|
| ~DataClassDesc () |
|
void | SetInternalName (const MSTR &theInternalName) |
|
virtual | ~ClassDesc () |
|
virtual int | IsPublic ()=0 |
| Controls if the plug-in shows up in lists from the user to choose from.
|
|
virtual const MCHAR * | ClassName ()=0 |
| This method returns the name of the class.
|
|
virtual const MCHAR * | NonLocalizedClassName ()=0 |
| This method returns the non-localized name of the class.
|
|
virtual const MCHAR * | InternalName () |
| Returns a string which provides a fixed, machine parsable internal name for the plug-in.
|
|
virtual SClass_ID | SuperClassID ()=0 |
| This method returns a system defined constant describing the class this plug-in class was derived from.
|
|
virtual Class_ID | ClassID ()=0 |
| This method must return the unique ID for the object.
|
|
virtual const MCHAR * | Category ()=0 |
| This methods returns a string describing the category a plug-in fits into.
|
|
virtual DWORD | InitialRollupPageState () |
| This method returns a DWORD which is used to initialize the rollup state in both the create branch and the modify branch.
|
|
virtual bool | UseOnlyInternalNameForMAXScriptExposure () |
| Returns true if only the InternalName is to be used for MAXScript exposure.
|
|
virtual HINSTANCE | HInstance () |
| Returns the DLL instance handle of the plug-in.
|
|
virtual CoreExport const MCHAR * | GetRsrcString (INT_PTR id) |
| Returns a pointer to the string from the resource string table.
|
|
virtual void | MakeAutoParamBlocks (ReferenceMaker *owner) |
| This method creates the automatic parameter blocks for the specified plug-in.
|
|
virtual Class_ID | SubClassID () |
| This method can be used for further categorizing plugins.
|
|
|
static UtilExport void * | operator new (size_t size) |
| Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e) |
| Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new (size_t size, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new (size_t size, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, int block_type, const char *filename, int line) |
| New operator used to allocate arrays of objects.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void * | operator new[] (size_t size, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown.
|
|
static UtilExport void * | operator new[] (size_t size, const std::nothrow_t &e, unsigned long flags) |
| New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned.
|
|
static UtilExport void | operator delete (void *ptr) |
| Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e) |
| Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, int block_type, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line) |
| Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen.
|
|
static UtilExport void | operator delete[] (void *ptr, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void | operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags) |
| Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown.
|
|
static UtilExport void * | operator new (size_t size, void *placement_ptr) |
| Placement new operator.
|
|
static UtilExport void | operator delete (void *ptr, void *placement_ptr) |
| Placement delete operator.
|
|
static UtilExport void * | aligned_malloc (size_t size, size_t alignment) |
| Allocates memory on a specified alignment boundary.
|
|
static UtilExport void * | aligned_realloc (void *ptr, size_t size, size_t alignment) |
| Reallocates memory on a specified alignment boundary.
|
|
static UtilExport void | aligned_free (void *ptr) |
| Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
|
|
| Noncopyable () |
|
| ~Noncopyable () |
|
A proxy for a class descriptor.
Plug-ins do not need to work directly with this class. When a plug-in DLL is defer loaded, the plug-in classes it exposes are represented by instances of this class. When the DataClassDesc instance does not have enough information to query out a request from client code, it will load the plug-in DLL which exposes the actual ClassDesc the DataClassDesc is a proxy for. From that point on, the actual ClassDesc instance is used. When a DataClassDesc instance is replaced by a full class descriptor, inside of ClassDirectory::AddClass then a notification is sent:
#define NOTIFY_CLASSDESC_REPLACED
Provides a notification that a ClassDesc is being replaced by another one.
Definition: notify.h:550
CoreExport void BroadcastNotification(int code)
- See also
- Class ClassDesc, Class ClassEntry, Class BitmapIO, Class SceneImport, Class SceneExport.