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

#include <mxsPlugin.h>

+ Inheritance diagram for MSPluginSpecialFX< TYPE >:

Public Member Functions

void DeleteThis () override
 
HWND AddRollupPage (HINSTANCE hInst, const MCHAR *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD vflags=0, int category=ROLLUP_CAT_STANDARD) override
 
void DeleteRollupPage (HWND hRollup) override
 
IRollupWindowGetRollupWindow () override
 
void RollupMouseMessage (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) 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
 
RefResult NotifyRefChanged (const Interval &changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message, BOOL propagate) override
 
int NumRefs () override
 
RefTargetHandle GetReference (int i) override
 
void SetReference (int i, RefTargetHandle rtarg) override
 
void RefDeleted (RefMakerHandle rm) override
 
void RefAdded (RefMakerHandle rm) override
 
void RefAddedUndoRedo (RefMakerHandle rm) override
 
void RefDeletedUndoRedo (RefMakerHandle rm) override
 
IOResult Save (ISave *iSave) override
 
IOResult Load (ILoad *iLoad) override
 
MSTR GetName (bool localized=true) const 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 Member Functions inherited from MSPlugin
 MSPlugin ()
 
virtual ~MSPlugin ()
 
void init (MSPluginClass *pClass)
 
ScripterExport void gc_trace () override
 
ScripterExport void collect () override
 
void DeleteThis ()
 
void init_locals ()
 
void call_handler (Value *handler, Value **arg_list, int count, TimeValue t, BOOL disable_on_error=FALSE)
 
Value_call_handler (Value *handler, Value **arg_list, int count, TimeValue t, BOOL disable_on_error=FALSE)
 
FPStatus call_handler (const MCHAR *handler_name, FPParams *params, FPValue &result, TimeValue t, BOOL disable_on_error=FALSE)
 
FPStatus call_handler (Value *handler, FPParams *params, FPValue &result, TimeValue t, BOOL disable_on_error=FALSE)
 
void post_create (ReferenceTarget *me, BOOL loading)
 
void call_all_set_handlers ()
 
void disable ()
 
void enable ()
 
BOOL enabled ()
 
int get_local_index (Value *prop)
 
Valueget_local (int index)
 
void set_local (int index, Value *val)
 
ScripterExport IParamBlock2GetParamBlockByID (BlockID id)
 
virtual HWND AddRollupPage (HINSTANCE hInst, const MCHAR *dlgTemplate, DLGPROC dlgProc, const MCHAR *title, LPARAM param=0, DWORD vflags=0, int category=ROLLUP_CAT_STANDARD)=0
 
virtual void DeleteRollupPage (HWND hRollup)=0
 
virtual IRollupWindowGetRollupWindow ()=0
 
virtual void RollupMouseMessage (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)=0
 
ScripterExport RefResult NotifyRefChanged (const Interval &changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message, BOOL propagate)
 
ScripterExport RefTargetHandle clone_from (MSPlugin *obj, ReferenceTarget *obj_as_ref, RemapDir &remap)
 
void RefAdded (RefMakerHandle rm)
 
ScripterExport void RefDeleted (RefMakerHandle rm)
 
void NotifyTarget (int msg, RefMakerHandle rm)
 
virtual ReferenceTargetget_delegate ()=0
 
IOResult Save (ISave *isave) override
 
IOResult Load (ILoad *iLoad)
 
void post_load (ILoad *iLoad, int which)
 
void dump_local_vars_and_externals (int indentLevel)
 
- Public Member Functions inherited from Value
virtual ScripterExport BOOL is_kind_of (ValueMetaClass *c)
 
virtual ScripterExport ValueMetaClasslocal_base_class ()
 
virtual Valueeval ()
 
virtual Valueeval_no_wrapper ()
 
virtual ScripterExport Valueapply (Value **arglist, int count, CallContext *cc=nullptr)
 
virtual ScripterExport Valueapply_no_alloc_frame (Value **arglist, int count, CallContext *cc=nullptr)
 
virtual void export_to_scripter ()
 
virtual Valuemap (node_map &m)
 
