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
2922{ return delegate; }
TYPE * delegate
Definition mxsPlugin.h:2917

◆ GetClassName()

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

◆ ClassID()

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

◆ FreeCaches()

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

◆ NumSubs()

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

◆ SubAnim()

template<class TYPE, class MS_SUPER>
Animatable * SubAnim ( int i)
inlineoverride
2929{ 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
2931 {
2932 if (i == 0)
2933 {
2934 MSTR n;
2935 delegate->GetClassName(n, localized);
2936 return n;
2937 }
2938 if (MS_SUPER::pblocks[i - 1]->GetDesc()->local_name != 0)
2939 {
2940 return localized ? MS_SUPER::pblocks[i - 1]->GetLocalName() : MS_SUPER::pblocks[i - 1]->GetDesc()->int_name.data();
2941 }
2942 return _T("");
2943 }

◆ NumParamBlocks()

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

◆ GetParamBlock()

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

◆ GetParamBlockByID()

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

◆ GetInterface() [1/2]

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

◆ 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
2974{ 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
2976{ return delegate->NumGizmos(); }

◆ GetGizmo()

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

◆ DeleteGizmo()

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

◆ AppendGizmo()

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

◆ OKGizmo()

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

◆ EditGizmo()

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

Member Data Documentation

◆ delegate

template<class TYPE, class MS_SUPER>
TYPE* delegate