maxscript/mxsplugin/mxsPlugin.h File Reference

mxsPlugin.h File Reference
+ This reference page is linked to from the following overview topics:

Classes

class  ParamRef
 

Macros

#define is_msplugin_class(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MSPluginClass))
 
#define MPC_TEMPORARY   (1<<0)
 
#define MPC_REDEFINITION   (1<<1)
 
#define MPC_MS_CREATING   (1<<2)
 
#define MPC_MS_WAS_CREATING   (1<<3)
 
#define MPC_EDITING_IN_CP   (1<<4)
 
#define MPC_EDITING_IN_MTLEDT   (1<<5)
 
#define MPC_EDITING_IN_EFX   (1<<6)
 
#define MPC_REPLACE_UI   (1<<7)
 
#define MPC_INVISIBLE   (1<<8)
 
#define MPC_SILENTERRORS   (1<<9)
 
#define MPC_MAX_CREATING   (1<<10)
 
#define MPC_ABORT_CREATE   (1<<11)
 
#define MPC_LEVEL_6   (1<<12)
 
#define MPC_IS_MANIP   (1<<13)
 
#define MPC_ALTERNATE   (1<<14)
 
#define MPC_CAD_FILESAVE   (1<<15)
 
#define MPC_PROMOTE_DEL_PROPS   (1<<16)
 
#define MPC_USE_PB_VALIDITY   (1<<17)
 
#define MPC_CAD_FILELOAD_LOADDEFDATA   (1<<18)
 
#define key_parm(_key)   _get_key_param(keys, n_##_key)
 
#define MSP_LOADING   0x0001
 
#define MSP_DISABLED   0x0002
 
#define MSP_DELETED   0x0004
 
#define MSPLUGIN_CHUNK   0x0010
 

Typedefs

typedef RefTargetHandle(* creator_fn )(MSPluginClass *pic, BOOL loading)
 

Enumerations

enum  { pl_this, pl_version, pl_loading, pl_delegate }
 
enum  { pl_extent = pl_delegate + 1, pl_min, pl_max, pl_center }
 
enum  { pl_mesh = pl_delegate + 1 }
 
enum  {
  pl_target = pl_delegate + 1, pl_node, pl_gizmoDontDisplay, pl_gizmoDontHitTest,
  pl_gizmoScaleToViewport, pl_gizmoUseScreenSpace, pl_gizmoActiveViewportOnly, pl_gizmoUseRelativeScreenSpace
}
 

Functions

visible_class(MSPluginClass)
class MSPluginClass void 
ctor_init ()
 
 MSPluginClass (Value *name, MAXSuperClass *supcls, creator_fn cfn)
 
 ~MSPluginClass ()
 
static MSPluginClassintern (Value *name, MAXSuperClass *supcls, creator_fn cfn)
 
void init (int local_count, Value **inits, HashTable *local_scope, HashTable *handlers, Array *pblock_defs, Array *iremap_param_names, Array *rollouts, MouseTool *create_tool)
 
BOOL is_kind_of (ValueMetaClass *c)
 
void gc_trace ()
 
void collect ()
 
Valueapply (Value **arglist, int count, CallContext *cc=NULL)
 
void SetClassID (Value *cidv)
 
void SetExtension (Value *cls)
 
bool ValidateIfExtendingClass (bool forceRevalidate=false)
 
void SetVersion (Value *ver)
 
void StopEditing (int stop_flags=0)
 
void RestartEditing ()
 
static int lookup_assetType (Value *name)
 
static ParamType2 lookup_type (Value *name)
 
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)
 
virtual bool is_custAttribDef ()
 
void install_alternate (ReferenceTarget *ref)
 
void build_paramblk_descs ()
 
void redefine (MSPlugin *val, HashTable *old_locals, Array *old_pblock_defs)
 
Arrayfind_pblock_def (Value *name, Array *pblock_defs)
 
static void save_class_defs (ISave *isave)
 
static IOResult load_class_def (ILoad *iload)
 
static void post_load (ILoad *iload, int which)
 
virtual BOOL OkToCreate (Interface *i)
 
virtual RefTargetHandle Create (BOOL loading)
 
const MCHARClassName ()
 
SClass_ID SuperClassID ()
 
Class_ID ClassID ()
 
const MCHARCategory ()
 
const MCHARInternalName ()
 
