3ds Max C++ API Reference
MSSpecialFXXtnd< TYPE, MS_SUPER > Class Template Reference

#include <mxsPlugin.h>

+ Inheritance diagram for MSSpecialFXXtnd< TYPE, MS_SUPER >:

Public Member Functions

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

Public Attributes

TYPE * delegate
 

Member Function Documentation

◆ DeleteThis()

void DeleteThis ( )

◆ get_delegate()

ReferenceTarget* get_delegate ( )
inline
2917 { return delegate; }
TYPE * delegate
Definition: mxsPlugin.h:2912

◆ GetClassName()

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

◆ ClassID()

Class_ID ClassID ( )
inline
2921 { return MS_SUPER::pc->class_id; }

◆ FreeCaches()

void FreeCaches ( )
inline
2922 { delegate->FreeCaches(); }

◆ NumSubs()

int NumSubs ( )
inline
2923 { return MS_SUPER::pblocks.Count() + 1; }

◆ SubAnim()

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

◆ SubAnimName()

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

◆ NumParamBlocks()

int NumParamBlocks ( )
inline
2942 { return MS_SUPER::pblocks.Count(); }

◆ GetParamBlock()

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

◆ GetParamBlockByID()

IParamBlock2* GetParamBlockByID ( BlockID  id)
inline
2944 { return MSPlugin::GetParamBlockByID(id); }
ScripterExport IParamBlock2 * GetParamBlockByID(BlockID id)

◆ GetInterface() [1/2]

void* GetInterface ( ULONG  id)
inline
2945 { if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; else return MS_SUPER::GetInterface(id); }
CoreExport FPInterface * GetInterface(SClass_ID super, Class_ID cls, Interface_ID id)
Get ID'd interface from ClassDesc for given class/sclass.
Definition: mxsPlugin.h:350
#define I_MAXSCRIPTPLUGIN
An Animatable supporting this interface is a MSPlugin.
Definition: AnimatableInterfaceIDs.h:64

◆ GetInterface() [2/2]

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

◆ NumRefs()

int NumRefs ( )

◆ GetReference()

RefTargetHandle GetReference ( int  i)

◆ SetReference()

void SetReference ( int  i,
RefTargetHandle  rtarg 
)

◆ Active()

BOOL Active ( TimeValue  t)
inline
2972 { return delegate->Active(t); }

◆ Update()

void Update ( TimeValue  t,
Interval valid 
)

◆ NumGizmos()

int NumGizmos ( )
inline
2974 { return delegate->NumGizmos(); }

◆ GetGizmo()

INode* GetGizmo ( int  i)
inline
2975 { return delegate->GetGizmo(i); }

◆ DeleteGizmo()

void DeleteGizmo ( int  i)
inline
2976 { delegate->DeleteGizmo(i); }

◆ AppendGizmo()

void AppendGizmo ( INode node)
inline
2977 { delegate->AppendGizmo(node); }

◆ OKGizmo()

BOOL OKGizmo ( INode node)
inline
2978 { return delegate->OKGizmo(node); }

◆ EditGizmo()

void EditGizmo ( INode node)
inline
2979 { delegate->EditGizmo(node); }

Member Data Documentation

◆ delegate

TYPE* delegate