virtual Valuemap_path (PathName *path, node_map &m)
 
virtual Valuefind_first (BOOL(*test_fn)(INode *node, int level, const void *arg), const void *test_arg)
 
virtual Valueget_path (PathName *path)
 
virtual ScripterExport void sprin1 (CharStream *stream)
 
virtual ScripterExport void sprint (CharStream *stream)
 
virtual void prin1 ()
 
virtual void print ()
 
virtual Class_ID get_max_class_id ()
 
virtual Valuedelete_vf (Value **arglist, int arg_count)
 
virtual ValueclearSelection_vf (Value **arglist, int arg_count)
 
virtual float to_float ()
 
virtual double to_double ()
 
virtual const MCHARto_string ()
 
virtual MSTR to_mstr ()
 
virtual MSTR to_filename ()
 
virtual int to_int ()
 
virtual INT64 to_int64 ()
 
virtual INT_PTR to_intptr ()
 
virtual BOOL to_bool ()
 
virtual BitArrayto_bitarray ()
 
virtual Point4 to_point4 ()
 
virtual Point3 to_point3 ()
 
virtual Point2 to_point2 ()
 
virtual AColor to_acolor ()
 
virtual COLORREF to_colorref ()
 
virtual INodeto_node ()
 
virtual Ray to_ray ()
 
virtual Interval to_interval ()
 
virtual Quat to_quat ()
 
virtual AngAxis to_angaxis ()
 
virtual Matrix3to_matrix3 ()
 
virtual Box3 to_box3 ()
 
virtual float * to_eulerangles ()
 
virtual Mtlto_mtl ()
 
virtual Texmapto_texmap ()
 
virtual MtlBaseto_mtlbase ()
 
virtual Modifierto_modifier ()
 
virtual TimeValue to_timevalue ()
 
virtual Controlto_controller ()
 
virtual Atmosphericto_atmospheric ()
 
virtual Effectto_effect ()
 
virtual IMultiPassCameraEffectto_mpassCamEffect ()
 
virtual ShadowTypeto_shadowtype ()
 
virtual FilterKernelto_filter ()
 
virtual INodeto_rootnode ()
 
virtual ITrackViewNodeto_trackviewnode ()
 
virtual NURBSIndependentPointto_nurbsindependentpoint ()
 
virtual NURBSPointto_nurbspoint ()
 
virtual NURBSObjectto_nurbsobject ()
 
virtual NURBSControlVertexto_nurbscontrolvertex ()
 
virtual NURBSCurveto_nurbscurve ()
 
virtual NURBSCVCurveto_nurbscvcurve ()
 
virtual NURBSSurfaceto_nurbssurface ()
 
virtual NURBSTexturePointto_nurbstexturepoint ()
 
virtual NURBSSetto_nurbsset ()
 
virtual ReferenceTargetto_reftarg ()
 
virtual Meshto_mesh ()
 
virtual BezierShapeto_beziershape ()
 
virtual Thunkto_thunk ()
 
virtual void to_fpvalue (FPValue &v)
 
virtual Rendererto_renderer ()
 
virtual Box2to_box2 ()
 
virtual NURBSTextureSurfaceto_nurbstexturesurface ()
 
virtual NURBSDisplayto_nurbsdisplay ()
 
virtual TessApproxto_tessapprox ()
 
virtual Valuewiden_to (Value *arg, Value **arg_list)
 
virtual BOOL comparable (Value *arg)
 
virtual BOOL special_case_compare (Value *arg, bool &specialCaseCompareResult)
 
virtual ScripterExport Valuedeep_copy (HashTable *remapper)
 
virtual BOOL is_const ()
 
virtual ScripterExport Valueget_property (Value **arg_list, int count)
 
virtual ScripterExport Valueset_property (Value **arg_list, int count)
 
ScripterExport Value_get_property (Value *prop)
 
virtual ScripterExport Value_set_property (Value *prop, Value *val)
 
virtual Valueget_container_property (Value *prop, Value *cur_prop)
 
virtual Valueset_container_property (Value *prop, Value *val, Value *cur_prop)
 
