maxscript/maxwrapper/mxsobjects.h File Reference

mxsobjects.h File Reference

Classes

struct  parm_desc
 
struct  superclass_table
 
struct  class_key
 
struct  class_table
 
class  FindMAXWrapperEnum
 

Macros

#define MESH_READ_ACCESS   0
 
#define MESH_WRITE_ACCESS   1
 
#define MESH_BASE_OBJ   2
 
#define check_for_deletion_test()
 
#define check_for_deletion()   if (check_for_deletion_test()) throw RuntimeError (get_deleted_obj_err_message(), class_name());
 
#define deletion_check_test(val)
 
#define deletion_check(val)   if (deletion_check_test(val)) throw RuntimeError (get_deleted_obj_err_message(), (val)->class_name());
 
#define def_generic(fn, name)   ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_generic_debug_ok(fn, name)   ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_property(p)
 
#define def_prop_getter(p)   ScripterExport Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   ScripterExport Value* set_##p(Value** arg_list, int count)
 
#define def_2_prop_path(p1, p2)
 
#define def_nested_prop(p1)
 
#define def_time_fn(_fn)   ScripterExport Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_time_fn(_fn)   ScripterExport Value* _fn(Animatable* anim, Value** arglist, int arg_count)
 
#define NO_TRANSLATE   0x0001
 
#define NO_SCALE   0x0002
 
#define ctrl_to_current_coordsys_rotate(p)   ctrl_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define ctrl_from_current_coordsys_rotate(p)   ctrl_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define object_to_current_coordsys_rotate(p)   object_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define object_from_current_coordsys_rotate(p)   object_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define world_to_current_coordsys_rotate(p)   world_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define world_from_current_coordsys_rotate(p)   world_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
 
#define object_to_current_coordsys_scaleRotate(p)   object_to_current_coordsys(p, NO_TRANSLATE)
 
#define object_from_current_coordsys_scaleRotate(p)   object_from_current_coordsys(p, NO_TRANSLATE)
 
#define PD_NO_INIT   0x01
 
#define PD_LOCAL_DUP   0x02
 
#define PD_HAS_LOCAL_DUPS   0x04
 
#define PD_SHOWN   0x08
 
#define is_maxsuperclass(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSuperClass))
 
#define SC_SUPERCLASS_INITED   0x0001
 
#define SC_NON_REFTARG   0x0002
 
#define is_maxclass(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXClass))
 
#define MAXWRAPPER_CACHE_SIZE   2048
 
#define maxwrapper_cache_get(_mw_class, _mw_ref, _mw_var, _ce_var)
 
#define is_node(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNode))
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define INODE_CLASS_ID   Class_ID(BASENODE_CLASS_ID, 0) /* INode class ID for MAXScript metadata table indexing */
 
#define INODE_SUPERCLASS_ID   BASENODE_CLASS_ID
 
#define is_nodechildrenarray(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNodeChildrenArray))
 
#define is_maxobject(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXObject))
 
#define is_tab_param(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXPB2ArrayParam))
 
#define is_modifier(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXModifier))
 
#define REFMSG_MAXCONTROL_NOT_NEW   REFMSG_USER + 0x4af551aa
 
#define is_controller(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXControl))
 
#define MAX_CTRL_NO_DIM   0x01
 
#define MAX_CTRL_NEW   0x02
 
#define is_subAnim(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSubAnim))
 
#define is_trackviewpick(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(TrackViewPickValue))
 
#define is_mesh(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MeshValue))
 
#define is_custattrib(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXCustAttrib))
 
#define CH_BROKEN   0x0001
 
#define CH_BUSY   0x0002
 
#define CH_NOTIFIED   0x0004
 
#define CH_DELETE   0x0008
 
#define is_rootnode(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXRootNode))
 
#define NM_INVERT   0x0001
 
#define NM_SELECT   0x0002
 
#define NM_GET   0x0004
 
#define NM_MXS_FN   0x0008
 

Typedefs

typedef Value *(* maker_fn )(MAXClass *cls, ReferenceTarget *obj, Value **arglist, int count)
 

Enumerations

enum  metadata_flags {
  md_use_getref = 0x0001, md_use_getref0 = 0x0002, md_use_getref1 = 0x0004, md_no_create = 0x0008,
  md_no_access = 0x0010, md_direct_index = 0x0020, md_new_plugin = 0x0040, md_auto_parms = 0x0080,
  md_name_clash = 0x0100, md_initialized = 0x0200
}
 
enum  metadata_flag {
  getters = 1, setters, accessors, path_getters,
  path_setters, path_accessors, fns, paramblock,
  subanims, paramblockn, subanimparamblock
}
 
enum  { TYPE_POINT3_ANGLE = TYPE_USER + 128, TYPE_POINT3_PCNT }
 
enum  GetINodeTabResult { ResultOk, ErrSelectionEmpty, ErrRequireNodes }
 

Functions

ScripterExport const MCHARget_deleted_obj_err_message ()
 
 visible_class (MAXWrapper) class MAXWrapper
 
ScripterExport MAXSuperClass (const MCHAR *cname, SClass_ID sid, Value *superClass, maker_fn maker,...)
 
ScripterExport ~MAXSuperClass ()
 
void complete_init ()
 
static void free_classes ()
 
static MAXSuperClasslookup_superclass (SClass_ID sid)
 
ValueclassOf_vf (Value **arg_list, int count)
 
ValuesuperClassOf_vf (Value **arg_list, int count)
 
ValueisKindOf_vf (Value **arg_list, int count)
 
BOOL is_kind_of (ValueMetaClass *c)
 
void collect ()
 
void gc_trace ()
 
ScripterExport void sprin1 (CharStream *s)
 
void export_to_scripter ()
 
ScripterExport short getNumSuperclasses ()
 
ScripterExport MAXSuperClassgetSuperclass (int index)
 
