maxscript/maxwrapper/mxsobjects.h File Reference

#include "../kernel/value.h"
#include "../foundation/collection.h"
#include "../../3dsmaxport.h"
#include "../../buildver.h"
#include "../../object.h"
#include "../../surf_api.h"
#include "../../tvnode.h"
#include "../../triobj.h"
#include "../../splshape.h"
#include "../protocols/timefunctions.inl"
#include "../macros/define_implementations.h"
#include "../protocols/node.inl"
#include "../protocols/arrays.inl"
#include "../protocols/atmospherics.inl"
#include "../protocols/xrefs.inl"

Classes

class  MAXWrapper
 
struct  parm_desc
 
struct  superclass_table
 
class  MAXSuperClass
 
struct  class_key
 
struct  class_table
 
class  MAXClass
 
class  FindMAXWrapperEnum
 

Macros

#define MESH_READ_ACCESS   0
 
#define MESH_WRITE_ACCESS   1
 
#define MESH_BASE_OBJ   2
 
#define BEZIERSHAPE_READ_ACCESS   0
 
#define BEZIERSHAPE_WRITE_ACCESS   1
 
#define BEZIERSHAPE_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 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_beziershape(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BezierShapeValue))
 
#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_flag : byte { accessors = 1, fns, paramblock, paramblock2 }
 
enum  parm_desc_flags : byte { PD_NO_INIT = 0x01, PD_LOCAL_DUP = 0x02, PD_HAS_LOCAL_DUPS = 0x04, PD_SHOWN = 0x08 }
 
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, md_no_cd = 0x0400
}
 
enum  { TYPE_POINT3_ANGLE = TYPE_USER + 128, TYPE_POINT3_PCNT }
 
enum  GetINodeTabResult { ResultOk, ErrSelectionEmpty, ErrRequireNodes }
 

Functions

ScripterExport const MCHARget_deleted_obj_err_message ()
 
ScripterExport MAXSuperClasslookup_MAXSuperClass (SClass_ID scid)
 
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)
 

Variables

ScripterExport InterfaceMAXScript_interface
 
ScripterExport Interface7MAXScript_interface7
 
ScripterExport Interface8MAXScript_interface8
 
ScripterExport Interface9MAXScript_interface9
 
ScripterExport Interface11MAXScript_interface11
 
ScripterExport Interface13MAXScript_interface13
 
ScripterExport Interface14MAXScript_interface14
 
ScripterExport MAXWrappermaxwrapper_cache []
 

Macro Definition Documentation

#define MESH_READ_ACCESS   0
#define MESH_WRITE_ACCESS   1
#define MESH_BASE_OBJ   2
#define BEZIERSHAPE_READ_ACCESS   0
#define BEZIERSHAPE_WRITE_ACCESS   1
#define BEZIERSHAPE_BASE_OBJ   2
#define check_for_deletion_test ( )
Value:
( ref_deleted || \
( NumRefs() > 0 && (GetReference(0) == NULL) ) || \
( NumRefs() > 0 && \
GetReference(0)->TestAFlag(A_IS_DELETED) && \
( (GetReference(0)->GetInterface(INODE_INTERFACE)==NULL) || \
(((INode*)GetReference(0))->GetTMController() == NULL) || \
(((INode*)GetReference(0))->GetParentNode() == NULL) \
) \
) \
)
#define NULL
Definition: autoptr.h:18
#define INODE_INTERFACE
Definition: inode.h:37
#define A_IS_DELETED
Used internally.
Definition: AnimatableFlags.h:158
Definition: inode.h:55
#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 && \
(val)->GetReference(0)->TestAFlag(A_IS_DELETED) && \
( ((val)->GetReference(0)->GetInterface(INODE_INTERFACE)==NULL) || \
(((INode*)(val)->GetReference(0))->GetTMController() == NULL) || \
(((INode*)(val)->GetReference(0))->GetParentNode() == NULL) \
) \
) \
)
#define NULL
Definition: autoptr.h:18
#define INODE_INTERFACE
Definition: inode.h:37
#define A_IS_DELETED
Used internally.
Definition: AnimatableFlags.h:158
Definition: inode.h:55
#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:105
#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:105
#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:105
#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 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:656
#define class_tag(_cls)
Definition: value.h:489
Definition: mxsobjects.h:93
#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_beziershape (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(BezierShapeValue))
#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

