ParamBlockPLCB Class Reference
 
 
 
ParamBlockPLCB Class Reference

This reference page is linked to from the following overview topics: New Classes and Methods, Deprecated Types, Backward Compatibility.


#include <iparamb.h>

Inheritance diagram for ParamBlockPLCB:
PostLoadCallback InterfaceServer MaxHeapOperators ParamBlockPLCBEx

Class Description

This is a handy post load call back for fixing up parameter blocks. This will look up the version of the loaded callback and fix it up so it matches the current version. NOTE: this deletes itself when its done. See Parameter Maps for more details.

Deprecated:
Deprecated in 3ds Max 2014.

Use ParamBlockPLCBEx instead.

See also:
Class ParamVersionDesc.

Public Member Functions

  ParamBlockPLCB (ParamVersionDesc *v, int cnt, ParamVersionDesc *c, ReferenceTarget *t, int refNum)
  Constructor.
CoreExport void  proc (ILoad *iload)
int  Priority ()
CoreExport INT_PTR  Execute (int cmd, ULONG_PTR arg1=0, ULONG_PTR arg2=0, ULONG_PTR arg3=0)

Public Attributes

ParamVersionDesc versions
int  count
ParamVersionDesc cur
ReferenceTarget targ
int  pbRefNum

Constructor & Destructor Documentation

ParamBlockPLCB ( ParamVersionDesc v,
int  cnt,
ParamVersionDesc c,
ReferenceTarget t,
int  refNum 
) [inline]

Constructor.

Parameters:
ParamVersionDesc* v - This is an array of ParamVersionDescs.
int cnt - The number of elements in the array specified above.
ParamVersionDesc* c - This is a pointer to the current version of the ParamVersionDesc.
ReferenceTarget* t - This is a pointer to a reference target. This is usually the this pointer of the object.
int refNum - This is the reference index of the parameter block.
See also:
Advanced Topics section under Parameter Maps for an explanation of how this is used.
                        {versions=v;count=cnt;cur=c;targ=t;pbRefNum=refNum;}

Member Function Documentation

CoreExport void proc ( ILoad iload ) [virtual]
Remarks:
This method will be called when loading is complete.
Parameters:
iload This class provides methods to load data from disk.

Implements PostLoadCallback.

Reimplemented in ParamBlockPLCBEx.

int Priority ( ) [inline, virtual]
Remarks:
This method determines the order that the various registered callbacks execute. Lower priorities are run first-- allowable values {0..10}: 0 is reserved for ParamBlock2PLCB & ParamBlockPLCB. This method is overridden, for example, by the ParmBlock2 PostLoadCallbacks to return 1 so it can execute before the others.
Returns:
The allowable return values are 0 to 10, with 5 being the default. 0 is reserved for ParamBlock2PLCB and ParamBlockPLCB..
Default Implementation:
{ return 5; }
Note:
Custom Attributes are added to their owner objects in a Priority 6 PostLoadCall. Object Custom Attributes and object MetaData should be expected only in PostLoadCalls with a Priority of 7 or lower. Custom Attributes added in PostLoadCalls with a higher Priority may be replaced by the Priority 6 PostLoadCall. PostLoadCalls with a priority less than 0 will be treated as 0, greater than 10 will be treated as 10.

Reimplemented from PostLoadCallback.

{ return 0; }
CoreExport INT_PTR Execute ( int  cmd,
ULONG_PTR  arg1 = 0,
ULONG_PTR  arg2 = 0,
ULONG_PTR  arg3 = 0 
) [virtual]
Remarks:
This is a general purpose function that allows the API to be extended in the future. The 3ds Max development team can assign new cmd numbers and continue to add functionality to this class without having to 'break' the API.

This is reserved for future use.
Parameters:
cmd The command to execute.
arg1 Optional argument 1 (defined uniquely for each cmd).
arg2 Optional argument 2.
arg3 Optional argument 3.
Returns:
An integer return value (defined uniquely for each cmd).
Default Implementation:
{ return 0; }

Reimplemented from PostLoadCallback.


Member Data Documentation