virtual BOOL _is_collection ()
 
virtual BOOL _is_charstream ()
 
virtual BOOL _is_rolloutcontrol ()
 
virtual BOOL _is_rolloutthunk ()
 
virtual BOOL _is_function ()
 
virtual BOOL _is_selection ()
 
virtual BOOL _is_thunk ()
 
virtual BOOL _is_indirect_thunk ()
 
virtual SelectionIteratorselection_iterator ()
 
virtual ScripterExport IOResult Save (ISave *isave)
 
virtual void drop_MAX_refs ()
 
virtual BaseInterfaceGetInterface (Interface_ID id)
 
ScripterExport Valuemake_heap_permanent ()
 
ScripterExport Valuemake_heap_static ()
 
ScripterExport Valueget_heap_ptr ()
 
ScripterExport Valueget_stack_heap_ptr ()
 
ScripterExport Valuemigrate_to_heap ()
 
ScripterExport Valueget_live_ptr ()
 
virtual BOOL object_supports_case_sensitive_names ()
 
ScripterExport Value_get_property (Value *prop, Value *prop_name_as_parsed)
 
ScripterExport Value_set_property (Value *prop, Value *val, Value *prop_name_as_parsed)
 
virtual ScripterExport Valueget_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
virtual ScripterExport Valueset_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
ScripterExport Valueinvoke_getter_case_sensitive_property (Value *target, getter_vf getter, Value **arg_list, int count, const TCHAR *case_sensitive_name, const TCHAR *nested_prop_case_sensitive_name)
 
ScripterExport Valueinvoke_setter_case_sensitive_property (Value *target, setter_vf setter, Value **arg_list, int count, const TCHAR *case_sensitive_name, const TCHAR *nested_prop_case_sensitive_name)
 
- Public Member Functions inherited from Collectable
ScripterExport Collectable ()
 
virtual ScripterExport ~Collectable ()
 
ScripterExport voidoperator new (size_t sz, char flag)
 
ScripterExport voidoperator new (size_t sz)
 
ScripterExport void operator delete (void *val)
 
ScripterExport void operator delete (void *val, char flag)
 
virtual void collect ()=0
 
virtual ScripterExport void gc_trace ()
 
ScripterExport bool derives_from_Animatable ()
 
virtual BOOL derives_from_MAXWrapper ()
 
ScripterExport void make_collectable ()
 
void make_permanent ()
 
void make_static ()
 
int is_marked ()
 
int is_not_marked ()
 
int is_garbage ()
 
int is_permanent ()
 
void mark_in_use ()
 
void unmark_in_use ()
 
int has_heap_copy ()
 
int is_in_heap ()
 
int is_on_stack ()
 

Public Attributes

IRendParamsip
 
- Public Attributes inherited from MSPlugin
MSPluginClasspc
 
Value ** locals
 
short flags
 
int version
 
ReferenceTargetref
 
Tab< IParamBlock2 * > pblocks
 
ILoadiload
 
- Public Attributes inherited from Value
ValueMetaClasstag
 
- Public Attributes inherited from Collectable
Collectablenext
 
Collectableprev
 
byte flags
 
byte flags2
 
short flags3
 

Additional Inherited Members

- Static Public Member Functions inherited from Collectable
static ScripterExport void for_all_values (void(*map_fn)(Value *val), ValueMapper *mapper=nullptr, ValueMetaClass *c=nullptr)
 
static void mark ()
 
static void sweep ()
 
static void setup (size_t)
 
static ScripterExport void gc ()
 
static void coalesce_free_list ()
 
static void close_down ()
 
static void drop_maxwrapper_refs ()
 
static ScripterExport void push_alloc_stack_frame ()
 
static ScripterExport void pop_alloc_stack_frame ()
 
static ScripterExport ULONGLONG get_num_values_created ()
 
static ScripterExport bool validate_value_linkages ()
 
- Static Public Attributes inherited from Collectable
static CRITICAL_SECTION heap_update
 
static Collectablecollectable_list
 
static Collectablepermanent_list
 
static free_memfree_list [GC_NUM_SUBLISTS]
 
