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

#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/maxscript/mxsplugin/mxsPlugin.h>

Inheritance diagram for MSPluginObject< TYPE >:

Public Member Functions

void DeleteThis () override
 MSPluginObject ()
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
void NotifyTarget (int msg, RefMakerHandle rm) override
const MCHARGetObjectName (bool localized=true) const override
void BeginEditParams (IObjParam *objParam, ULONG vflags, Animatable *pPrev) override
void EndEditParams (IObjParam *objParam, ULONG vflags, Animatable *pNext) override
int HitTest (TimeValue t, INode *inode, int type, int crossing, int vflags, IPoint2 *p, ViewExp *vpt) override
int Display (TimeValue t, INode *inode, ViewExp *vpt, int vflags) override
void GetWorldBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box) override
void GetLocalBoundBox (TimeValue t, INode *inode, ViewExp *vpt, Box3 &box) override
void Snap (TimeValue t, INode *inode, SnapInfo *snap, IPoint2 *p, ViewExp *vpt) override
CreateMouseCallBackGetCreateMouseCallBack () override
BOOL HasUVW () override
void SetGenUVW (BOOL sw) override
ObjectState Eval (TimeValue time) override
void InitNodeName (MSTR &s) override
Interval ObjectValidity (TimeValue t) override
int CanConvertToType (Class_ID obtype) override
ObjectConvertToType (TimeValue t, Class_ID obtype) override
void GetCollapseTypes (Tab< Class_ID > &clist, Tab< MSTR * > &nlist) override
void GetDeformBBox (TimeValue t, Box3 &box, Matrix3 *tm, BOOL useSel) override
int IntersectRay (TimeValue t, Ray &r, float &at, Point3 &norm) override
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)
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)
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)
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 BitArray & to_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 Matrix3 & to_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 Box2 & to_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 bool ValuesEqual (Value *other, bool strictCompare)
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 void drop_MAX_refs ()
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)
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

IObjParamip
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

Constructor & Destructor Documentation

◆ MSPluginObject()

template<class TYPE>
MSPluginObject ( )
inline
474: TYPE(){}
Definition mxsPlugin.h:463

Member Function Documentation

◆ DeleteThis()

template<class TYPE>
void DeleteThis ( )
override

◆ AddRollupPage()

template<class TYPE>
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()

template<class TYPE>
void DeleteRollupPage ( HWND hRollup)
overridevirtual

Implements MSPlugin.

◆ GetRollupWindow()

template<class TYPE>
IRollupWindow * GetRollupWindow ( )
overridevirtual

Implements MSPlugin.

◆ RollupMouseMessage()

template<class TYPE>
void RollupMouseMessage ( HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam )
overridevirtual

Implements MSPlugin.

◆ get_delegate()

template<class TYPE>
ReferenceTarget * get_delegate ( )
inlineoverridevirtual

Implements MSPlugin.

481{ return nullptr; } // no delegate

◆ GetClassName()

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

◆ ClassID()

template<class TYPE>
Class_ID ClassID ( )
inlineoverride
485{ return pc->class_id; }

◆ FreeCaches()

template<class TYPE>
void FreeCaches ( )
inlineoverride
486{ }

◆ NumSubs()

template<class TYPE>
int NumSubs ( )
inlineoverride
487{ return pblocks.Count(); }
Tab< IParamBlock2 * > pblocks
Definition mxsPlugin.h:355

◆ SubAnim()

template<class TYPE>
Animatable * SubAnim ( int i)
inlineoverride
488{ return pblocks[i]; }

◆ SubAnimName()

template<class TYPE>
MSTR SubAnimName ( int i,
bool localized = true )
inlineoverride
490 {
491 if (pblocks[i]->GetDesc()->local_name != 0)
492 {
493 return localized ? pblocks[i]->GetLocalName() : pblocks[i]->GetDesc()->int_name.data();
494 }
495 return _T("");
496 }

◆ NumParamBlocks()

template<class TYPE>
int NumParamBlocks ( )
inlineoverride
497{ return pblocks.Count(); }

◆ GetParamBlock()

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

◆ GetParamBlockByID()

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

◆ GetInterface() [1/2]

template<class TYPE>
void * GetInterface ( ULONG id)
inlineoverride
500{ if (id == I_MAXSCRIPTPLUGIN) return (MSPlugin*)this; return TYPE::GetInterface(id); }
MSPlugin()
Definition mxsPlugin.h:358

◆ GetInterface() [2/2]

template<class TYPE>
BaseInterface * GetInterface ( Interface_ID id)
inlineoverridevirtual

Reimplemented from Value.

501{ return TYPE::GetInterface(id); }

◆ NotifyRefChanged()

template<class TYPE>
RefResult NotifyRefChanged ( const Interval & changeInt,
RefTargetHandle hTarget,
PartID & partID,
RefMessage message,
BOOL propagate )
inlineoverride
505 {
506 return ((MSPlugin*)this)->NotifyRefChanged(changeInt, hTarget, partID, message, propagate);
507 }

◆ NumRefs()

template<class TYPE>
int NumRefs ( )
override

◆ GetReference()

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

◆ SetReference()

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

◆ RefDeleted()

template<class TYPE>
void RefDeleted ( RefMakerHandle rm)
inlineoverride
ScripterExport void RefDeleted(RefMakerHandle rm)

◆ RefAdded()

template<class TYPE>
void RefAdded ( RefMakerHandle rm)
inlineoverride
void RefAdded(RefMakerHandle rm)

◆ RefAddedUndoRedo()

