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=true) 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
2921 { return delegate; }
TYPE * delegate
Definition: mxsPlugin.h:2916

◆ GetClassName()

void GetClassName ( MSTR s,
bool  localized = true 
) const
inlineoverride
2924 { UNUSED_PARAM(localized); s = MS_SUPER::pc->name->to_string(); } // non-localized name
#define UNUSED_PARAM(x)
Definition: BuildWarnings.h:18

◆ ClassID()

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

◆ FreeCaches()

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

◆ NumSubs()

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

◆ SubAnim()

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

◆ SubAnimName()

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

◆ NumParamBlocks()

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

◆ GetParamBlock()

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

◆ GetParamBlockByID()

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

◆ GetInterface() [1/2]

void* GetInterface ( ULONG  id)
inline
2949 { 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:67

◆ GetInterface() [2/2]

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

◆ NumRefs()

int NumRefs ( )

◆ GetReference()

RefTargetHandle GetReference ( int  i)

◆ SetReference()

void SetReference ( int  i,
RefTargetHandle  rtarg 
)

◆ Active()

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

◆ Update()

void Update ( TimeValue  t,
Interval valid 
)

◆ NumGizmos()

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

◆ GetGizmo()

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

◆ DeleteGizmo()

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

◆ AppendGizmo()

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

◆ OKGizmo()

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

◆ EditGizmo()

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

Member Data Documentation

◆ delegate

TYPE* delegate