static size_t heap_allocated
 
static size_t heap_size
 
static ScripterExport collectable_state state
 
static ScripterExport bool fullCollectNextHoldFlush
 
static bool gc_light
 
static bool in_gc
 
static HANDLE hGCCompletedEvent
 
- Static Protected Attributes inherited from Value
static ScripterExport Valuekeyarg_marker_value
 

Member Function Documentation

◆ DeleteThis()

◆ AddRollupPage()

HWND AddRollupPage ( HINSTANCE  hInst,
const MCHAR dlgTemplate,
DLGPROC  dlgProc,
const MCHAR title,
LPARAM  param = 0,
DWORD  vflags = 0,
int  category = ROLLUP_CAT_STANDARD 
)
overridevirtual

Implements MSPlugin.

◆ DeleteRollupPage()

void DeleteRollupPage ( HWND  hRollup)
overridevirtual

Implements MSPlugin.

◆ GetRollupWindow()

IRollupWindow * GetRollupWindow ( )
overridevirtual

Implements MSPlugin.

◆ RollupMouseMessage()

void RollupMouseMessage ( HWND  hDlg,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)
overridevirtual

Implements MSPlugin.

◆ get_delegate()

ReferenceTarget * get_delegate ( )
inlineoverridevirtual

Implements MSPlugin.

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2875{ return nullptr; } // no delegate

◆ GetClassName()

void GetClassName ( MSTR s,
bool  localized 
) const
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2878{ s = (localized) ? pc->ClassName() : pc->NonLocalizedClassName(); }
const MCHAR * NonLocalizedClassName()
Definition: mxsPlugin.h:218
const MCHAR * ClassName()
Definition: mxsPlugin.h:217
MSPluginClass * pc
Definition: mxsPlugin.h:352

◆ ClassID()

Class_ID ClassID ( )
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2879{ return pc->class_id; }
Class_ID class_id
Definition: mxsobjects.h:541

◆ FreeCaches()

void FreeCaches ( )
inlineoverride

◆ NumSubs()

int NumSubs ( )
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2881{ return pblocks.Count(); }
Tab< IParamBlock2 * > pblocks
Definition: mxsPlugin.h:357
int Count() const
Retrieves the number of items in the Tab.
Definition: tab.h:219

◆ SubAnim()

Animatable * SubAnim ( int  i)
inlineoverride

◆ SubAnimName()

MSTR SubAnimName ( int  i,
bool  localized = true 
)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2884 {
2885 if (pblocks[i]->GetDesc()->local_name != 0)
2886 {
2887 return localized ? pblocks[i]->GetLocalName() : pblocks[i]->GetDesc()->int_name.data();
2888 }
2889
2890 return _T("");
2891 }
constexpr T * data() noexcept
Returns a pointer to the data buffer of tab. Standard compliant.
Definition: tab.h:278

◆ NumParamBlocks()

int NumParamBlocks ( )
inlineoverride

◆ GetParamBlock()

IParamBlock2 * GetParamBlock ( int  i)
inlineoverride

◆ GetParamBlockByID()

IParamBlock2 * GetParamBlockByID ( BlockID  id)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

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

◆ GetInterface() [1/2]

void * GetInterface ( ULONG  id)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2895{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; return TYPE::GetInterface(id); }
Definition: mxsPlugin.h:350
#define I_MAXSCRIPTPLUGIN
An Animatable supporting this interface is a MSPlugin.
Definition: AnimatableInterfaceIDs.h:64

◆ GetInterface() [2/2]

BaseInterface * GetInterface ( Interface_ID  id)
inlineoverridevirtual

Reimplemented from Value.

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2898 {
2900 // GetInterface(Interface_ID) was added after the MAX 4
2901 // SDK shipped. This did not break the SDK because
2902 // it only calls the base class implementation. If you add
2903 // any other code here, plugins compiled with the MAX 4 SDK
2904 // that derive from MSPluginSpecialFX and call Base class
2905 // implementations of GetInterface(Interface_ID), will not call
2906 // that code in this routine. This means that the interface
2907 // you are adding will not be exposed for these objects,
2908 // and could have unexpected results.
2909 return TYPE::GetInterface(id);
2911 }