ScripterExport void apply_keyword_parms (ReferenceTarget *obj, Value **key_arg_list, int count)
 
 def_generic (get_props,"getPropNames")
 
 def_generic (show_interfaces,"showInterfaces")
 
 def_generic (get_interfaces,"getInterfaces")
 
 def_generic (get_interface,"getInterface")
 
 def_property (categories)
 
 def_property (classes)
 
ScripterExport MAXSuperClasslookup_MAXSuperClass (SClass_ID scid)
 
static ScripterExport MAXClasslookup_class (Class_ID *cid, SClass_ID scid, bool make_new_if_missing=true)
 
 MAXClass ()
 
ScripterExport MAXClass (const MCHAR *cname, Class_ID cid, SClass_ID sid, MAXSuperClass *sclass, short cflags,...)
 
ScripterExport ~MAXClass ()
 
static void setup ()
 
ScripterExport Valueapply (Value **arglist, int count, CallContext *cc=NULL)
 
static ScripterExport Valuemake_wrapper_for (ReferenceTarget *ref)
 
static ScripterExport Valuemake_node_for (ReferenceTarget *ref)
 
parm_descget_parm_desc (ReferenceTarget *ref, Value *key)
 
BOOL build_parm_descs (ReferenceTarget *ref)
 
ScripterExport void initialize_object (ReferenceTarget *ref)
 
Valueget_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Interval &valid)
 
void set_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Value *val)
 
ParamDefget_parm_def (Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=NULL)
 
void set_max_property (ReferenceTarget *ref, ParamDef *pd, int tabIndex, ParamBlockDesc2 *pbd, TimeValue t, Value *val)
 
Valueget_max_property (ReferenceTarget *ref, ParamDef *pd, int tabIndex, ParamBlockDesc2 *pbd, TimeValue t, Interval &valid)
 
static Valueget_pb2_property (IParamBlock2 *pb, ParamDef *pd, int tabIndex, TimeValue t, Interval &valid)
 
static void set_pb2_property (IParamBlock2 *pb, ParamDef *pd, int tabIndex, TimeValue t, Value *val)
 
static ParamDefget_parm_def (ClassDesc2 *cd2, Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=NULL)
 
 def_generic (create_instance,"createInstance")
 
Class_ID get_max_class_id ()
 
 def_property (category)
 
 def_prop_getter (classID)
 
 def_prop_getter (superclassID)
 
 def_property (creatable)
 
void to_fpvalue (FPValue &v)
 
ValueCategory ()
 
Valueget_property (Value **arg_list, int count)
 
Valueset_property (Value **arg_list, int count)
 