enum metadata_flag : byte
Enumerator
accessors 
fns 
paramblock 
paramblock2 
370  : byte
371 {
372  accessors = 1, // beginning of accessor section (only section type currently defined). Terminated with a 'p_end'.
373  fns, // beginning of function type accessors section. Terminated with a 'p_end'.
374  paramblock, // beginning of paramblock type accessors section. Terminated with a 'p_end'.
375  paramblock2, // beginning of paramblock2 type accessors section. Terminated with a 'p_end'.
376 };
Definition: mxsobjects.h:373
Definition: mxsobjects.h:372
Definition: mxsobjects.h:374
Definition: mxsobjects.h:375
enum parm_desc_flags : byte
Enumerator
PD_NO_INIT 
PD_LOCAL_DUP 
PD_HAS_LOCAL_DUPS 
PD_SHOWN 
379  : byte
380 {
381  PD_NO_INIT = 0x01, // flags this property as requiring no init
382  PD_LOCAL_DUP = 0x02, // this is a duplicate local translation
383  PD_HAS_LOCAL_DUPS = 0x04, // this has duplicate local translations
384  PD_SHOWN = 0x08 // temp flag to mark already shown props in showProps()
385 };
Definition: mxsobjects.h:382
Definition: mxsobjects.h:383
Definition: mxsobjects.h:381
Definition: mxsobjects.h:384
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 
md_no_cd 
511 {
512  md_use_getref = 0x0001, /* class flags */
513  md_use_getref0 = 0x0002,
514  md_use_getref1 = 0x0004,
515  md_no_create = 0x0008,
516  md_no_access = 0x0010,
517  md_direct_index = 0x0020,
518  md_new_plugin = 0x0040,
519  md_auto_parms = 0x0080,
520  md_name_clash = 0x0100,
521  md_initialized = 0x0200,
522  md_no_cd = 0x0400,
523 };
Definition: mxsobjects.h:519
Definition: mxsobjects.h:512
Definition: mxsobjects.h:518
Definition: mxsobjects.h:513
Definition: mxsobjects.h:515
Definition: mxsobjects.h:514
Definition: mxsobjects.h:522
Definition: mxsobjects.h:517
Definition: mxsobjects.h:521
Definition: mxsobjects.h:520
Definition: mxsobjects.h:516
anonymous enum
Enumerator
TYPE_POINT3_ANGLE 
TYPE_POINT3_PCNT 
526 {
527  TYPE_POINT3_ANGLE = TYPE_USER + 128, /* MAXScript special paramblock types... */
529 };
Definition: mxsobjects.h:528
Definition: mxsobjects.h:527
Used to define user types.
Definition: paramtype.h:34
Enumerator
ResultOk 
ErrSelectionEmpty 
ErrRequireNodes 
770 {
771  ResultOk,
774 };
Definition: mxsobjects.h:771
Definition: mxsobjects.h:773
Definition: mxsobjects.h:772

Function Documentation

ScripterExport const MCHAR* get_deleted_obj_err_message ( )
ScripterExport MAXSuperClass* lookup_MAXSuperClass ( SClass_ID  scid)
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
657 {
658  // compute cache index - fold halfwords & fold to cache size, get cache entry
659  int index = DL_abs((int)((PointerLoPart(index_ptr) ^ PointerHiPart(index_ptr)))) % MAXWRAPPER_CACHE_SIZE;
660  *pw = &maxwrapper_cache[index];
661  // we match initially if entry contains a non-deleted MAXWrapper
662  MAXWrapper* w = **pw;
663  return (w && !w->ref_deleted);
664 }
#define MAXWRAPPER_CACHE_SIZE
Definition: mxsobjects.h:648
WORD PointerHiPart(ULONG_PTR ptr)
Definition: 3dsmaxdlport.h:381
Definition: mxsobjects.h:93
WORD PointerLoPart(ULONG_PTR ptr)
Definition: 3dsmaxdlport.h:386
ScripterExport MAXWrapper * maxwrapper_cache[]
int DL_abs(int n)
Definition: 3dsmaxdlport.h:534
short ref_deleted
Definition: mxsobjects.h:97
LONG_PTR maxwrapper_genref ( void pObject,
LONG_PTR  index 
)
inline
709 {
710  return(reinterpret_cast<LONG_PTR>(pObject) ^ index);
711 }
LONG_PTR maxwrapper_genref ( void pObject1,
void pObject2 
)
inline
714 {
715  return(maxwrapper_genref(pObject1, reinterpret_cast<LONG_PTR>(pObject2)));
716 }
LONG_PTR maxwrapper_genref(void *pObject, LONG_PTR index)
Definition: mxsobjects.h:708
ScripterExport void InvalidateNodeRect ( INode node,
TimeValue  t 
)
ScripterExport GetINodeTabResult GetINodeTabFromValue ( Value val,
INodeTab nodeTab,
INodeTab **  pResult 
)

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
ScripterExport MAXWrapper* maxwrapper_cache[]