◆ NotifyRefChanged()

RefResult NotifyRefChanged ( const Interval changeInt,
RefTargetHandle  hTarget,
PartID partID,
RefMessage  message,
BOOL  propagate 
)
inlineoverride
2916 {
2917 return ((MSPlugin*)this)->NotifyRefChanged(changeInt, hTarget, partID, message, propagate);
2918 }

◆ NumRefs()

◆ GetReference()

◆ SetReference()

◆ RefDeleted()

void RefDeleted ( RefMakerHandle  rm)
inlineoverride
2924{ MSPlugin::RefDeleted(rm); }
ScripterExport void RefDeleted(RefMakerHandle rm)

◆ RefAdded()

void RefAdded ( RefMakerHandle  rm)
inlineoverride
2925{ MSPlugin::RefAdded(rm); }
void RefAdded(RefMakerHandle rm)

◆ RefAddedUndoRedo()

void RefAddedUndoRedo ( RefMakerHandle  rm)
inlineoverride
2926{ MSPlugin::RefAdded(rm); };

◆ RefDeletedUndoRedo()

void RefDeletedUndoRedo ( RefMakerHandle  rm)
inlineoverride
2927{ MSPlugin::RefDeleted(rm); };

◆ Save()

IOResult Save ( ISave iSave)
inlineoverridevirtual

Reimplemented from MSPlugin.

2928{ MSPlugin::Save(iSave); return SpecialFX::Save(iSave); }
IOResult Save(ISave *isave) override
CoreExport IOResult Save(ISave *isave)

◆ Load()

IOResult Load ( ILoad iLoad)
inlineoverride
2929{ MSPlugin::Load(iLoad); return SpecialFX::Load(iLoad); }
IOResult Load(ILoad *iLoad)
CoreExport IOResult Load(ILoad *iload)

◆ GetName()

MSTR GetName ( bool  localized = true) const
inlineoverride
2932{ return localized ? pc->class_name->to_string() : pc->nonLocalized_class_name->to_string(); }
Value * class_name
Definition: mxsPlugin.h:136
Value * nonLocalized_class_name
Definition: mxsPlugin.h:137
virtual const MCHAR * to_string()
Definition: value.h:178

◆ Active()

BOOL Active ( TimeValue  t)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2933{ return SpecialFX::Active(t); }
virtual BOOL Active(TimeValue t)
Definition: sfx.h:187

◆ Update()

void Update ( TimeValue  t,
Interval valid 
)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2934{ SpecialFX::Update(t, valid); }
virtual void Update(TimeValue t, Interval &valid)
Definition: sfx.h:200

◆ NumGizmos()

int NumGizmos ( )
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2935{ return SpecialFX::NumGizmos(); }
virtual int NumGizmos()
Definition: sfx.h:255

◆ GetGizmo()

INode * GetGizmo ( int  i)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2936{ return SpecialFX::GetGizmo(i); }
virtual INode * GetGizmo(int i)
Definition: sfx.h:262

◆ DeleteGizmo()

void DeleteGizmo ( int  i)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

virtual void DeleteGizmo(int i)
Definition: sfx.h:269

◆ AppendGizmo()

void AppendGizmo ( INode node)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2938{ SpecialFX::AppendGizmo(node); }
virtual void AppendGizmo(INode *node)
Definition: sfx.h:277

◆ OKGizmo()

BOOL OKGizmo ( INode node)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2939{ return SpecialFX::OKGizmo(node); }
virtual BOOL OKGizmo(INode *node)
Definition: sfx.h:285

◆ EditGizmo()

void EditGizmo ( INode node)
inlineoverride

Reimplemented in MSSpecialFXXtnd< Atmospheric, MSPluginAtmos >, and MSSpecialFXXtnd< Effect, MSPluginEffect >.

2940{ SpecialFX::EditGizmo(node); }
virtual void EditGizmo(INode *node)
Definition: sfx.h:299

Member Data Documentation

◆ ip