Valuemake_max_node (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_object (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_light (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_camera (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_modifier (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_material (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_texturemap (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_mtlbase (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_system (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_helper (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_controller (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_atmospheric (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_effect (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_mpassCamEffect (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_filter (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_shadow (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_reftarg (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valueno_max_maker (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_renderer (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
Valuemake_max_custattrib (MAXClass *cls, ReferenceTarget *obj, Value **arg_list, int count)
 
ScripterExport MAXClasslookup_MAXClass (Class_ID *cid, SClass_ID scid, bool make_new_if_missing=false)
 
BOOL _maxwrapper_cache_get (LONG_PTR index_ptr, MAXWrapper ***pw)
 
LONG_PTR maxwrapper_genref (void *pObject, LONG_PTR index)
 
LONG_PTR maxwrapper_genref (void *pObject1, void *pObject2)
 
ScripterExport void InvalidateNodeRect (INode *node, TimeValue t)
 
ScripterExport GetINodeTabResult GetINodeTabFromValue (Value *val, INodeTab &nodeTab, INodeTab **pResult)
 
visible_class(MAXNode) class
MAXNode ScripterExport 
MAXNode (INode *init_node)
 
static ScripterExport Valueintern (INode *init_node)
 
const MCHARclass_name ()
 
ScripterExport ReferenceTargetget_max_object ()
 
static ScripterExport ValueConvertTo (INode *node, Class_ID ccid)
 

Variables

ScripterExport InterfaceMAXScript_interface
 
ScripterExport Interface7MAXScript_interface7
 
ScripterExport Interface8MAXScript_interface8
 
ScripterExport Interface9MAXScript_interface9
 
ScripterExport Interface11MAXScript_interface11
 
ScripterExport Interface13MAXScript_interface13
 
ScripterExport Interface14MAXScript_interface14
 
visible_class_debug_ok(MAXSuperClass)
class MAXSuperClass SClass_ID 
sclass_id
 
Valuesuperclass
 
maker_fn maker
 
short n_parms
 
short flags
 
parm_descparms
 
static superclass_tablesuperclasses
 
static short n_superclasses
 
static BOOL superclass_table_dirty
 
visible_class_debug_ok(MAXClass)
class MAXClass Class_ID 
class_id
 
ClassDesccd
 
ClassDesc2cd2
 
short md_flags
 
short paramblock_ref_no
 
Valuecategory
 
HashTableinterfaces
 
static class_tableclasses
 
static int n_classes
 
static BOOL class_table_dirty
 
ScripterExport MAXWrapper * maxwrapper_cache []
 

Macro Definition Documentation

#define MESH_READ_ACCESS   0
#define MESH_WRITE_ACCESS   1
#define MESH_BASE_OBJ   2
#define check_for_deletion_test ( )
Value:
( ref_deleted || \
( NumRefs() > 0 && (GetReference(0) == NULL) ) || \
( NumRefs() > 0 && \
(((INode*)GetReference(0))->GetTMController() == NULL) || \
(((INode*)GetReference(0))->GetParentNode() == NULL) \
) \
) \
)
BOOL TestAFlag(DWORD mask)
Tests one or more bits in the Animatable flags.
Definition: Animatable.h:275
#define NULL
Definition: autoptr.h:20
#define INODE_INTERFACE
Definition: inode.h:39
#define A_IS_DELETED
Used internally.
Definition: AnimatableFlags.h:164
Definition: inode.h:59
virtual CoreExport void * GetInterface(ULONG id)
Inherited from Animatable.
int NumRefs()
Definition: rollouts.h:273
RefTargetHandle GetReference(int i)
Definition: rollouts.h:274
#define check_for_deletion ( )    if (check_for_deletion_test()) throw RuntimeError (get_deleted_obj_err_message(), class_name());
#define deletion_check_test (   val)
Value:
( (val)->ref_deleted || \
( (val)->NumRefs() > 0 && ((val)->GetReference(0) == NULL) ) || \
( (val)->NumRefs() > 0 && \
(((INode*)(val)->GetReference(0))->GetTMController() == NULL) || \
(((INode*)(val)->GetReference(0))->GetParentNode() == NULL) \
) \
) \
)
BOOL TestAFlag(DWORD mask)
Tests one or more bits in the Animatable flags.
Definition: Animatable.h:275
#define NULL
Definition: autoptr.h:20
#define INODE_INTERFACE
Definition: inode.h:39
#define A_IS_DELETED
Used internally.
Definition: AnimatableFlags.h:164
Definition: inode.h:59
virtual CoreExport void * GetInterface(ULONG id)
Inherited from Animatable.
int NumRefs()
Definition: rollouts.h:273
RefTargetHandle GetReference(int i)
Definition: rollouts.h:274
#define deletion_check (   val)    if (deletion_check_test(val)) throw RuntimeError (get_deleted_obj_err_message(), (val)->class_name());
#define def_generic (   fn,
  name 
)    ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
#define def_generic_debug_ok (   fn,
  name 
)    ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
#define def_property (   p)
Value:
ScripterExport Value* get_##p(Value** arg_list, int count); \
ScripterExport Value* set_##p(Value** arg_list, int count)
#define ScripterExport
Definition: ScripterExport.h:7
Definition: value.h:103
#define def_prop_getter (   p)    ScripterExport Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    ScripterExport Value* set_##p(Value** arg_list, int count)
#define def_2_prop_path (   p1,
  p2 
)
Value:
ScripterExport Value* get_##p1##_##p2(Value** arg_list, int count); \
ScripterExport Value* set_##p1##_##p2(Value** arg_list, int count)
#define ScripterExport
Definition: ScripterExport.h:7
Definition: value.h:103
#define def_nested_prop (   p1)
Value:
ScripterExport Value* get_nested_##p1(Value** arg_list, int count); \
ScripterExport Value* set_nested_##p1(Value** arg_list, int count)
#define ScripterExport
Definition: ScripterExport.h:7
Definition: value.h:103
#define def_time_fn (   _fn)    ScripterExport Value* _fn##_vf(Value** arglist, int arg_count)
#define def_time_fn (   _fn)    ScripterExport Value* _fn(Animatable* anim, Value** arglist, int arg_count)
#define NO_TRANSLATE   0x0001
#define NO_SCALE   0x0002
#define ctrl_to_current_coordsys_rotate (   p)    ctrl_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define ctrl_from_current_coordsys_rotate (   p)    ctrl_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define object_to_current_coordsys_rotate (   p)    object_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define object_from_current_coordsys_rotate (   p)    object_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define world_to_current_coordsys_rotate (   p)    world_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define world_from_current_coordsys_rotate (   p)    world_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE)
#define object_to_current_coordsys_scaleRotate (   p)    object_to_current_coordsys(p, NO_TRANSLATE)
#define object_from_current_coordsys_scaleRotate (   p)    object_from_current_coordsys(p, NO_TRANSLATE)
#define PD_NO_INIT   0x01
#define PD_LOCAL_DUP   0x02
#define PD_HAS_LOCAL_DUPS   0x04
#define PD_SHOWN   0x08
#define is_maxsuperclass (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSuperClass))
#define SC_SUPERCLASS_INITED   0x0001
#define SC_NON_REFTARG   0x0002
#define is_maxclass (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXClass))
#define MAXWRAPPER_CACHE_SIZE   2048
#define maxwrapper_cache_get (   _mw_class,
  _mw_ref,
  _mw_var,
  _ce_var 
)
Value:
(_maxwrapper_cache_get((LONG_PTR)(_mw_ref) ^ (LONG_PTR)class_tag(_mw_class), (MAXWrapper***)&_ce_var) && \
(_mw_var = *_ce_var)->tag == class_tag(_mw_class))
BOOL _maxwrapper_cache_get(LONG_PTR index_ptr, MAXWrapper ***pw)
Definition: mxsobjects.h:660
#define class_tag(_cls)
Definition: value.h:438
#define is_node (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNode))
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define INODE_CLASS_ID   Class_ID(BASENODE_CLASS_ID, 0) /* INode class ID for MAXScript metadata table indexing */
#define INODE_SUPERCLASS_ID   BASENODE_CLASS_ID
#define is_nodechildrenarray (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNodeChildrenArray))
#define is_maxobject (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXObject))
#define is_tab_param (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXPB2ArrayParam))
#define is_modifier (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXModifier))
#define REFMSG_MAXCONTROL_NOT_NEW   REFMSG_USER + 0x4af551aa
#define is_controller (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXControl))
#define MAX_CTRL_NO_DIM   0x01
#define MAX_CTRL_NEW   0x02
#define is_subAnim (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSubAnim))
#define is_trackviewpick (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(TrackViewPickValue))
#define is_mesh (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MeshValue))
#define is_custattrib (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXCustAttrib))
#define CH_BROKEN   0x0001
#define CH_BUSY   0x0002
#define CH_NOTIFIED   0x0004
#define CH_DELETE   0x0008
#define is_rootnode (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXRootNode))
#define NM_INVERT   0x0001
#define NM_SELECT   0x0002
#define NM_GET   0x0004
#define NM_MXS_FN   0x0008

Typedef Documentation

typedef Value*(* maker_fn)(MAXClass *cls, ReferenceTarget *obj, Value **arglist, int count)

Enumeration Type Documentation

Enumerator
md_use_getref 
md_use_getref0 
md_use_getref1 
md_no_create 
md_no_access 
md_direct_index 
md_new_plugin 
md_auto_parms 
md_name_clash 
md_initialized 
499 {
500  md_use_getref = 0x0001, /* class flags */
501  md_use_getref0 = 0x0002,
502  md_use_getref1 = 0x0004,
503  md_no_create = 0x0008,
504  md_no_access = 0x0010,
505  md_direct_index = 0x0020,
506  md_new_plugin = 0x0040,
507  md_auto_parms = 0x0080,
508  md_name_clash = 0x0100,
509  md_initialized = 0x0200,
510 };
Definition: mxsobjects.h:507
Definition: mxsobjects.h:500
Definition: mxsobjects.h:506
Definition: mxsobjects.h:501
Definition: mxsobjects.h:503
Definition: mxsobjects.h:502
Definition: mxsobjects.h:505
Definition: mxsobjects.h:509
Definition: mxsobjects.h:508
Definition: mxsobjects.h:504
Enumerator
getters 
setters 
accessors 
path_getters 
path_setters 
path_accessors 
fns 
paramblock 
subanims 
paramblockn 
subanimparamblock 
513 {
514 // end = 0, /* metadata vararg tags */
515  getters = 1,
516  setters,
517  accessors,
518  path_getters,
519  path_setters,
521  fns,
522  paramblock,
523  subanims,
524  paramblockn,
526 };
Definition: mxsobjects.h:521
Definition: mxsobjects.h:519
Definition: mxsobjects.h:517
Definition: mxsobjects.h:516
Definition: mxsobjects.h:518
Definition: mxsobjects.h:515
Definition: mxsobjects.h:523
Definition: mxsobjects.h:525
Definition: mxsobjects.h:524
Definition: mxsobjects.h:522
Definition: mxsobjects.h:520
anonymous enum
Enumerator
TYPE_POINT3_ANGLE 
TYPE_POINT3_PCNT 
529 {
530  TYPE_POINT3_ANGLE = TYPE_USER + 128, /* MAXScript special paramblock types... */
532 
533 };
Definition: mxsobjects.h:530
Definition: mxsobjects.h:531
Used to define user types.
Definition: paramtype.h:34
Enumerator
ResultOk 
ErrSelectionEmpty 
ErrRequireNodes 
774 {
775  ResultOk,
778 };
Definition: mxsobjects.h:775
Definition: mxsobjects.h:777
Definition: mxsobjects.h:776

Function Documentation

ScripterExport const MCHAR* get_deleted_obj_err_message ( )
visible_class ( MAXWrapper  )
88  : public Value, public ReferenceTarget // ReferenceMaker
89 {
90 public:
91  Tab<RefTargetHandle> refs; /* reference array */
92  short ref_deleted;
93 
94  ScripterExport MAXWrapper();
95  ScripterExport virtual ~MAXWrapper();
96 #pragma push_macro("new")
97 #undef new
98  // Needed to solve ambiguity between Collectable's operators and MaxHeapOperators
99  using Collectable::operator new;
100  using Collectable::operator delete;
101 #pragma pop_macro("new")
102  ScripterExport Value* classOf_vf(Value** arg_list, int count);
103  ScripterExport Value* superClassOf_vf(Value** arg_list, int count);
104  ScripterExport Value* isKindOf_vf(Value** arg_list, int count);
105  BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXWrapper)) ? 1 : Value::is_kind_of(c); }
106  ScripterExport BOOL not_on_undo_stack();
107  void collect();
108  ScripterExport void gc_trace();
109  virtual const MCHAR* class_name() = 0;
110  virtual ReferenceTarget* get_max_object() { return (NumRefs()) ? GetReference(0) : NULL; } // LAM - 7/18/01
111  ScripterExport Value* copy_no_undo(Value** arg_list, int count);
112  BOOL derives_from_MAXWrapper() { return TRUE; } // LAM - 7/8/03 - defect 504956
113 
114  ScripterExport void make_ref(int ref_no, ReferenceTarget* ref);
115  void drop_MAX_refs() { DeleteAllRefsFromMe(); }
116 
117  bool can_collect_in_gc_light(); // returns true if can collect maxwrapper during gc light:true
118 
119  // Animatable
122  virtual void GetClassName(MSTR& s) { s = _M("MAXWrapper"); } // from Animatable
123 
124 
125  // ReferenceMaker
126  int NumRefs() { return refs.Count(); }
127  RefTargetHandle GetReference(int i) { return refs[i]; }
128 protected:
129  ScripterExport virtual void SetReference(int i, RefTargetHandle rtarg);
130 public:
131  ScripterExport RefResult NotifyRefChanged(const Interval& changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message, BOOL propagate);
132  ScripterExport void DeleteThis();
133  #pragma warning(push)
134  #pragma warning(disable:4100)
135  BOOL CanTransferReference(int i) { return FALSE; }
136 
137  // For adding special cases for wrappers of object that we want to allow to be deleted
138  // even though MAXScript may hold a reference to them.
139  ScripterExport BOOL IsRealDependency(ReferenceTarget *rtarg);
140 
141  // generic property accessors (operate on ref(0))
142  ScripterExport Value* get_property(Value** arg_list, int count);
143  ScripterExport Value* set_property(Value** arg_list, int count);
144 
145  // direct property access, when no wrapper exists, but we have the MAX-side ref
147  static ScripterExport Value* set_property(ReferenceTarget* ref, Value* prop, Value* val);
148 
149 #ifdef def_generic
150 # undef def_generic
151 # undef def_generic_debug_ok
152 # undef def_property
153 # undef def_2_prop_path
154 # undef def_nested_prop
155 #endif
156 #ifdef def_prop_getter
157 # undef def_prop_getter
158 # undef def_prop_setter
159 #endif
160 
161 #define def_generic(fn, name) \
162  ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
163 
164 #define def_generic_debug_ok(fn, name) \
165  ScripterExport Value* fn##_vf(Value** arglist, int arg_count)
166 
167 #define def_property(p) \
168  ScripterExport Value* get_##p(Value** arg_list, int count); \
169  ScripterExport Value* set_##p(Value** arg_list, int count)
170 #define def_prop_getter(p) \
171  ScripterExport Value* get_##p(Value** arg_list, int count)
172 #define def_prop_setter(p) \
173  ScripterExport Value* set_##p(Value** arg_list, int count)
174 #define def_2_prop_path(p1, p2) \
175  ScripterExport Value* get_##p1##_##p2(Value** arg_list, int count); \
176  ScripterExport Value* set_##p1##_##p2(Value** arg_list, int count)
177 #define def_nested_prop(p1) \
178  ScripterExport Value* get_nested_##p1(Value** arg_list, int count); \
179  ScripterExport Value* set_nested_##p1(Value** arg_list, int count)
180 
181  def_generic( eq, "=");
182  def_generic( ne, "!=");
183 
184  def_generic (coerce, "coerce"); // allow coercion to MAXRefTarg. Use for handling things like medit_materials as a reftarg
185 
186  def_generic (show_props, "showProperties");
187  def_generic (get_props, "getPropNames");
188  def_generic (copy, "copy");
189  def_generic (isDeleted, "isDeleted");
190  def_generic (exprForMAXObject, "exprForMAXObject");
191 // def_generic (dependsOn, "dependsOn");
192  def_generic (show_interfaces, "showInterfaces");
193  def_generic (get_interfaces, "getInterfaces");
194  def_generic (get_interface, "getInterface");
195 
196  // the standard transform subanim properties
197  def_property ( pos );
199  def_2_prop_path ( pos, isAnimated );
200  def_2_prop_path ( pos, keys );
202  def_2_prop_path ( pos, x );
203  def_2_prop_path ( pos, y );
204  def_2_prop_path ( pos, z );
205  def_property ( rotation );
206  def_2_prop_path ( rotation, angle );
207  def_2_prop_path ( rotation, x_rotation );
208  def_2_prop_path ( rotation, y_rotation );
209  def_2_prop_path ( rotation, z_rotation );
210  def_2_prop_path ( rotation, axis );
211  def_2_prop_path ( rotation, controller );
212  def_2_prop_path ( rotation, isAnimated );
213  def_2_prop_path ( rotation, keys );
214  def_2_prop_path ( rotation, track );
215  def_property ( scale );
217  def_2_prop_path ( scale, isAnimated );
220  def_2_prop_path ( scale, x );
221  def_2_prop_path ( scale, y );
222  def_2_prop_path ( scale, z );
224  def_property ( transform );
225  def_property ( isAnimated );
226  def_property ( numsubs );
227 
228  def_nested_prop ( angle );
229  def_nested_prop ( x_rotation );
230  def_nested_prop ( y_rotation );
231  def_nested_prop ( z_rotation );
232  def_nested_prop ( axis );
234  def_nested_prop ( isAnimated );
235  def_nested_prop ( keys );
236  def_nested_prop ( x );
237  def_nested_prop ( y );
238  def_nested_prop ( z );
239  def_nested_prop ( w );
240 
241  // utility methods for the above subanim property accessors, implemented by
242  // those that have standard transform subsanims
243  virtual Control* get_max_pos_controller(ParamDimension** pdim) { return NULL; }
244  virtual Control* get_max_scale_controller(ParamDimension** pdim) { return NULL; }
245  virtual Control* get_max_rotation_controller(ParamDimension** pdim) { return NULL; }
246  virtual Control* get_max_tm_controller(ParamDimension** pdim) { return NULL; }
247  virtual Control* get_max_controller(ParamDimension** pdim) { return NULL; }
248  ScripterExport virtual Control* get_max_prop_controller(Value* prop, ParamDimension** pdim);
249  virtual BOOL set_max_pos_controller(MAXControl* c) { return FALSE; }
250  virtual BOOL set_max_scale_controller(MAXControl* c) { return FALSE; }
251  virtual BOOL set_max_rotation_controller(MAXControl* c) { return FALSE; }
252  virtual BOOL set_max_tm_controller(MAXControl* c) { return FALSE; }
253  virtual BOOL set_max_controller(MAXControl* c) { return FALSE; }
254  ScripterExport virtual BOOL set_max_prop_controller(Value* prop, MAXControl* c);
255 
256  static ScripterExport Control* get_max_prop_controller(ReferenceTarget* ref, Value* prop, ParamDimension** pdim);
257  static ScripterExport BOOL set_max_prop_controller(ReferenceTarget* ref, Value* prop, MAXControl* c);
258 
259  ScripterExport virtual BOOL is_max_prop_animatable(Value* prop);
260 
261  ScripterExport Value* get_container_property(Value* prop, Value* cur_prop);
262  ScripterExport Value* set_container_property(Value* prop, Value* val, Value* cur_prop);
263 
264  // coordsystem mappers, default is no mapping
265  virtual void object_to_current_coordsys(Point3& p, int mode=0) { }
266  virtual void object_from_current_coordsys(Point3& p, int mode=0) { }
267  virtual void world_to_current_coordsys(Point3& p, int mode=0) { }
268  virtual void world_from_current_coordsys(Point3& p, int mode=0) { }
269  virtual void world_to_current_coordsys(Quat& q) { }
270  virtual void world_from_current_coordsys(Quat& q) { }
271 
272  // map to & from controller value coordsys, eg, parent for nodes, modcontext for modifiers, etc.
273  virtual void ctrl_to_current_coordsys(Point3& p, int mode=0) { }
274  virtual void ctrl_from_current_coordsys(Point3& p, int mode=0) { }
275  virtual void ctrl_to_current_coordsys(Quat& q) { }
276  virtual void ctrl_from_current_coordsys(Quat& q) { }
277  virtual void ctrl_to_current_coordsys(ScaleValue& s) { }
278  virtual void ctrl_from_current_coordsys(ScaleValue& s) { }
279  #pragma warning(pop)
280 
281  virtual Matrix3& local_tm() { return idTM; }
282  virtual Matrix3 local_tm_inv() { return Inverse(local_tm()); }
283 
284  // recursive time functions
285  #undef def_time_fn
286  #define def_time_fn(_fn) ScripterExport Value* _fn##_vf(Value** arglist, int arg_count)
287  #include "../protocols/timefunctions.inl"
288  #undef def_time_fn
289  #define def_time_fn(_fn) ScripterExport Value* _fn(Animatable* anim, Value** arglist, int arg_count)
290  #include "../protocols/timefunctions.inl"
291 
292  // mesh & mesh-sub-object access setup
293  ScripterExport virtual Mesh* set_up_mesh_access(int access, ReferenceTarget** owner = NULL);
294  ScripterExport virtual Mesh* set_up_mesh_face_access(int index, int access, ReferenceTarget** owner = NULL);
295  ScripterExport virtual Mesh* set_up_mesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL);
296  ScripterExport virtual MNMesh* set_up_mnmesh_access(int access, ReferenceTarget** owner = NULL);
297  ScripterExport virtual MNMesh* set_up_mnmesh_face_access(int index, int access, ReferenceTarget** owner = NULL);
298  ScripterExport virtual MNMesh* set_up_mnmesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL);
299  ScripterExport virtual BitArray get_vertsel();
300  ScripterExport virtual BitArray get_facesel();
301  ScripterExport virtual BitArray get_edgesel();
302  ScripterExport virtual void set_vertsel(BitArray &sel);
303  ScripterExport virtual void set_facesel(BitArray &sel);
304  ScripterExport virtual void set_edgesel(BitArray &sel);
305  ScripterExport virtual GenericNamedSelSetList& get_named_vertsel_set();
306  ScripterExport virtual GenericNamedSelSetList& get_named_facesel_set();
307  ScripterExport virtual GenericNamedSelSetList& get_named_edgesel_set();
308  virtual void update_sel() { NotifyDependents(FOREVER, PART_SELECT, REFMSG_CHANGE); }
309  ScripterExport virtual bool isPolyObject(int access);
310  ScripterExport virtual IMeshSelectData* set_up_IMeshSelectData_access(int access, ReferenceTarget** owner);
311 #ifndef NO_PATCHES
312  ScripterExport virtual bool isPatchObject(int access);
313  ScripterExport virtual PatchObject* set_up_patch_access(int access, ReferenceTarget** owner = NULL);
314  ScripterExport virtual PatchObject* set_up_patch_face_access(int index, int access, ReferenceTarget** owner = NULL);
315  ScripterExport virtual PatchObject* set_up_patch_vertex_access(int index, int access, ReferenceTarget** owner = NULL);
316  ScripterExport virtual IPatchSelectData* set_up_IPatchSelectData_access(int access, ReferenceTarget** owner);
317 #endif // NO_PATCHES
318 
320  def_prop_getter( classID );
321  def_prop_getter( superclassID );
322 
323  def_generic ( get, "get" ); // <mw>[i] => subAnim[i]
324  def_generic ( getSubAnim, "getSubAnim" ); // equivalent
325  def_generic ( getSubAnimName, "getSubAnimName" );
326  def_generic ( getSubAnimNames, "getSubAnimNames" );
327  def_generic ( getAppData, "getAppData");
328  def_generic ( setAppData, "setAppData");
329  def_generic ( deleteAppData, "deleteAppData");
330  def_generic ( clearAllAppData, "clearAllAppData");
331  def_generic ( addPluginRollouts, "addPluginRollouts");
332 
333  ReferenceTarget* to_reftarg() { return get_max_object(); }
334  void to_fpvalue(FPValue& v) { v.r = get_max_object(); v.type = TYPE_REFTARG; }
335 
336  // scene I/O
338  static ScripterExport Value* Load(ILoad* iload, USHORT chunkID, ValueLoader* vload);
339 
340  // FPInterface access
343 
344 private:
345  friend void initialize_MAXScript();
346  static void AppDataLoadProc(Animatable *anim, const Class_ID& cid, SClass_ID sid, ILoad* iload, Tab<DWORD> &subIDs);
347 };
Value * classOf_vf(Value **arg_list, int count)
const PartID PART_SELECT
See SELECT_CHANNEL.
Definition: ref.h:69
The Mesh class is provided for use by plug-ins and is used by the system.
Definition: mesh.h:1049
Definition: sceneio.h:82
controller mat max min numsubs x z controller keys x z controller keys x
Definition: generics.inl:211
int Count() const
Retrieves the number of items in the Tab.
Definition: tab.h:223
Definition: quat.h:146
Matrix2 Inverse(const Matrix2 &M)
Definition: value.h:282
virtual void SetReference(int i, RefTargetHandle rtarg)
Definition: rollouts.h:276
IOResult Save(ISave *isave)
controller mat max min numsubs x z controller keys x z controller keys x z angle controller keys x_rotation z_rotation axis isAnimated track
Definition: generics.inl:259
void DeleteThis()
static Value * Load(ILoad *iload, USHORT chunkID, ValueLoader *vload)
#define class_tag(_cls)
Definition: value.h:438
BOOL is_kind_of(ValueMetaClass *c)
Definition: mxsobjects.h:460
Definition: matrix3.h:81
controller mat max min numsubs x z controller keys x z controller
Definition: generics.inl:207
controller mat max min numsubs x z controller keys x z controller keys x z angle controller keys x_rotation z_rotation axis isAnimated scale
Definition: generics.inl:259
Definition: control.h:74
Definition: ioapi.h:406
#define ScripterExport
Definition: ScripterExport.h:7
ReferenceTarget * r
Definition: ifnpub.h:1179
void to_fpvalue(FPValue &v)
Definition: functions.h:467
#define def_2_prop_path(p1, p2)
#define NULL
Definition: autoptr.h:20
Generic container class.
Definition: tab.h:181
void collect()
Definition: ParamDimension.h:144
The MNMesh class is provided for temporary use by plug-ins, to help with complex topology-based modif...
Definition: mnmesh.h:1093
Definition: istdplug.h:3842
controller mat max min numsubs x z controller keys x z pos
Definition: generics.inl:207
Value * superClassOf_vf(Value **arg_list, int count)
Definition: namesel.h:41
Definition: Animatable.h:125
Definition: ioapi.h:186
A pointer to a reference target.
Definition: paramtype.h:71
Definition: interval.h:33
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:92
void gc_trace()
Definition: baseinterface.h:67
Definition: maxtypes.h:138
Definition: value.h:103
ULONG SClass_ID
Definition: maxtypes.h:189
Definition: point3.h:50
CoreExport IdentityTM idTM
#define def_property(p)
ScripterExport RefResult NotifyRefChanged(const Interval &changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message, BOOL propagate)
Definition: ifnpub.h:1149
ULONG_PTR PartID
This is NOT just a bitmask, the parameter is also used to stuff pointers, hence the ULONG_PTR...
Definition: ref.h:52
CoreExport FPInterface * GetInterface(SClass_ID super, Class_ID cls, Interface_ID id)
Get ID'd interface from ClassDesc for given class/sclass.
Value * set_property(Value **arg_list, int count)
__inline int GetClassName(HWND hWnd, LPTSTR lpClassName, int nMaxCount)
Definition: Animatable.h:78
virtual CoreExport void * GetInterface(ULONG id)
Inherited from Animatable.
ParamType2 type
Definition: ifnpub.h:1152
const MCHAR * class_name()
Value * get_property(Value **arg_list, int count)
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:122
Definition: patchobj.h:483
Value * owner
Definition: functions.h:180
controller mat max min numsubs x z controller keys x z controller keys
Definition: generics.inl:209
Definition: control.h:1037
#define MAXSCRIPT_WRAPPER_CLASS_ID
Definition: plugapi.h:319
int NumRefs()
Definition: rollouts.h:273
#define REFMSG_CHANGE
Sent to dependents of a ReferenceTarget that has changed in some way.
Definition: ref.h:256
Value * isKindOf_vf(Value **arg_list, int count)
#define FOREVER
Definition: interval.h:141
SClass_ID SuperClassID()
Definition: mxsPlugin.h:192
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1796
Class_ID ClassID()
Definition: mxsPlugin.h:193
RefTargetHandle GetReference(int i)
Definition: rollouts.h:274
Definition: maxtypes.h:200
controller mat max min numsubs x z controller keys x z controller keys x z
Definition: generics.inl:213
unsigned int RefMessage
The message passed to notify and evaluate.
Definition: ref.h:207
Value * category
Definition: mxsobjects.h:553
#define def_nested_prop(p1)
Definition: strclass.h:70
#define def_prop_getter(p)
Definition: bitarray.h:59
RefResult
Return codes for reference handling and message processing methods.
Definition: ref.h:722
ScripterExport ReferenceTarget * get_max_object()
Definition: istdplug.h:3469
IOResult
Definition: maxtypes.h:268
virtual ScripterExport BOOL is_kind_of(ValueMetaClass *c)
#define def_generic(fn, name)
ScripterExport MAXSuperClass ( const MCHAR cname,
SClass_ID  sid,
Value superClass,
maker_fn  maker,
  ... 
)
ClassDesc * complete_init ( )
static void free_classes ( )
static
static MAXSuperClass* lookup_superclass ( SClass_ID  sid)
static
Value * classOf_vf ( Value **  arg_list,
int  count 
)
Value * superClassOf_vf ( Value **  arg_list,
int  count 
)
Value * isKindOf_vf ( Value **  arg_list,
int  count 
)
BOOL is_kind_of ( ValueMetaClass c)
460 { return ((c == class_tag(MAXSuperClass)) ? 1 : Value::is_kind_of(c)); }
#define class_tag(_cls)
Definition: value.h:438
ScripterExport MAXSuperClass(const MCHAR *cname, SClass_ID sid, Value *superClass, maker_fn maker,...)
virtual ScripterExport BOOL is_kind_of(ValueMetaClass *c)
void collect ( )
void gc_trace ( )
ScripterExport void sprin1 ( CharStream s)
351 { s->printf(_M("LabelControl:%s"), name->to_string()); }
Value * name
Definition: structs.h:25
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:122
virtual const MCHAR * to_string()
Definition: value.h:171
void export_to_scripter ( )
ScripterExport short getNumSuperclasses ( )
ScripterExport MAXSuperClass* getSuperclass ( int  index)
ScripterExport void apply_keyword_parms ( ReferenceTarget obj,
Value **  key_arg_list,
int  count 
)
def_generic ( get_props  ,
"getPropNames"   
)
def_generic ( show_interfaces  ,
"showInterfaces"   
)
def_generic ( get_interfaces  ,
"getInterfaces"   
)
def_generic ( get_interface  ,
"getInterface"   
)
def_property ( categories  )
def_property ( classes  )
ScripterExport MAXSuperClass* lookup_MAXSuperClass ( SClass_ID  scid)
static ScripterExport MAXClass* lookup_class ( Class_ID cid,
SClass_ID  scid,
bool  make_new_if_missing = true 
)
static
MAXClass ( )
562 { }
ScripterExport MAXClass ( const MCHAR cname,
Class_ID  cid,
SClass_ID  sid,
MAXSuperClass sclass,
short  cflags,
  ... 
)
static void setup ( )
static
ScripterExport Value* apply ( Value **  arglist,
int  count,
CallContext cc = NULL 
)
static ScripterExport Value* make_wrapper_for ( ReferenceTarget ref)
static
static ScripterExport Value* make_node_for ( ReferenceTarget ref)
static
parm_desc* get_parm_desc ( ReferenceTarget ref,
Value key 
)
BOOL build_parm_descs ( ReferenceTarget ref)
ScripterExport void initialize_object ( ReferenceTarget ref)
Value* get_max_property ( ReferenceTarget ref,
parm_desc pd,
TimeValue  t,
Interval valid 
)
void set_max_property ( ReferenceTarget ref,
parm_desc pd,
TimeValue  t,
Value val 
)
ParamDef* get_parm_def ( Value prop,
ParamBlockDesc2 *&  pbd,
int tabIndex,
ReferenceTarget ref = NULL 
)
void set_max_property ( ReferenceTarget ref,
ParamDef pd,
int  tabIndex,
ParamBlockDesc2 pbd,
TimeValue  t,
Value val 
)
Value* get_max_property ( ReferenceTarget ref,
ParamDef pd,
int  tabIndex,
ParamBlockDesc2 pbd,
TimeValue  t,
Interval valid 
)
static Value* get_pb2_property ( IParamBlock2 pb,
ParamDef pd,
int  tabIndex,
TimeValue  t,
Interval valid 
)
static
static void set_pb2_property ( IParamBlock2 pb,
ParamDef pd,
int  tabIndex,
TimeValue  t,
Value val 
)
static
static ParamDef* get_parm_def ( ClassDesc2 cd2,
Value prop,
ParamBlockDesc2 *&  pbd,
int tabIndex,
ReferenceTarget ref = NULL 
)
static
def_generic ( create_instance  ,
"createInstance"   
)
Class_ID get_max_class_id ( )
604 { return class_id; }
visible_class_debug_ok(MAXClass) class MAXClass Class_ID class_id
Definition: mxsobjects.h:537
def_property ( category  )
def_prop_getter ( classID  )
def_prop_getter ( superclassID  )
def_property ( creatable  )
void to_fpvalue ( FPValue v)
467 { v.iobj = iobj; v.type = TYPE_IOBJECT; }
Definition: paramtype.h:95
IObject * iobj
Definition: ifnpub.h:1193
ParamType2 type
Definition: ifnpub.h:1152
Value* 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
Value* get_property ( Value **  arg_list,
int  count 
)
Value* set_property ( Value **  arg_list,
int  count 
)
Value* make_max_node ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_object ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_light ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_camera ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_modifier ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_material ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_texturemap ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_mtlbase ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_system ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_helper ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_controller ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_atmospheric ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_effect ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_mpassCamEffect ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_filter ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_shadow ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_reftarg ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* no_max_maker ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_renderer ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
Value* make_max_custattrib ( MAXClass cls,
ReferenceTarget obj,
Value **  arg_list,
int  count 
)
ScripterExport MAXClass* lookup_MAXClass ( Class_ID cid,
SClass_ID  scid,
bool  make_new_if_missing = false 
)
BOOL _maxwrapper_cache_get ( LONG_PTR  index_ptr,
MAXWrapper ***  pw 
)
inline
661 {
662  // compute cache index - fold halfwords & fold to cache size, get cache entry
663  int index = DL_abs((int)((PointerLoPart(index_ptr) ^ PointerHiPart(index_ptr)))) % MAXWRAPPER_CACHE_SIZE;
664  *pw = &maxwrapper_cache[index];
665  // we match initially if entry contains a non-deleted MAXWrapper
666  MAXWrapper* w = **pw;
667  return (w && !w->ref_deleted);
668 }
#define MAXWRAPPER_CACHE_SIZE
Definition: mxsobjects.h:652
WORD PointerHiPart(ULONG_PTR ptr)
Definition: 3dsmaxdlport.h:354
WORD PointerLoPart(ULONG_PTR ptr)
Definition: 3dsmaxdlport.h:359
ScripterExport MAXWrapper * maxwrapper_cache[]
int DL_abs(int n)
Definition: 3dsmaxdlport.h:507
LONG_PTR maxwrapper_genref ( void pObject,
LONG_PTR  index 
)
inline
713 {
714  return(reinterpret_cast<LONG_PTR>(pObject) ^ index);
715 }
LONG_PTR maxwrapper_genref ( void pObject1,
void pObject2 
)
inline
718 {
719  return(maxwrapper_genref(pObject1, reinterpret_cast<LONG_PTR>(pObject2)));
720 }
LONG_PTR maxwrapper_genref(void *pObject, LONG_PTR index)
Definition: mxsobjects.h:712
ScripterExport void InvalidateNodeRect ( INode node,
TimeValue  t 
)
ScripterExport GetINodeTabResult GetINodeTabFromValue ( Value val,
INodeTab nodeTab,
INodeTab **  pResult 
)
visible_class (MAXNode) class MAXNode ScripterExport MAXNode ( INode init_node)
static ScripterExport Value* intern ( INode init_node)
static
const MCHAR* class_name ( )
ScripterExport ReferenceTarget* get_max_object ( )
static ScripterExport Value* ConvertTo ( INode node,
Class_ID  ccid 
)
static

Variable Documentation

ScripterExport Interface* MAXScript_interface
ScripterExport Interface7* MAXScript_interface7
ScripterExport Interface8* MAXScript_interface8
ScripterExport Interface9* MAXScript_interface9
ScripterExport Interface11* MAXScript_interface11
ScripterExport Interface13* MAXScript_interface13
ScripterExport Interface14* MAXScript_interface14
SClass_ID sclass_id
MAXSuperClass * superclass
maker_fn maker
int n_parms
short flags
parm_desc * parms
superclass_table* superclasses
static
short n_superclasses
static
BOOL superclass_table_dirty
static
ClassDesc* cd
ClassDesc2* cd2
short md_flags
short paramblock_ref_no
Value* category
HashTable* interfaces
class_table* classes
static
int n_classes
static
BOOL class_table_dirty
static
ScripterExport MAXWrapper* maxwrapper_cache[]