3ds Max C++ API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
MSSpecialFXXtnd< TYPE, MS_SUPER > Class Template Reference

#include <mxsPlugin.h>

+ Inheritance diagram for MSSpecialFXXtnd< TYPE, MS_SUPER >:

Public Member Functions

void DeleteThis () override
 
ReferenceTargetget_delegate () override
 
void GetClassName (MSTR &s, bool localized) const override
 
Class_ID ClassID () override
 
void FreeCaches () override
 
int NumSubs () override
 
AnimatableSubAnim (int i) override
 
MSTR SubAnimName (int i, bool localized=true) override
 
int NumParamBlocks () override
 
IParamBlock2GetParamBlock (int i) override
 
IParamBlock2GetParamBlockByID (BlockID id) override
 
voidGetInterface (ULONG id) override
 
BaseInterfaceGetInterface (Interface_ID id) override
 
int NumRefs () override
 
RefTargetHandle GetReference (int i) override
 
void SetReference (int i, RefTargetHandle rtarg) override
 
BOOL Active (TimeValue t) override
 
void Update (TimeValue t, Interval &valid) override
 
int NumGizmos () override
 
INodeGetGizmo (int i) override
 
void DeleteGizmo (int i) override
 
void AppendGizmo (INode *node) override
 
BOOL OKGizmo (INode *node) override
 
void EditGizmo (INode *node) override
 

Public Attributes

TYPE * delegate
 

Member Function Documentation

◆ DeleteThis()

void DeleteThis ( )
override

◆ get_delegate()

ReferenceTarget * get_delegate ( )
inlineoverride
2919{ return delegate; }
TYPE * delegate
Definition: mxsPlugin.h:2914

◆ GetClassName()

void GetClassName ( MSTR s,
bool  localized 
) const
inlineoverride
2922{ s = (localized) ? MS_SUPER::pc->ClassName() : MS_SUPER::pc->NonLocalizedClassName(); }

◆ ClassID()

Class_ID ClassID ( )
inlineoverride
2923{ return MS_SUPER::pc->class_id; }

◆ FreeCaches()

void FreeCaches ( )
inlineoverride
2924{ delegate->FreeCaches(); }

◆ NumSubs()

int NumSubs ( )
inlineoverride
2925{ return MS_SUPER::pblocks.Count() + 1; }

◆ SubAnim()

Animatable * SubAnim ( int  i)
inlineoverride
2926{ if (i == 0) { return delegate; } return MS_SUPER::pblocks[i-1]; }

◆ SubAnimName()

MSTR SubAnimName ( int  i,
bool  localized = true 
)
inlineoverride
2928 {
2929 if (i == 0)
2930 {
2931 MSTR n;
2932 delegate->GetClassName(n, localized);
2933 return n;
2934 }
2935 if (MS_SUPER::pblocks[i - 1]->GetDesc()->local_name != 0)
2936 {
2937 return localized ? MS_SUPER::pblocks[i - 1]->GetLocalName() : MS_SUPER::pblocks[i - 1]->GetDesc()->int_name.data();
2938 }
2939 return _T("");
2940 }
Definition: strclass.h:775
const wchar_t * data() const

◆ NumParamBlocks()

int NumParamBlocks ( )
inlineoverride
2941{ return MS_SUPER::pblocks.Count(); }

◆ GetParamBlock()

IParamBlock2 * GetParamBlock ( int  i)
inlineoverride
2942{ return MS_SUPER::pblocks[i]; }

◆ GetParamBlockByID()

IParamBlock2 * GetParamBlockByID ( BlockID  id)
inlineoverride
2943{ return MSPlugin::GetParamBlockByID(id); }
ScripterExport IParamBlock2 * GetParamBlockByID(BlockID id)

◆ GetInterface() [1/2]

void * GetInterface ( ULONG  id)
inlineoverride
2944{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; return MS_SUPER::GetInterface(id); }
Definition: mxsPlugin.h:348
#define I_MAXSCRIPTPLUGIN
An Animatable supporting this interface is a MSPlugin.
Definition: AnimatableInterfaceIDs.h:64

◆ GetInterface() [2/2]

BaseInterface * GetInterface ( Interface_ID  id)
inlineoverride
2947 {
2949 // GetInterface(Interface_ID) was added after the MAX 4
2950 // SDK shipped. This did not break the SDK because
2951 // it only calls the base class implementation. If you add
2952 // any other code here, plugins compiled with the MAX 4 SDK
2953 // that derive from MSSpecialFXXtnd and call Base class
2954 // implementations of GetInterface(Interface_ID), will not call
2955 // that code in this routine. This means that the interface
2956 // you are adding will not be exposed for these objects,
2957 // and could have unexpected results.
2958 return MS_SUPER::GetInterface(id);
2960 }

◆ NumRefs()

int NumRefs ( )
override

◆ GetReference()

RefTargetHandle GetReference ( int  i)
override

◆ SetReference()

void SetReference ( int  i,
RefTargetHandle  rtarg 
)
override

◆ Active()

BOOL Active ( TimeValue  t)
inlineoverride
2971{ return delegate->Active(t); }

◆ Update()

void Update ( TimeValue  t,
Interval valid 
)
override

◆ NumGizmos()

int NumGizmos ( )
inlineoverride
2973{ return delegate->NumGizmos(); }

◆ GetGizmo()

INode * GetGizmo ( int  i)
inlineoverride
2974{ return delegate->GetGizmo(i); }

◆ DeleteGizmo()

void DeleteGizmo ( int  i)
inlineoverride
2975{ delegate->DeleteGizmo(i); }

◆ AppendGizmo()

void AppendGizmo ( INode node)
inlineoverride
2976{ delegate->AppendGizmo(node); }

◆ OKGizmo()

BOOL OKGizmo ( INode node)
inlineoverride
2977{ return delegate->OKGizmo(node); }

◆ EditGizmo()

void EditGizmo ( INode node)
inlineoverride
2978{ delegate->EditGizmo(node); }

Member Data Documentation

◆ delegate

TYPE* delegate