template<class TYPE>
void RefAddedUndoRedo ( RefMakerHandle rm)
inlineoverride

◆ RefDeletedUndoRedo()

template<class TYPE>
void RefDeletedUndoRedo ( RefMakerHandle rm)
inlineoverride

◆ Save()

template<class TYPE>
IOResult Save ( ISave * iSave)
inlineoverridevirtual

Reimplemented from MSPlugin.

Reimplemented in MSPluginShape, and MSShapeXtnd.

517{ return MSPlugin::Save(iSave); }
IOResult Save(ISave *isave) override

◆ Load()

template<class TYPE>
IOResult Load ( ILoad * iLoad)
inlineoverride

Reimplemented in MSPluginShape, and MSShapeXtnd.

518{ return MSPlugin::Load(iLoad); }
IOResult Load(ILoad *iLoad)

◆ NotifyTarget()

template<class TYPE>
void NotifyTarget ( int msg,
RefMakerHandle rm )
inlineoverride
void NotifyTarget(int msg, RefMakerHandle rm)

◆ GetObjectName()

template<class TYPE>
const MCHAR * GetObjectName ( bool localized = true) const
inlineoverride
522{ return (localized) ? pc->ClassName() : pc->NonLocalizedClassName(); }

◆ BeginEditParams()

template<class TYPE>
void BeginEditParams ( IObjParam * objParam,
ULONG vflags,
Animatable * pPrev )
override

◆ EndEditParams()

template<class TYPE>
void EndEditParams ( IObjParam * objParam,
ULONG vflags,
Animatable * pNext )
override

◆ HitTest()

template<class TYPE>
int HitTest ( TimeValue t,
INode * inode,
int type,
int crossing,
int vflags,
IPoint2 * p,
ViewExp * vpt )
inlineoverride

Reimplemented in MSShapeXtnd.

525{ return 0; }

◆ Display()

template<class TYPE>
int Display ( TimeValue t,
INode * inode,
ViewExp * vpt,
int vflags )
inlineoverride
526{ return 0; }

◆ GetWorldBoundBox()

template<class TYPE>
void GetWorldBoundBox ( TimeValue t,
INode * inode,
ViewExp * vpt,
Box3 & box )
inlineoverride
527{ }

◆ GetLocalBoundBox()

template<class TYPE>
void GetLocalBoundBox ( TimeValue t,
INode * inode,
ViewExp * vpt,
Box3 & box )
inlineoverride
528{ }

◆ Snap()

template<class TYPE>
void Snap ( TimeValue t,
INode * inode,
SnapInfo * snap,
IPoint2 * p,
ViewExp * vpt )
inlineoverride
529{ }

◆ GetCreateMouseCallBack()

template<class TYPE>
CreateMouseCallBack * GetCreateMouseCallBack ( )
inlineoverride
530{ return nullptr; }

◆ HasUVW()

template<class TYPE>
BOOL HasUVW ( )
inlineoverride

Reimplemented in MSPluginShape, and MSShapeXtnd.

531{ return 1; }

◆ SetGenUVW()

template<class TYPE>
void SetGenUVW ( BOOL sw)
inlineoverride

Reimplemented in MSPluginShape, and MSShapeXtnd.

532{ }

◆ Eval()

template<class TYPE>
ObjectState Eval ( TimeValue time)
inlineoverride

Reimplemented in MSShapeXtnd.

535{ return ObjectState(this); }

◆ InitNodeName()

template<class TYPE>
void InitNodeName ( MSTR & s)
inlineoverride

Reimplemented in MSPluginShape, and MSShapeXtnd.

536{s = GetObjectName(true);} // non-localized name
const MCHAR * GetObjectName(bool localized=true) const override
Definition mxsPlugin.h:522

◆ ObjectValidity()

template<class TYPE>
Interval ObjectValidity ( TimeValue t)
inlineoverride
537{ return FOREVER; }

◆ CanConvertToType()

template<class TYPE>
int CanConvertToType ( Class_ID obtype)
inlineoverride
538{ return 0; }

◆ ConvertToType()

template<class TYPE>
Object * ConvertToType ( TimeValue t,
Class_ID obtype )
inlineoverride
539{ return nullptr; }

◆ GetCollapseTypes()

template<class TYPE>
void GetCollapseTypes ( Tab< Class_ID > & clist,
Tab< MSTR * > & nlist )
inlineoverride
540{ }

◆ GetDeformBBox()

template<class TYPE>
void GetDeformBBox ( TimeValue t,
Box3 & box,
Matrix3 * tm,
BOOL useSel )
inlineoverride
virtual CoreExport void GetDeformBBox(TimeValue t, Box3 &box, Matrix3 *tm=NULL, BOOL useSel=FALSE)
This method computes the bounding box in the objects local coordinates or the optional space defined ...

◆ IntersectRay()

template<class TYPE>
int IntersectRay ( TimeValue t,
Ray & r,
float & at,
Point3 & norm )
inlineoverride

Reimplemented in MSPluginShape, and MSShapeXtnd.

542{ return 0; }

◆ operator new() [1/2]

template<class TYPE>
ScripterExport void * operator new ( size_t sz,
char flag )

◆ operator new() [2/2]

template<class TYPE>
ScripterExport void * operator new ( size_t sz)

◆ operator delete() [1/2]

template<class TYPE>
ScripterExport void operator delete ( void * val)

◆ operator delete() [2/2]

template<class TYPE>
ScripterExport void operator delete ( void * val,
char flag )

Member Data Documentation

◆ ip

template<class TYPE>
IObjParam* ip