This reference page is linked to from the following overview topics: Lesson 1: Sample utility plug-in, Lesson 5: Geometric Objects, Lesson 6: Parameter Blocks, Lesson 7: Writing .Net Plug-ins, SDK Change Details, General Best Practices, Creating a Parameter Block, Parameter Block UI Specification Arguments, Multiple Parameter Blocks, ParamMap2 Buttons, Required DLL Functions, Class Descriptors, Creating and Destroying Plug-in Instances, Creating Parameter Blocks.
#include <iparamb2.h>
Public Member Functions |
|
PB2Export | ClassDesc2 () |
PB2Export | ~ClassDesc2 () |
PB2Export void | ResetClassParams (BOOL fileReset) |
PB2Export int | NumParamBlockDescs () |
PB2Export ParamBlockDesc2 * | GetParamBlockDesc (int i) |
PB2Export ParamBlockDesc2 * | GetParamBlockDescByID (BlockID id) |
PB2Export ParamBlockDesc2 * | GetParamBlockDescByName (MCHAR *name) |
PB2Export void | AddParamBlockDesc (ParamBlockDesc2 *pbd) |
PB2Export void | ClearParamBlockDescs () |
PB2Export void | BeginEditParams (IObjParam *ip, ReferenceMaker *obj, ULONG flags, Animatable *prev) |
PB2Export void | EndEditParams (IObjParam *ip, ReferenceMaker *obj, ULONG flags, Animatable *prev) |
PB2Export void | InvalidateUI () |
PB2Export void | InvalidateUI (ParamBlockDesc2 *pbd) |
PB2Export void | InvalidateUI (ParamBlockDesc2 *pbd, ParamID id, int tabIndex=-1) |
PB2Export void | MakeAutoParamBlocks (ReferenceMaker *owner) |
PB2Export int | NumParamMaps () |
PB2Export IParamMap2 * | GetParamMap (int i) |
PB2Export IParamMap2 * | GetParamMap (ParamBlockDesc2 *pbd, MapID map_id=0) |
PB2Export void | SetUserDlgProc (ParamBlockDesc2 *pbd, MapID map_id, ParamMap2UserDlgProc *proc=NULL) |
void | SetUserDlgProc (ParamBlockDesc2 *pbd, ParamMap2UserDlgProc *proc=NULL) |
PB2Export ParamMap2UserDlgProc * | GetUserDlgProc (ParamBlockDesc2 *pbd, MapID map_id=0) |
PB2Export IAutoMParamDlg * | CreateParamDlgs (HWND hwMtlEdit, IMtlParams *imp, ReferenceTarget *obj) |
PB2Export IAutoMParamDlg * | CreateParamDlg (BlockID id, HWND hwMtlEdit, IMtlParams *imp, ReferenceTarget *obj, MapID mapID=0) |
PB2Export IAutoEParamDlg * | CreateParamDialogs (IRendParams *ip, SpecialFX *obj) |
PB2Export IAutoEParamDlg * | CreateParamDialog (BlockID id, IRendParams *ip, SpecialFX *obj, MapID mapID=0) |
PB2Export void | MasterDlgDeleted (IAutoMParamDlg *dlg) |
PB2Export void | MasterDlgDeleted (IAutoEParamDlg *dlg) |
PB2Export IAutoMParamDlg * | GetMParamDlg () |
PB2Export IAutoEParamDlg * | GetEParamDlg () |
PB2Export void | RestoreRolloutState () |
PB2Export ParamID | LastNotifyParamID (ReferenceMaker *owner, IParamBlock2 *&pb) |
PB2Export void | Reset (ReferenceMaker *owner, BOOL updateUI=TRUE, BOOL callSetHandlers=TRUE) |
PB2Export void | GetValidity (ReferenceMaker *owner, TimeValue t, Interval &valid) |
PB2Export void | RemoveParamBlockDesc (ParamBlockDesc2 *pbd) |
Protected Member Functions |
|
void | SetMParamDlg (IAutoMParamDlg *dlg) |
Sets the root level material ParamDlg. |
|
void | SetEParamDlg (IAutoEParamDlg *dlg) |
Sets the root level effect ParamDlg. |
|
Tab< IParamMap2 * > & | GetParamMaps () |
PB2Export ClassDesc2 | ( | ) |
PB2Export ~ClassDesc2 | ( | ) |
void SetMParamDlg | ( | IAutoMParamDlg * | dlg | ) | [inline, protected] |
Sets the root level material ParamDlg.
This method may be called by derived classes that want to handle the material ParamDlg creation themselves, instead of using one of the "paramdlg" creation methods of class ClassDesc2.
[in] | dlg | - The new master Material dialog pointer |
{ masterMDlg = dlg; }
void SetEParamDlg | ( | IAutoEParamDlg * | dlg | ) | [inline, protected] |
Sets the root level effect ParamDlg.
/*! This method may be called by derived classes that want to handle the effect ParamDlg creation themselves, instead of using one of the "paramdlg" creation methods of class ClassDesc2.
[in] | dlg | - The new master effect dialog pointer |
{ masterEDlg = dlg; }
Tab<IParamMap2*>& GetParamMaps | ( | ) | [inline, protected] |
{ return paramMaps; }
PB2Export void ResetClassParams | ( | BOOL | fileReset | ) | [virtual] |
fileReset | This parameter is not used. |
Reimplemented from ClassDesc.
Reimplemented in MSPluginDesc.
PB2Export int NumParamBlockDescs | ( | ) | [inline, virtual] |
Reimplemented from ClassDesc.
{ return pbDescs.Count(); }
PB2Export ParamBlockDesc2* GetParamBlockDesc | ( | int | i | ) | [inline, virtual] |
i | The zero based index of the parameter block2 descriptor to return. |
Reimplemented from ClassDesc.
{ return pbDescs[i]; }
PB2Export ParamBlockDesc2* GetParamBlockDescByID | ( | BlockID | id | ) | [virtual] |
id | The permanent ID for the parameter block. |
Reimplemented from ClassDesc.
PB2Export ParamBlockDesc2* GetParamBlockDescByName | ( | MCHAR * | name | ) |
name | The internal name of the parameter block descriptor. |
PB2Export void AddParamBlockDesc | ( | ParamBlockDesc2 * | pbd | ) | [virtual] |
pbd | Points to the parameter block2 descriptor of the parameter block2 to add. |
Reimplemented from ClassDesc.
PB2Export void ClearParamBlockDescs | ( | ) | [inline] |
{ pbDescs.ZeroCount(); }
PB2Export void BeginEditParams | ( | IObjParam * | ip, |
ReferenceMaker * | obj, | ||
ULONG | flags, | ||
Animatable * | prev | ||
) | [virtual] |
ip | The interface pointer passed to the plug-in. |
obj | Points to the plug-in class calling this method. |
flags | The flags passed along to the plug-in in Animatable::BeginEditParams(). |
prev | The pointer passed to the plug-in in Animatable::BeginEditParams(). |
Reimplemented from ClassDesc.
PB2Export void EndEditParams | ( | IObjParam * | ip, |
ReferenceMaker * | obj, | ||
ULONG | flags, | ||
Animatable * | prev | ||
) | [virtual] |
ip | The interface pointer passed to the plug-in. |
obj | Points to the plug-in class calling this method. |
flags | The flags passed along to the plug-in in Animatable::EndEditParams(). |
prev | The pointer passed to the plug-in in Animatable::EndEditParams(). |
Reimplemented from ClassDesc.
PB2Export void InvalidateUI | ( | ) |
PB2Export void InvalidateUI | ( | ParamBlockDesc2 * | pbd | ) | [virtual] |
pbd | Points to the parameter block descriptor for the rollup. |
Reimplemented from ClassDesc.
PB2Export void InvalidateUI | ( | ParamBlockDesc2 * | pbd, |
ParamID | id, | ||
int | tabIndex =
-1 |
||
) |
pbd | Points to the parameter block descriptor for the rollup. |
id | The permanent parameter ID of the parameter. |
tabIndex | If the parameter is a Tab<> then this is the zero based index into the table. The default value of -1 indicates it is not a table. |
PB2Export void MakeAutoParamBlocks | ( | ReferenceMaker * | owner | ) | [virtual] |
owner | Points to the plug-in class calling this method. |
Reimplemented from ClassDesc.
PB2Export int NumParamMaps | ( | ) | [inline, virtual] |
Reimplemented from ClassDesc.
{ return paramMaps.Count(); }
PB2Export IParamMap2* GetParamMap | ( | int | i | ) | [inline, virtual] |
i | Points to the parameter block descriptor2 associated with this parameter map. |
Reimplemented from ClassDesc.
{ return paramMaps[i]; }
PB2Export IParamMap2* GetParamMap | ( | ParamBlockDesc2 * | pbd, |
MapID | map_id = 0 |
||
) |
pbd | Points to the parameter block descriptor2 associated with this parameter map. |
map_id | This parameter specifies the ID of the map/rollout to get. |
PB2Export void SetUserDlgProc | ( | ParamBlockDesc2 * | pbd, |
MapID | map_id, | ||
ParamMap2UserDlgProc * | proc = NULL |
||
) |
void SetUserDlgProc | ( | ParamBlockDesc2 * | pbd, |
ParamMap2UserDlgProc * | proc = NULL |
||
) | [inline, virtual] |
pbd | Points to the parameter block descriptor for the parameter map. |
proc | Points to the class derived from ParamMap2UserDlgProc which handles the controls. |
Reimplemented from ClassDesc.
{ SetUserDlgProc(pbd, 0, proc); }
PB2Export ParamMap2UserDlgProc* GetUserDlgProc | ( | ParamBlockDesc2 * | pbd, |
MapID | map_id = 0 |
||
) |
pbd | Points to the parameter block descriptor for the parameter map. |
map_id | Specifies the ID of the map/rollout to get the user dialog proc for. |
PB2Export IAutoMParamDlg* CreateParamDlgs | ( | HWND | hwMtlEdit, |
IMtlParams * | imp, | ||
ReferenceTarget * | obj | ||
) |
hwMtlEdit | The window handle of the materials editor. |
imp | The interface pointer provided for calling methods in 3ds Max. |
obj | Points to the plug-in class calling this method. |
PB2Export IAutoMParamDlg* CreateParamDlg | ( | BlockID | id, |
HWND | hwMtlEdit, | ||
IMtlParams * | imp, | ||
ReferenceTarget * | obj, | ||
MapID | mapID = 0 |
||
) |
id | The permanent ID of the parameter block. |
hwMtlEdit | The window handle of the materials editor. |
imp | The interface pointer provided for calling methods in 3ds Max. |
obj | Points to the plug-in class calling this method. |
mapID | Specifies the ID of the map/rollout in the parameter block to create AutoMParamDlg for. |
PB2Export IAutoEParamDlg* CreateParamDialogs | ( | IRendParams * | ip, |
SpecialFX * | obj | ||
) |
ip | The interface pointer provided for calling methods in 3ds Max. |
obj | Points to the plug-in class calling this method. See Class SpecialFX. |
PB2Export IAutoEParamDlg* CreateParamDialog | ( | BlockID | id, |
IRendParams * | ip, | ||
SpecialFX * | obj, | ||
MapID | mapID = 0 |
||
) |
id | The permanent ID of the parameter block. |
ip | The interface pointer provided for calling methods in 3ds Max. |
obj | Points to the plug-in class calling this method. See Class SpecialFX. |
mapID | Specifies the ID of the map/rollout in the parameter block to create AutoEParamDlg for. |
PB2Export void MasterDlgDeleted | ( | IAutoMParamDlg * | dlg | ) |
dlg | Pointer to the object which handles the automatic processing of the user interface in the materials editor. |
PB2Export void MasterDlgDeleted | ( | IAutoEParamDlg * | dlg | ) |
dlg | Pointer to the object which handles the automatic processing of the user interface in the rendering effects dialog. |
PB2Export IAutoMParamDlg* GetMParamDlg | ( | ) | [inline] |
{ return masterMDlg; }
PB2Export IAutoEParamDlg* GetEParamDlg | ( | ) | [inline] |
{ return masterEDlg; }
PB2Export void RestoreRolloutState | ( | ) |
PB2Export ParamID LastNotifyParamID | ( | ReferenceMaker * | owner, |
IParamBlock2 *& | pb | ||
) |
owner | The owner of the parameter blocks. |
pb | The parameter block which made the most recent notification. |
PB2Export void Reset | ( | ReferenceMaker * | owner, |
BOOL | updateUI = TRUE , |
||
BOOL | callSetHandlers =
TRUE |
||
) |
owner | The owner of this ClassDesc2. |
updateUI | If TRUE to user interface is updated. If FALSE it's not. |
callSetHandlers | TRUE to call PBAccessor::Set() for all the parameters; otherwise FALSE. |
PB2Export void GetValidity | ( | ReferenceMaker * | owner, |
TimeValue | t, | ||
Interval & | valid | ||
) |
owner | The owner of this ClassDesc2. |
t | The time about which to compute the interval. |
valid | The interval to update. |
PB2Export void RemoveParamBlockDesc | ( | ParamBlockDesc2 * | pbd | ) |
pbd | A pointer to the parameter block descriptor to remove. |