HINSTANCE HInstance ()
 
BOOL IsManipulator ()
 
BOOL CanManipulate (ReferenceTarget *hTarget)
 
BOOL CanManipulateNode (INode *pNode)
 
ManipulatorCreateManipulator (ReferenceTarget *hTarget, INode *pNode)
 
ManipulatorCreateManipulator (INode *pNode)
 
Valueget_property (Value **arg_list, int count)
 
Valueset_property (Value **arg_list, int count)
 

Variables

bool validate_ExtendingClass_failed
 
Valueclass_name
 
HINSTANCE hInstance
 
ClassDescextend_cd
 
MAXClassextend_maxclass
 
creator_fn obj_creator
 
HashTablelocal_scope
 
Value ** local_inits
 
int local_count
 
HashTablehandlers
 
Arrayrollouts
 
MouseToolcreate_tool
 
Arraypblock_defs
 
Arrayremap_param_names
 
Arrayloading_pblock_defs
 
Tab< ParamBlockDesc2 * > pbds
 
ReferenceTargetalternate
 
Tab< ParamRefsub_texmaps
 
Tab< ParamRefsub_mtls
 
int version
 
DWORD mpc_flags
 
DWORD rollup_state
 
static HashTablemsp_classes
 
static MSPlugin * creating
 
static bool loading
 

Macro Definition Documentation

#define is_msplugin_class (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MSPluginClass))
#define MPC_TEMPORARY   (1<<0)
#define MPC_REDEFINITION   (1<<1)
#define MPC_MS_CREATING   (1<<2)
#define MPC_MS_WAS_CREATING   (1<<3)
#define MPC_EDITING_IN_CP   (1<<4)
#define MPC_EDITING_IN_MTLEDT   (1<<5)
#define MPC_EDITING_IN_EFX   (1<<6)
#define MPC_REPLACE_UI   (1<<7)
#define MPC_INVISIBLE   (1<<8)
#define MPC_SILENTERRORS   (1<<9)
#define MPC_MAX_CREATING   (1<<10)
#define MPC_ABORT_CREATE   (1<<11)
#define MPC_LEVEL_6   (1<<12)
#define MPC_IS_MANIP   (1<<13)
#define MPC_ALTERNATE   (1<<14)
#define MPC_CAD_FILESAVE   (1<<15)
#define MPC_PROMOTE_DEL_PROPS   (1<<16)
#define MPC_USE_PB_VALIDITY   (1<<17)
#define MPC_CAD_FILELOAD_LOADDEFDATA   (1<<18)
#define key_parm (   _key)    _get_key_param(keys, n_##_key)
#define MSP_LOADING   0x0001
#define MSP_DISABLED   0x0002
#define MSP_DELETED   0x0004
#define MSPLUGIN_CHUNK   0x0010

Typedef Documentation

typedef RefTargetHandle(* creator_fn)(MSPluginClass *pic, BOOL loading)

Enumeration Type Documentation

anonymous enum
Enumerator
pl_this 
pl_version 
pl_loading 
pl_delegate 
71  {
73 };
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:72
anonymous enum
Enumerator
pl_extent 
pl_min 
pl_max 
pl_center 
75  {
76  pl_extent = pl_delegate + 1, pl_min, pl_max, pl_center // for SimpleMods
77 };
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:76
Definition: mxsPlugin.h:76
Definition: mxsPlugin.h:76
Definition: mxsPlugin.h:76
anonymous enum
Enumerator
pl_mesh 
79  {
80  pl_mesh = pl_delegate + 1 // for SimpleObjects
81 };
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:80
anonymous enum
Enumerator
pl_target 
pl_node 
pl_gizmoDontDisplay 
pl_gizmoDontHitTest 
pl_gizmoScaleToViewport 
pl_gizmoUseScreenSpace 
pl_gizmoActiveViewportOnly 
pl_gizmoUseRelativeScreenSpace 
83  {
84  pl_target = pl_delegate + 1, pl_node, // for SimpleManipulators
87 };
Definition: mxsPlugin.h:86
Definition: mxsPlugin.h:72
Definition: mxsPlugin.h:84
Definition: mxsPlugin.h:85
Definition: mxsPlugin.h:86
Definition: mxsPlugin.h:85
Definition: mxsPlugin.h:84
Definition: mxsPlugin.h:85
Definition: mxsPlugin.h:86

