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

#include <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
 
IRollupWindow * GetRollupWindow () override
 
void RollupMouseMessage (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) override
 
ReferenceTarget * get_delegate () override
 
void GetClassName (MSTR &s, bool localized) const override
 
Class_ID ClassID () override
 
void FreeCaches () override
 
int NumSubs () override
 
Animatable * SubAnim (int i) override
 
MSTR SubAnimName (int i, bool localized=true) override
 
int NumParamBlocks () override
 
IParamBlock2 * GetParamBlock (int i) override
 
IParamBlock2 * GetParamBlockByID (BlockID id) override
 
void * GetInterface (ULONG id) override
 
BaseInterface * GetInterface (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 MCHAR * GetObjectName (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
 
CreateMouseCallBack * GetCreateMouseCallBack () 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
 
Object * ConvertToType (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
 
- 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)
 
Value * get_local (int index)
 
void set_local (int index, Value *val)
 
ScripterExport IParamBlock2 * GetParamBlockByID (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 IRollupWindow * GetRollupWindow ()=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 ReferenceTarget * get_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 ValueMetaClass * local_base_class ()
 
virtual Value * eval ()
 
virtual Value * eval_no_wrapper ()
 
virtual ScripterExport Value * apply (Value **arglist, int count, CallContext *cc=nullptr)
 
virtual ScripterExport Value * apply_no_alloc_frame (Value **arglist, int count, CallContext *cc=nullptr)
 
virtual void export_to_scripter ()
 
virtual Value * map (node_map &m)
 
virtual Value * map_path (PathName *path, node_map &m)
 
virtual Value * find_first (BOOL(*test_fn)(INode *node, int level, const void *arg), const void *test_arg)
 
virtual Value * get_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 Value * delete_vf (Value **arglist, int arg_count)
 
virtual Value * clearSelection_vf (Value **arglist, int arg_count)
 
virtual float to_float ()
 
virtual double to_double ()
 
virtual const MCHAR * to_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 INode * to_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 Mtl * to_mtl ()
 
virtual Texmap * to_texmap ()
 
virtual MtlBase * to_mtlbase ()
 
virtual Modifier * to_modifier ()
 
virtual TimeValue to_timevalue ()
 
virtual Control * to_controller ()
 
virtual Atmospheric * to_atmospheric ()
 
virtual Effect * to_effect ()
 
virtual IMultiPassCameraEffect * to_mpassCamEffect ()
 
virtual ShadowType * to_shadowtype ()
 
virtual FilterKernel * to_filter ()
 
virtual INode * to_rootnode ()
 
virtual ITrackViewNode * to_trackviewnode ()
 
virtual NURBSIndependentPoint * to_nurbsindependentpoint ()
 
virtual NURBSPoint * to_nurbspoint ()
 
virtual NURBSObject * to_nurbsobject ()
 
virtual NURBSControlVertex * to_nurbscontrolvertex ()
 
virtual NURBSCurve * to_nurbscurve ()
 
virtual NURBSCVCurve * to_nurbscvcurve ()
 
virtual NURBSSurface * to_nurbssurface ()
 
virtual NURBSTexturePoint * to_nurbstexturepoint ()
 
virtual NURBSSet * to_nurbsset ()
 
virtual ReferenceTarget * to_reftarg ()
 
virtual Mesh * to_mesh ()
 
virtual BezierShape * to_beziershape ()
 
virtual Thunk * to_thunk ()
 
virtual void to_fpvalue (FPValue &v)
 
virtual Renderer * to_renderer ()
 
virtual Box2 & to_box2 ()
 
virtual NURBSTextureSurface * to_nurbstexturesurface ()
 
virtual NURBSDisplay * to_nurbsdisplay ()
 
virtual TessApprox * to_tessapprox ()
 
virtual Value * widen_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 Value * deep_copy (HashTable *remapper)
 
virtual BOOL is_const ()
 
virtual ScripterExport Value * get_property (Value **arg_list, int count)
 
virtual ScripterExport Value * set_property (Value **arg_list, int count)
 
ScripterExport Value * _get_property (Value *prop)
 
virtual ScripterExport Value * _set_property (Value *prop, Value *val)
 
virtual Value * get_container_property (Value *prop, Value *cur_prop)
 
virtual Value * set_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 SelectionIterator * selection_iterator ()
 
virtual ScripterExport IOResult Save (ISave *isave)
 
virtual void drop_MAX_refs ()
 
virtual BaseInterface * GetInterface (Interface_ID id)
 
ScripterExport Value * make_heap_permanent ()
 
ScripterExport Value * make_heap_static ()
 
ScripterExport Value * get_heap_ptr ()
 
ScripterExport Value * get_stack_heap_ptr ()
 
ScripterExport Value * migrate_to_heap ()
 
ScripterExport Value * get_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 Value * get_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
virtual ScripterExport Value * set_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
ScripterExport Value * invoke_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 Value * invoke_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 void * operator new (size_t sz, char flag)
 
ScripterExport void * operator 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

IObjParam * ip
 
- Public Attributes inherited from MSPlugin
MSPluginClass * pc
 
Value ** locals
 
short flags
 
int version
 
ReferenceTarget * ref
 
Tab< IParamBlock2 * > pblocks
 
ILoad * iload
 
- Public Attributes inherited from Value
ValueMetaClass * tag
 
- Public Attributes inherited from Collectable
Collectable * next
 
Collectable * prev
 
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 Collectable * collectable_list
 
static Collectable * permanent_list
 
static free_mem * free_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 Value * keyarg_marker_value
 

Constructor & Destructor Documentation

◆ MSPluginObject()

MSPluginObject ( )
inline
474: TYPE(){}

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()

◆ GetClassName()

void GetClassName ( MSTR &  s,
bool  localized 
) const
inlineoverride

Reimplemented in MSObjectXtnd< GenCamera, MSPluginCamera >, MSObjectXtnd< GeomObject, MSPluginGeomObject >, MSObjectXtnd< HelperObject, MSPluginHelper >, MSObjectXtnd< GenLight, MSPluginLight >, and MSObjectXtnd< ShapeObject, MSPluginShape >.

484{ s = (localized) ? pc->ClassName() : pc->NonLocalizedClassName(); }
const MCHAR * NonLocalizedClassName()
Definition: mxsPlugin.h:216
const MCHAR * ClassName()
Definition: mxsPlugin.h:215
MSPluginClass * pc
Definition: mxsPlugin.h:350

◆ ClassID()

◆ FreeCaches()

◆ NumSubs()

int NumSubs ( )
inlineoverride

Reimplemented in MSObjectXtnd< GenCamera, MSPluginCamera >, MSObjectXtnd< GeomObject, MSPluginGeomObject >, MSObjectXtnd< HelperObject, MSPluginHelper >, MSObjectXtnd< GenLight, MSPluginLight >, and MSObjectXtnd< ShapeObject, MSPluginShape >.

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

◆ SubAnim()

◆ SubAnimName()

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

Reimplemented in MSObjectXtnd< GenCamera, MSPluginCamera >, MSObjectXtnd< GeomObject, MSPluginGeomObject >, MSObjectXtnd< HelperObject, MSPluginHelper >, MSObjectXtnd< GenLight, MSPluginLight >, and MSObjectXtnd< ShapeObject, MSPluginShape >.

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 }
constexpr T * data() noexcept
Returns a pointer to the data buffer of tab. Standard compliant.
Definition: tab.h:278

◆ NumParamBlocks()

◆ GetParamBlock()

◆ GetParamBlockByID()

◆ GetInterface() [1/2]

void * GetInterface ( ULONG  id)
inlineoverride

Reimplemented in MSObjectXtnd< GenCamera, MSPluginCamera >, MSObjectXtnd< GeomObject, MSPluginGeomObject >, MSObjectXtnd< HelperObject, MSPluginHelper >, MSObjectXtnd< GenLight, MSPluginLight >, and MSObjectXtnd< ShapeObject, MSPluginShape >.

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

◆ GetInterface() [2/2]

◆ NotifyRefChanged()

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()

◆ GetReference()

◆ SetReference()

◆ RefDeleted()

void RefDeleted ( RefMakerHandle  rm)
inlineoverride
ScripterExport void RefDeleted(RefMakerHandle rm)

◆ RefAdded()

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

◆ RefAddedUndoRedo()

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

◆ RefDeletedUndoRedo()

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

◆ Save()

IOResult Save ( ISave *  iSave)
inlineoverridevirtual

Reimplemented from MSPlugin.

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

◆ Load()

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

◆ NotifyTarget()

void NotifyTarget ( int  msg,
RefMakerHandle  rm 
)
inlineoverride
519{ MSPlugin::NotifyTarget(msg, rm); }
void NotifyTarget(int msg, RefMakerHandle rm)

◆ GetObjectName()

◆ BeginEditParams()

◆ EndEditParams()

◆ HitTest()

◆ Display()

◆ GetWorldBoundBox()

◆ GetLocalBoundBox()

◆ Snap()

◆ GetCreateMouseCallBack()

◆ HasUVW()

◆ SetGenUVW()

◆ Eval()

ObjectState Eval ( TimeValue  time)
inlineoverride

◆ InitNodeName()

void InitNodeName ( MSTR &  s)
inlineoverride

◆ ObjectValidity()

◆ CanConvertToType()

◆ ConvertToType()

◆ GetCollapseTypes()

◆ GetDeformBBox()

void GetDeformBBox ( TimeValue  t,
Box3 &  box,
Matrix3 *  tm,
BOOL  useSel 
)
inlineoverride

Reimplemented in MSObjectXtnd< GenCamera, MSPluginCamera >, MSObjectXtnd< GeomObject, MSPluginGeomObject >, MSObjectXtnd< HelperObject, MSPluginHelper >, MSObjectXtnd< GenLight, MSPluginLight >, and MSObjectXtnd< ShapeObject, MSPluginShape >.

541{ Object::GetDeformBBox(t, box, tm, useSel); }
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 ...
MAXClass box

◆ IntersectRay()

Member Data Documentation

◆ ip

IObjParam* ip