3ds Max C++ API Reference
iparamb.h File Reference
#include "maxheap.h"
#include "ref.h"
#include "ioapi.h"
#include "paramtype.h"

Classes

class  UserType
 
class  GetParamName
 
class  GetParamDim
 
class  ParamBlockDesc
 
class  ParamBlockDescID
 
class  IParamArray
 
class  IParamBlock
 
class  ParamVersionDesc
 
class  ParamBlockPLCB
 This is a handy post load call back for fixing up parameter blocks. More...
 

Macros

#define PB_COUNT_CHUNK   0x0001
 
#define PB_PARAM_CHUNK   0x0002
 
#define PB_INDEX_CHUNK   0x0003
 
#define PB_ANIMATABLE_CHUNK   0x0004
 
#define PB_VERSION_CHUNK   0x0005
 
#define PB_LOCKED_CHUNK   0x0006
 
#define PB_FLOAT_CHUNK   (TYPE_FLOAT + 0x100)
 
#define PB_INT_CHUNK   (TYPE_INT + 0x100)
 
#define PB_RGBA_CHUNK   (TYPE_RGBA + 0x100)
 
#define PB_POINT3_CHUNK   (TYPE_POINT3 + 0x100)
 
#define PB_BOOL_CHUNK   (TYPE_BOOL + 0x100)
 
#define PB_TYPE_CHUNK   0x0200
 
#define PB_TYPE_FLOAT_CHUNK   (PB_TYPE_CHUNK + TYPE_FLOAT)
 
#define PB_TYPE_INT_CHUNK   (PB_TYPE_CHUNK + TYPE_INT)
 
#define PB_TYPE_RGBA_CHUNK   (PB_TYPE_CHUNK + TYPE_RGBA)
 
#define PB_TYPE_POINT3_CHUNK   (PB_TYPE_CHUNK + TYPE_POINT3)
 
#define PB_TYPE_BOOL_CHUNK   (PB_TYPE_CHUNK + TYPE_BOOL)
 
#define PB_TYPE_USER_CHUNK   (PB_TYPE_CHUNK + TYPE_USER)
 

Functions

CoreExport IParamBlockCreateParameterBlock (ParamBlockDesc *pdesc, int count)
 
CoreExport IParamBlockCreateParameterBlock (ParamBlockDescID *pdesc, int count, DWORD version)
 
CoreExport IParamBlockUpdateParameterBlock (ParamBlockDescID *pdescOld, int oldCount, IParamBlock *oldPB, ParamBlockDescID *pdescNew, int newCount, DWORD newVersion)
 

Macro Definition Documentation

◆ PB_COUNT_CHUNK

#define PB_COUNT_CHUNK   0x0001

◆ PB_PARAM_CHUNK

#define PB_PARAM_CHUNK   0x0002

◆ PB_INDEX_CHUNK

#define PB_INDEX_CHUNK   0x0003

◆ PB_ANIMATABLE_CHUNK

#define PB_ANIMATABLE_CHUNK   0x0004

◆ PB_VERSION_CHUNK

#define PB_VERSION_CHUNK   0x0005

◆ PB_LOCKED_CHUNK

#define PB_LOCKED_CHUNK   0x0006

◆ PB_FLOAT_CHUNK

#define PB_FLOAT_CHUNK   (TYPE_FLOAT + 0x100)

◆ PB_INT_CHUNK

#define PB_INT_CHUNK   (TYPE_INT + 0x100)

◆ PB_RGBA_CHUNK

#define PB_RGBA_CHUNK   (TYPE_RGBA + 0x100)

◆ PB_POINT3_CHUNK

#define PB_POINT3_CHUNK   (TYPE_POINT3 + 0x100)

◆ PB_BOOL_CHUNK

#define PB_BOOL_CHUNK   (TYPE_BOOL + 0x100)

◆ PB_TYPE_CHUNK

#define PB_TYPE_CHUNK   0x0200

◆ PB_TYPE_FLOAT_CHUNK

#define PB_TYPE_FLOAT_CHUNK   (PB_TYPE_CHUNK + TYPE_FLOAT)

◆ PB_TYPE_INT_CHUNK

#define PB_TYPE_INT_CHUNK   (PB_TYPE_CHUNK + TYPE_INT)

◆ PB_TYPE_RGBA_CHUNK

#define PB_TYPE_RGBA_CHUNK   (PB_TYPE_CHUNK + TYPE_RGBA)

◆ PB_TYPE_POINT3_CHUNK

#define PB_TYPE_POINT3_CHUNK   (PB_TYPE_CHUNK + TYPE_POINT3)

◆ PB_TYPE_BOOL_CHUNK

#define PB_TYPE_BOOL_CHUNK   (PB_TYPE_CHUNK + TYPE_BOOL)

◆ PB_TYPE_USER_CHUNK

#define PB_TYPE_USER_CHUNK   (PB_TYPE_CHUNK + TYPE_USER)

Function Documentation

◆ CreateParameterBlock() [1/2]

CoreExport IParamBlock* CreateParameterBlock ( ParamBlockDesc pdesc,
int  count 
)
Remarks
Implemented by the System.

This method is used to create a parameter block.
Parameters:
ParamBlockDesc *pdesc

This is an array of parameter block descriptors.

int count

This is the number in the array.
Returns
A pointer to the created parameter block. On error NULL is returned.

◆ CreateParameterBlock() [2/2]

CoreExport IParamBlock* CreateParameterBlock ( ParamBlockDescID pdesc,
int  count,
DWORD  version 
)
Remarks
Implemented by the System.

This method is used to create a parameter block with a version number to aide in backwards compatibility.
Parameters:
ParamBlockDesc *pdesc

This is an array of parameter block descriptors.

int count

This is the number in the array.

DWORD version

This is used to indicate a version of the parameter block. This is used for backwards compatibility when loading 3ds Max files that were saved with a previous version of the parameter block structure. There is a mechanism which allows the older format to be converted to the newer format so the older files may still be loaded and used. See the Advanced Topics section on Parameter Maps for more information.
Returns
A pointer to the created parameter block. On error NULL is returned.

◆ UpdateParameterBlock()

CoreExport IParamBlock* UpdateParameterBlock ( ParamBlockDescID pdescOld,
int  oldCount,
IParamBlock oldPB,
ParamBlockDescID pdescNew,
int  newCount,
DWORD  newVersion 
)
Remarks
Implemented by the System.

This creates a new parameter block, based on an existing parameter block of a later version. The new parameter block inherits any parameters from the old parameter block whose parameter IDs match.
Parameters:
ParamBlockDescID *pdescOld

The existing parameter block descriptor.

int oldCount

The number of old parameters.

IParamBlock *oldPB

The old parameter block.

ParamBlockDescID *pdescNew

The new parameter block descriptor.

int newCount

The number of new parameters.

DWORD newVersion

The version of the new parameter block.
Returns
The new parameter block.