#include <mxsPlugin.h>

| Public Member Functions | |
| void | DeleteThis () | 
| HWND | AddRollupPage (HINSTANCE hInst, MCHAR *dlgTemplate, DLGPROC dlgProc, MCHAR *title, LPARAM param=0, DWORD flags=0, int category=ROLLUP_CAT_STANDARD) | 
| void | DeleteRollupPage (HWND hRollup) | 
| IRollupWindow * | GetRollupWindow () | 
| ReferenceTarget * | get_delegate () | 
| void | GetClassName (MSTR &s) | 
| Class_ID | ClassID () | 
| void | FreeCaches () | 
| int | NumSubs () | 
| Animatable * | SubAnim (int i) | 
| MSTR | SubAnimName (int i) | 
| int | NumParamBlocks () | 
| IParamBlock2 * | GetParamBlock (int i) | 
| IParamBlock2 * | GetParamBlockByID (BlockID id) | 
| void * | GetInterface (ULONG id) | 
| virtual BaseInterface * | GetInterface (Interface_ID id) | 
| RefResult | NotifyRefChanged (Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message) | 
| int | NumRefs () | 
| RefTargetHandle | GetReference (int i) | 
| void | SetReference (int i, RefTargetHandle rtarg) | 
| void | RefDeleted () | 
| void | RefAdded (RefMakerHandle rm) | 
| IOResult | Save (ISave *isave) | 
| IOResult | Load (ILoad *iload) | 
| MSTR | GetName () | 
| BOOL | Active (TimeValue t) | 
| void | Update (TimeValue t, Interval &valid) | 
| int | NumGizmos () | 
| INode * | GetGizmo (int i) | 
| void | DeleteGizmo (int i) | 
| void | AppendGizmo (INode *node) | 
| BOOL | OKGizmo (INode *node) | 
| void | EditGizmo (INode *node) | 
| Public Attributes | |
| IRendParams * | ip | 
| void DeleteThis | ( | ) | 
Reimplemented from MSPlugin.
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
| HWND AddRollupPage | ( | HINSTANCE | hInst, | 
| MCHAR * | dlgTemplate, | ||
| DLGPROC | dlgProc, | ||
| MCHAR * | title, | ||
| LPARAM | param = 0, | ||
| DWORD | flags = 0, | ||
| int | category = ROLLUP_CAT_STANDARD | ||
| ) | [virtual] | 
Implements MSPlugin.
| void DeleteRollupPage | ( | HWND | hRollup | ) | [virtual] | 
Implements MSPlugin.
| IRollupWindow* GetRollupWindow | ( | ) | [virtual] | 
Implements MSPlugin.
| ReferenceTarget* get_delegate | ( | ) | [inline, virtual] | 
Implements MSPlugin.
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return NULL; }  // no delegate
| void GetClassName | ( | MSTR & | s | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
| Class_ID ClassID | ( | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return pc->class_id; }
| void FreeCaches | ( | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ }         
| int NumSubs | ( | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
| Animatable* SubAnim | ( | int | i | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return pblocks[i]; }
| MSTR SubAnimName | ( | int | i | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return pblocks[i]->GetLocalName(); }
| int NumParamBlocks | ( | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
| IParamBlock2* GetParamBlock | ( | int | i | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return pblocks[i]; }
| IParamBlock2* GetParamBlockByID | ( | BlockID | id | ) | [inline] | 
Reimplemented from MSPlugin.
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return MSPlugin::GetParamBlockByID(id); }
| void* GetInterface | ( | ULONG | id | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; else return TYPE::GetInterface(id); }
| virtual BaseInterface* GetInterface | ( | Interface_ID | id | ) | [inline, virtual] | 
Reimplemented from Value.
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
                                                       { 
        // GetInterface(Interface_ID) was added after the MAX 4
        // SDK shipped. This did not break the SDK because
        // it only calls the base class implementation. If you add
        // any other code here, plugins compiled with the MAX 4 SDK
        // that derive from MSPluginSpecialFX and call Base class
        // implementations of GetInterface(Interface_ID), will not call
        // that code in this routine. This means that the interface
        // you are adding will not be exposed for these objects,
        // and could have unexpected results.
        return TYPE::GetInterface(id); 
    }
| RefResult NotifyRefChanged | ( | Interval | changeInt, | 
| RefTargetHandle | hTarget, | ||
| PartID & | partID, | ||
| RefMessage | message | ||
| ) | [inline] | 
| int NumRefs | ( | ) | 
| RefTargetHandle GetReference | ( | int | i | ) | 
| void SetReference | ( | int | i, | 
| RefTargetHandle | rtarg | ||
| ) | 
| void RefDeleted | ( | ) | [inline] | 
| void RefAdded | ( | RefMakerHandle | rm | ) | [inline] | 
Reimplemented from MSPlugin.
{ MSPlugin::Save(isave); return SpecialFX::Save(isave); }
Reimplemented from MSPlugin.
{ MSPlugin::Load(iload); return SpecialFX::Load(iload); }
| BOOL Active | ( | TimeValue | t | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return SpecialFX::Active(t); }
| void Update | ( | TimeValue | t, | 
| Interval & | valid | ||
| ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ SpecialFX::Update(t, valid); }
| int NumGizmos | ( | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return SpecialFX::NumGizmos(); }
| INode* GetGizmo | ( | int | i | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return SpecialFX::GetGizmo(i); }
| void DeleteGizmo | ( | int | i | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ SpecialFX::DeleteGizmo(i); }
| void AppendGizmo | ( | INode * | node | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ SpecialFX::AppendGizmo(node); }
| BOOL OKGizmo | ( | INode * | node | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ return SpecialFX::OKGizmo(node); } 
| void EditGizmo | ( | INode * | node | ) | [inline] | 
Reimplemented in MSSpecialFXXtnd< Effect, MSPluginEffect >, and MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >.
{ SpecialFX::EditGizmo(node); }