3ds Max C++ API Reference
Loading...
Searching...
No Matches
MSSpecialFXXtnd< TYPE, MS_SUPER > Class Template Reference

#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/maxscript/mxsplugin/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()

template<class TYPE, class MS_SUPER>
void DeleteThis ( )
override

◆ get_delegate()

template<class TYPE, class MS_SUPER>
ReferenceTarget * get_delegate ( )
inlineoverride
2925{ return delegate; }
TYPE * delegate
Definition mxsPlugin.h:2920

◆ GetClassName()

template<class TYPE, class MS_SUPER>
void GetClassName ( MSTR & s,
bool localized ) const
inlineoverride
2928{ s = (localized) ? MS_SUPER::pc->ClassName() : MS_SUPER::pc->NonLocalizedClassName(); }
Definition mxsPlugin.h:2918

◆ ClassID()

template<class TYPE, class MS_SUPER>
Class_ID ClassID ( )
inlineoverride
2929{ return MS_SUPER::pc->class_id; }

◆ FreeCaches()

template<class TYPE, class MS_SUPER>
void FreeCaches ( )
inlineoverride
2930{ delegate->FreeCaches(); }

◆ NumSubs()

template<class TYPE, class MS_SUPER>
int NumSubs ( )
inlineoverride
2931{ return MS_SUPER::pblocks.Count() + 1; }

◆ SubAnim()

template<class TYPE, class MS_SUPER>
Animatable * SubAnim ( int i)
inlineoverride
2932{ if (i == 0) { return delegate; } return MS_SUPER::pblocks[i-1]; }

◆ SubAnimName()

template<class TYPE, class MS_SUPER>
MSTR SubAnimName ( int i,
bool localized = true )
inlineoverride
2934 {
2935 if (i == 0)
2936 {
2937 MSTR n;
2938 delegate->GetClassName(n, localized);
2939 return n;
2940 }
2941 if (MS_SUPER::pblocks[i - 1]->GetDesc()->local_name != 0)
2942 {
2943 return localized ? MS_SUPER::pblocks[i - 1]->GetLocalName() : MS_SUPER::pblocks[i - 1]->GetDesc()->int_name.data();
2944 }
2945 return _T("");
2946 }

◆ NumParamBlocks()

template<class TYPE, class MS_SUPER>
int NumParamBlocks ( )
inlineoverride
2947{ return MS_SUPER::pblocks.Count(); }

◆ GetParamBlock()

template<class TYPE, class MS_SUPER>
IParamBlock2 * GetParamBlock ( int i)
inlineoverride
2948{ return MS_SUPER::pblocks[i]; }

◆ GetParamBlockByID()

template<class TYPE, class MS_SUPER>
IParamBlock2 * GetParamBlockByID ( BlockID id)
inlineoverride
2949{ return MSPlugin::GetParamBlockByID(id); }
ScripterExport IParamBlock2 * GetParamBlockByID(BlockID id)

◆ GetInterface() [1/2]

template<class TYPE, class MS_SUPER>
void * GetInterface ( ULONG id)
inlineoverride
2950{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; return MS_SUPER::GetInterface(id); }

◆ GetInterface() [2/2]

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

◆ NumRefs()

template<class TYPE, class MS_SUPER>
int NumRefs ( )
override

◆ GetReference()

template<class TYPE, class MS_SUPER>
RefTargetHandle GetReference ( int i)
override

◆ SetReference()

template<class TYPE, class MS_SUPER>
void SetReference ( int i,
RefTargetHandle rtarg )
override

◆ Active()

template<class TYPE, class MS_SUPER>
BOOL Active ( TimeValue t)
inlineoverride
2977{ return delegate->Active(t); }

◆ Update()

template<class TYPE, class MS_SUPER>
void Update ( TimeValue t,
Interval & valid )
override

◆ NumGizmos()

template<class TYPE, class MS_SUPER>
int NumGizmos ( )
inlineoverride
2979{ return delegate->NumGizmos(); }

◆ GetGizmo()

template<class TYPE, class MS_SUPER>
INode * GetGizmo ( int i)
inlineoverride
2980{ return delegate->GetGizmo(i); }

◆ DeleteGizmo()

template<class TYPE, class MS_SUPER>
void DeleteGizmo ( int i)
inlineoverride
2981{ delegate->DeleteGizmo(i); }

◆ AppendGizmo()

template<class TYPE, class MS_SUPER>
void AppendGizmo ( INode * node)
inlineoverride
2982{ delegate->AppendGizmo(node); }

◆ OKGizmo()

template<class TYPE, class MS_SUPER>
BOOL OKGizmo ( INode * node)
inlineoverride
2983{ return delegate->OKGizmo(node); }

◆ EditGizmo()

template<class TYPE, class MS_SUPER>
void EditGizmo ( INode * node)
inlineoverride
2984{ delegate->EditGizmo(node); }

Member Data Documentation

◆ delegate

template<class TYPE, class MS_SUPER>
TYPE* delegate