Function Documentation

MSPluginClass ( Value name,
MAXSuperClass supcls,
creator_fn  cfn 
)
static MSPluginClass* intern ( Value name,
MAXSuperClass supcls,
creator_fn  cfn 
)
static
void init ( int  local_count,
Value **  inits,
HashTable local_scope,
HashTable handlers,
Array pblock_defs,
Array iremap_param_names,
Array rollouts,
MouseTool create_tool 
)
BOOL is_kind_of ( ValueMetaClass c)
149 { return (c == class_tag(MSPluginClass)) ? 1 : MAXClass::is_kind_of(c); }
#define class_tag(_cls)
Definition: value.h:438
BOOL is_kind_of(ValueMetaClass *c)
Definition: mxsPlugin.h:149
MSPluginClass(Value *name, MAXSuperClass *supcls, creator_fn cfn)
void gc_trace ( )
void collect ( )
Value* apply ( Value **  arglist,
int  count,
CallContext cc = NULL 
)
void SetClassID ( Value cidv)
void SetExtension ( Value cls)
bool ValidateIfExtendingClass ( bool  forceRevalidate = false)
void SetVersion ( Value ver)
166 { version = ver->to_int(); }
virtual int to_int()
Definition: value.h:174
int version
Definition: mxsPlugin.h:132
void StopEditing ( int  stop_flags = 0)
void RestartEditing ( )
static int lookup_assetType ( Value name)
static
static ParamType2 lookup_type ( Value name)
static
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 
)
virtual bool is_custAttribDef ( )
virtual
175 { return false; }
void install_alternate ( ReferenceTarget ref)
void build_paramblk_descs ( )
void redefine ( MSPlugin *  val,
HashTable old_locals,
Array old_pblock_defs 
)
Array* find_pblock_def ( Value name,
Array pblock_defs 
)
static void save_class_defs ( ISave isave)
static
static IOResult load_class_def ( ILoad iload)
static
static void post_load ( ILoad iload,
int  which 
)
static
virtual BOOL OkToCreate ( Interface i)
virtual
virtual RefTargetHandle Create ( BOOL  loading)
virtual
const MCHAR* ClassName ( )
191 { return class_name->to_string(); }
Value * class_name
Definition: mxsPlugin.h:114
virtual const MCHAR * to_string()
Definition: value.h:171
SClass_ID SuperClassID ( )
192 { return sclass_id; }
visible_class_debug_ok(MAXSuperClass) class MAXSuperClass SClass_ID sclass_id
Definition: mxsobjects.h:431
Class_ID ClassID ( )
193 { return class_id; }
visible_class_debug_ok(MAXClass) class MAXClass Class_ID class_id
Definition: mxsobjects.h:537
const MCHAR* Category ( )
194 { return category ? category->to_string() : _M(""); }
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:122
virtual const MCHAR * to_string()
Definition: value.h:171
Value * category
Definition: mxsobjects.h:553
const MCHAR* InternalName ( )
195 { return name->to_string(); }
Value * name
Definition: structs.h:25
virtual const MCHAR * to_string()
Definition: value.h:171
HINSTANCE HInstance ( )
196 { return hInstance; }
HINSTANCE hInstance
Definition: mxsPlugin.h:115
BOOL IsManipulator ( )
BOOL CanManipulate ( ReferenceTarget hTarget)
BOOL CanManipulateNode ( INode pNode)
Manipulator* CreateManipulator ( ReferenceTarget hTarget,
INode pNode 
)
Manipulator* CreateManipulator ( INode pNode)
Value* get_property ( Value **  arg_list,
int  count 
)
Value* set_property ( Value **  arg_list,
int  count 
)

Variable Documentation

bool validate_ExtendingClass_failed
Value* class_name
HINSTANCE hInstance
ClassDesc* extend_cd
MAXClass* extend_maxclass
creator_fn obj_creator
HashTable* local_scope
Value** local_inits
int local_count
HashTable* handlers
Array* rollouts
MouseTool* create_tool
Array* pblock_defs
Array* remap_param_names
Array* loading_pblock_defs
ReferenceTarget* alternate
Tab<ParamRef> sub_texmaps
Tab<ParamRef> sub_mtls
int version
DWORD mpc_flags
DWORD rollup_state
HashTable* msp_classes
static
MSPlugin* creating
static
bool loading
static