#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 "..\protocols\timefunctions.inl"
#include "..\macros\define_implementations.h"
#include "..\protocols\node.inl"
#include "..\protocols\arrays.inl"
#include "..\protocols\atmospherics.inl"
#include "..\protocols\xrefs.inl"
Go to the source code of this file.
Classes |
|
struct | parm_desc |
struct | superclass_table |
struct | class_key |
struct | class_table |
class | FindMAXWrapperEnum |
class | CHRedrawViewsCallback |
class | ChangeHandler |
struct | node_map |
struct | node_find |
struct | node_get |
class | ConvertToRestore |
struct | gbuff_chan_code |
class | AssignControllerRestore |
class | NodeTab |
Defines |
|
#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) |
#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 |
RefMessage sent by Controls to tell
MAXControl values that they are not new. |
|
#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 MCHAR * | get_deleted_obj_err_message () |
visible_class (MAXWrapper) class MAXWrapper | |
visible_class_debug_ok (MAXSuperClass) class MAXSuperClass | |
ScripterExport MAXSuperClass * | lookup_MAXSuperClass (SClass_ID scid) |
visible_class_debug_ok (MAXClass) class MAXClass | |
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) |
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 | |
visible_class (MAXNodeChildrenArray) class MAXNodeChildrenArray | |
visible_class (MAXObject) class MAXObject | |
visible_class (MAXPB2ArrayParam) class MAXPB2ArrayParam | |
visible_class (MAXModifier) class MAXModifier | |
visible_class (MAXModifierArray) class MAXModifierArray | |
visible_class (MAXControl) class MAXControl | |
visible_class (MAXSubAnim) class MAXSubAnim | |
visible_class (MAXRefTarg) class MAXRefTarg | |
visible_class (MAXTVNode) class MAXTVNode | |
visible_class (TrackViewPickValue) class TrackViewPickValue | |
visible_class (MAXTVUtility) class MAXTVUtility | |
visible_class (MAXMeshClass) class MAXMeshClass | |
applyable_class (MeshValue) class MeshValue | |
visible_class (MAXAtmospheric) class MAXAtmospheric | |
visible_class (MAXEffect) class MAXEffect | |
visible_class (MAXMultiPassCameraEffect) class MAXMultiPassCameraEffect | |
visible_class (MAXShadowType) class MAXShadowType | |
visible_class (MAXRenderer) class MAXRenderer | |
visible_class (MAXCustAttrib) class MAXCustAttrib | |
visible_class (MAXCustAttribArray) class MAXCustAttribArray | |
visible_class (ChangeHandler) class CHTimeChangeCallback | |
visible_class (MAXRootNode) class MAXRootNode | |
bool | for_all_nodes (INode *root, node_map *m) |
Value * | find_first_node (INode *root, node_find *f) |
Value * | get_node (INode *root, node_get *g) |
bool | for_all_path_nodes (INode *root, PathName *path, node_map *m) |
BOOL | all_objects_selector (INode *node, int level, void *selector_arg) |
int | max_name_compare (const MCHAR *max_name, const MCHAR *other) |
Value * | get_subanim_property (Animatable *anim, Value *prop) |
Value * | get_subanim_property (Animatable *anim, int i) |
Value * | set_subanim_property (Animatable *anim, Value *prop, Value *val) |
Value * | set_subanim_property (Animatable *anim, int i, Value *val) |
BOOL | set_subanim_controller (Animatable *anim, Value *prop, Control *newc, MAXControl *newcv) |
Control * | find_subanim_controller (Animatable *anim, Value *prop, ParamDimension **dim) |
void | deselect_if_motion_panel_open () |
ScripterExport Value * | collect_nodes (Value **arg_list, int count) |
visible_class (MAXSceneXRef) class MAXSceneXRef | |
visible_class (MAXRootScene) class MAXRootScene | |
Variables |
|
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 MAXWrapper * | maxwrapper_cache [] |
gbuff_chan_code | gbuff_chan_codes [] |
#define MESH_READ_ACCESS 0 |
Definition at line 41 of file mxsobjects.h.
#define MESH_WRITE_ACCESS 1 |
Definition at line 42 of file mxsobjects.h.
#define MESH_BASE_OBJ 2 |
Definition at line 43 of file mxsobjects.h.
#define check_for_deletion_test | ( | ) |
( 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) \ ) \ ) \ )
Definition at line 57 of file mxsobjects.h.
#define check_for_deletion | ( | ) | if (check_for_deletion_test()) throw RuntimeError (get_deleted_obj_err_message(), class_name()); |
Definition at line 68 of file mxsobjects.h.
#define deletion_check_test | ( | val | ) |
( (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) \ ) \ ) \ )
Definition at line 69 of file mxsobjects.h.
#define deletion_check | ( | val | ) | if (deletion_check_test(val)) throw RuntimeError (get_deleted_obj_err_message(), (val)->class_name()); |
Definition at line 80 of file mxsobjects.h.
#define def_property | ( | p | ) |
ScripterExport Value* get_##p(Value** arg_list, int count); \ ScripterExport Value* set_##p(Value** arg_list, int count)
#define def_2_prop_path | ( | p1, | |
p2 | |||
) |
ScripterExport Value* get_##p1##_##p2(Value** arg_list, int count); \ ScripterExport Value* set_##p1##_##p2(Value** arg_list, int count)
#define def_nested_prop | ( | p1 | ) |
ScripterExport Value* get_nested_##p1(Value** arg_list, int count); \ ScripterExport Value* set_nested_##p1(Value** arg_list, int count)
#define def_time_fn | ( | _fn | ) | ScripterExport Value* _fn(Animatable* anim, Value** arglist, int arg_count) |
#define NO_TRANSLATE 0x0001 |
Definition at line 342 of file mxsobjects.h.
#define NO_SCALE 0x0002 |
Definition at line 343 of file mxsobjects.h.
#define ctrl_to_current_coordsys_rotate | ( | p | ) | ctrl_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 345 of file mxsobjects.h.
#define ctrl_from_current_coordsys_rotate | ( | p | ) | ctrl_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 346 of file mxsobjects.h.
#define object_to_current_coordsys_rotate | ( | p | ) | object_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 347 of file mxsobjects.h.
#define object_from_current_coordsys_rotate | ( | p | ) | object_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 348 of file mxsobjects.h.
#define world_to_current_coordsys_rotate | ( | p | ) | world_to_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 349 of file mxsobjects.h.
#define world_from_current_coordsys_rotate | ( | p | ) | world_from_current_coordsys(p, NO_TRANSLATE + NO_SCALE) |
Definition at line 350 of file mxsobjects.h.
#define object_to_current_coordsys_scaleRotate | ( | p | ) | object_to_current_coordsys(p, NO_TRANSLATE) |
Definition at line 351 of file mxsobjects.h.
#define object_from_current_coordsys_scaleRotate | ( | p | ) | object_from_current_coordsys(p, NO_TRANSLATE) |
Definition at line 352 of file mxsobjects.h.
#define PD_NO_INIT 0x01 |
Definition at line 406 of file mxsobjects.h.
#define PD_LOCAL_DUP 0x02 |
Definition at line 407 of file mxsobjects.h.
#define PD_HAS_LOCAL_DUPS 0x04 |
Definition at line 408 of file mxsobjects.h.
#define PD_SHOWN 0x08 |
Definition at line 409 of file mxsobjects.h.
#define is_maxsuperclass | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSuperClass)) |
#define SC_SUPERCLASS_INITED 0x0001 |
Definition at line 473 of file mxsobjects.h.
#define SC_NON_REFTARG 0x0002 |
Definition at line 474 of file mxsobjects.h.
#define is_maxclass | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXClass)) |
#define MAXWRAPPER_CACHE_SIZE 2048 |
Definition at line 640 of file mxsobjects.h.
#define maxwrapper_cache_get | ( | _mw_class, | |
_mw_ref, | |||
_mw_var, | |||
_ce_var | |||
) |
(_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))
Definition at line 659 of file mxsobjects.h.
#define is_node | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNode)) |
#define INODE_CLASS_ID Class_ID(BASENODE_CLASS_ID, 0) |
Definition at line 941 of file mxsobjects.h.
#define INODE_SUPERCLASS_ID BASENODE_CLASS_ID |
Definition at line 942 of file mxsobjects.h.
#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 |
RefMessage sent by Controls to tell MAXControl values that they are not new.
Clears flag bit MAX_CTRL_NEW The hTarg argument is the Control being operated on
Definition at line 1121 of file mxsobjects.h.
#define is_controller | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXControl)) |
#define MAX_CTRL_NO_DIM 0x01 |
Definition at line 1184 of file mxsobjects.h.
#define MAX_CTRL_NEW 0x02 |
Definition at line 1185 of file mxsobjects.h.
#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 |
Definition at line 1740 of file mxsobjects.h.
#define CH_BUSY 0x0002 |
Definition at line 1741 of file mxsobjects.h.
#define CH_NOTIFIED 0x0004 |
Definition at line 1742 of file mxsobjects.h.
#define CH_DELETE 0x0008 |
Definition at line 1743 of file mxsobjects.h.
#define is_rootnode | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXRootNode)) |
#define NM_INVERT 0x0001 |
Definition at line 1798 of file mxsobjects.h.
#define NM_SELECT 0x0002 |
Definition at line 1799 of file mxsobjects.h.
#define NM_GET 0x0004 |
Definition at line 1800 of file mxsobjects.h.
#define NM_MXS_FN 0x0008 |
Definition at line 1801 of file mxsobjects.h.
typedef Value*(* maker_fn)(MAXClass *cls, ReferenceTarget *obj, Value **arglist, int count) |
Definition at line 420 of file mxsobjects.h.
enum metadata_flags |
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 |
Definition at line 488 of file mxsobjects.h.
{ md_use_getref = 0x0001, /* class flags */ 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 | |
setters | |
accessors | |
path_getters | |
path_setters | |
path_accessors | |
fns | |
paramblock | |
subanims | |
paramblockn | |
subanimparamblock |
Definition at line 502 of file mxsobjects.h.
{ // end = 0, /* metadata vararg tags */ getters = 1, setters, accessors, path_getters, path_setters, path_accessors, fns, paramblock, subanims, paramblockn, subanimparamblock };
anonymous enum |
Definition at line 518 of file mxsobjects.h.
{ TYPE_POINT3_ANGLE = TYPE_USER + 128, /* MAXScript special paramblock types... */ TYPE_POINT3_PCNT, };
enum GetINodeTabResult |
Definition at line 761 of file mxsobjects.h.
ScripterExport MCHAR* get_deleted_obj_err_message | ( | ) |
visible_class | ( | MAXWrapper | ) |
Definition at line 85 of file mxsobjects.h.
: public Value, public ReferenceTarget // ReferenceMaker { public: Tab<RefTargetHandle> refs; /* reference array */ short ref_deleted; ScripterExport MAXWrapper(); ScripterExport virtual ~MAXWrapper(); // Needed to solve ambiguity between Collectable's operators and MaxHeapOperators using Collectable::operator new; using Collectable::operator delete; ScripterExport Value* classOf_vf(Value** arg_list, int count); ScripterExport Value* superClassOf_vf(Value** arg_list, int count); ScripterExport Value* isKindOf_vf(Value** arg_list, int count); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXWrapper)) ? 1 : Value::is_kind_of(c); } ScripterExport BOOL not_on_undo_stack(); void collect() { if (not_on_undo_stack()) delete this; } ScripterExport void gc_trace(); virtual MCHAR* class_name() = 0; virtual ReferenceTarget* get_max_object() { return (NumRefs()) ? GetReference(0) : NULL; } // LAM - 7/18/01 ScripterExport Value* copy_no_undo(Value** arg_list, int count); BOOL derives_from_MAXWrapper() { return TRUE; } // LAM - 7/8/03 - defect 504956 ScripterExport void make_ref(int ref_no, ReferenceTarget* ref); void drop_MAX_refs() { DeleteAllRefsFromMe(); } bool can_collect_in_gc_light(); // returns true if can collect maxwrapper during gc light:true // Animatable Class_ID ClassID() { return Class_ID(MAXSCRIPT_WRAPPER_CLASS_ID, 0); } SClass_ID SuperClassID() { return MAXSCRIPT_WRAPPER_CLASS_ID; } // ReferenceMaker int NumRefs() { return refs.Count(); } RefTargetHandle GetReference(int i) { return refs[i]; } protected: ScripterExport virtual void SetReference(int i, RefTargetHandle rtarg); public: ScripterExport RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message); ScripterExport void DeleteThis(); #pragma warning(push) #pragma warning(disable:4100) BOOL CanTransferReference(int i) { return FALSE; } // For adding special cases for wrappers of object that we want to allow to be deleted // even though MAXScript may hold a reference to them. ScripterExport BOOL IsRealDependency(ReferenceTarget *rtarg); // generic property accessors (operate on ref(0)) ScripterExport Value* get_property(Value** arg_list, int count); ScripterExport Value* set_property(Value** arg_list, int count); // direct property access, when no wrapper exists, but we have the MAX-side ref static ScripterExport Value* get_property(ReferenceTarget* ref, Value* prop, Value* owner); static ScripterExport Value* set_property(ReferenceTarget* ref, Value* prop, Value* val); #ifdef def_generic # undef def_generic # undef def_generic_debug_ok # undef def_property # undef def_2_prop_path # undef def_nested_prop #endif #ifdef def_prop_getter # undef def_prop_getter # undef def_prop_setter #endif #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) \ ScripterExport Value* get_##p(Value** arg_list, int count); \ ScripterExport Value* set_##p(Value** arg_list, int count) #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) \ ScripterExport Value* get_##p1##_##p2(Value** arg_list, int count); \ ScripterExport Value* set_##p1##_##p2(Value** arg_list, int count) #define def_nested_prop(p1) \ ScripterExport Value* get_nested_##p1(Value** arg_list, int count); \ ScripterExport Value* set_nested_##p1(Value** arg_list, int count) def_generic( eq, "="); def_generic( ne, "!="); def_generic (coerce, "coerce"); // allow coercion to MAXRefTarg. Use for handling things like medit_materials as a reftarg def_generic (show_props, "showProperties"); def_generic (get_props, "getPropNames"); def_generic (copy, "copy"); def_generic (isDeleted, "isDeleted"); def_generic (exprForMAXObject, "exprForMAXObject"); // def_generic (dependsOn, "dependsOn"); def_generic (show_interfaces, "showInterfaces"); def_generic (get_interfaces, "getInterfaces"); def_generic (get_interface, "getInterface"); // the standard transform subanim properties def_property ( pos ); def_2_prop_path ( pos, controller ); def_2_prop_path ( pos, isAnimated ); def_2_prop_path ( pos, keys ); def_2_prop_path ( pos, track ); def_2_prop_path ( pos, x ); def_2_prop_path ( pos, y ); def_2_prop_path ( pos, z ); def_property ( rotation ); def_2_prop_path ( rotation, angle ); def_2_prop_path ( rotation, x_rotation ); def_2_prop_path ( rotation, y_rotation ); def_2_prop_path ( rotation, z_rotation ); def_2_prop_path ( rotation, axis ); def_2_prop_path ( rotation, controller ); def_2_prop_path ( rotation, isAnimated ); def_2_prop_path ( rotation, keys ); def_2_prop_path ( rotation, track ); def_property ( scale ); def_2_prop_path ( scale, controller ); def_2_prop_path ( scale, isAnimated ); def_2_prop_path ( scale, keys ); def_2_prop_path ( scale, track ); def_2_prop_path ( scale, x ); def_2_prop_path ( scale, y ); def_2_prop_path ( scale, z ); def_property ( controller ); def_property ( transform ); def_property ( isAnimated ); def_property ( numsubs ); def_nested_prop ( angle ); def_nested_prop ( x_rotation ); def_nested_prop ( y_rotation ); def_nested_prop ( z_rotation ); def_nested_prop ( axis ); def_nested_prop ( controller ); def_nested_prop ( isAnimated ); def_nested_prop ( keys ); def_nested_prop ( x ); def_nested_prop ( y ); def_nested_prop ( z ); def_nested_prop ( w ); // utility methods for the above subanim property accessors, implemented by // those that have standard transform subsanims virtual Control* get_max_pos_controller(ParamDimension** pdim) { return NULL; } virtual Control* get_max_scale_controller(ParamDimension** pdim) { return NULL; } virtual Control* get_max_rotation_controller(ParamDimension** pdim) { return NULL; } virtual Control* get_max_tm_controller(ParamDimension** pdim) { return NULL; } virtual Control* get_max_controller(ParamDimension** pdim) { return NULL; } ScripterExport virtual Control* get_max_prop_controller(Value* prop, ParamDimension** pdim); virtual BOOL set_max_pos_controller(MAXControl* c) { return FALSE; } virtual BOOL set_max_scale_controller(MAXControl* c) { return FALSE; } virtual BOOL set_max_rotation_controller(MAXControl* c) { return FALSE; } virtual BOOL set_max_tm_controller(MAXControl* c) { return FALSE; } virtual BOOL set_max_controller(MAXControl* c) { return FALSE; } ScripterExport virtual BOOL set_max_prop_controller(Value* prop, MAXControl* c); static ScripterExport Control* get_max_prop_controller(ReferenceTarget* ref, Value* prop, ParamDimension** pdim); static ScripterExport BOOL set_max_prop_controller(ReferenceTarget* ref, Value* prop, MAXControl* c); ScripterExport virtual BOOL is_max_prop_animatable(Value* prop); ScripterExport Value* get_container_property(Value* prop, Value* cur_prop); ScripterExport Value* set_container_property(Value* prop, Value* val, Value* cur_prop); // coordsystem mappers, default is no mapping virtual void object_to_current_coordsys(Point3& p, int mode=0) { } virtual void object_from_current_coordsys(Point3& p, int mode=0) { } virtual void world_to_current_coordsys(Point3& p, int mode=0) { } virtual void world_from_current_coordsys(Point3& p, int mode=0) { } virtual void world_to_current_coordsys(Quat& q) { } virtual void world_from_current_coordsys(Quat& q) { } // map to & from controller value coordsys, eg, parent for nodes, modcontext for modifiers, etc. virtual void ctrl_to_current_coordsys(Point3& p, int mode=0) { } virtual void ctrl_from_current_coordsys(Point3& p, int mode=0) { } virtual void ctrl_to_current_coordsys(Quat& q) { } virtual void ctrl_from_current_coordsys(Quat& q) { } virtual void ctrl_to_current_coordsys(ScaleValue& s) { } virtual void ctrl_from_current_coordsys(ScaleValue& s) { } #pragma warning(pop) virtual Matrix3& local_tm() { return idTM; } virtual Matrix3 local_tm_inv() { return Inverse(local_tm()); } // recursive time functions #undef def_time_fn #define def_time_fn(_fn) ScripterExport Value* _fn##_vf(Value** arglist, int arg_count) #include "..\protocols\timefunctions.inl" #undef def_time_fn #define def_time_fn(_fn) ScripterExport Value* _fn(Animatable* anim, Value** arglist, int arg_count) #include "..\protocols\timefunctions.inl" // mesh & mesh-sub-object access setup ScripterExport virtual Mesh* set_up_mesh_access(int access, ReferenceTarget** owner = NULL); ScripterExport virtual Mesh* set_up_mesh_face_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual Mesh* set_up_mesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual MNMesh* set_up_mnmesh_access(int access, ReferenceTarget** owner = NULL); ScripterExport virtual MNMesh* set_up_mnmesh_face_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual MNMesh* set_up_mnmesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual BitArray get_vertsel(); ScripterExport virtual BitArray get_facesel(); ScripterExport virtual BitArray get_edgesel(); ScripterExport virtual void set_vertsel(BitArray &sel); ScripterExport virtual void set_facesel(BitArray &sel); ScripterExport virtual void set_edgesel(BitArray &sel); ScripterExport virtual GenericNamedSelSetList& get_named_vertsel_set(); ScripterExport virtual GenericNamedSelSetList& get_named_facesel_set(); ScripterExport virtual GenericNamedSelSetList& get_named_edgesel_set(); virtual void update_sel() { NotifyDependents(FOREVER, PART_SELECT, REFMSG_CHANGE); } ScripterExport virtual bool isPolyObject(int access); ScripterExport virtual IMeshSelectData* set_up_IMeshSelectData_access(int access, ReferenceTarget** owner); #ifndef NO_PATCHES ScripterExport virtual bool isPatchObject(int access); ScripterExport virtual PatchObject* set_up_patch_access(int access, ReferenceTarget** owner = NULL); ScripterExport virtual PatchObject* set_up_patch_face_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual PatchObject* set_up_patch_vertex_access(int index, int access, ReferenceTarget** owner = NULL); ScripterExport virtual IPatchSelectData* set_up_IPatchSelectData_access(int access, ReferenceTarget** owner); #endif // NO_PATCHES def_property ( category ); def_prop_getter( classID ); def_prop_getter( superclassID ); def_generic ( get, "get" ); // <mw>[i] => subAnim[i] def_generic ( getSubAnim, "getSubAnim" ); // equivalent def_generic ( getSubAnimName, "getSubAnimName" ); def_generic ( getSubAnimNames, "getSubAnimNames" ); def_generic ( getAppData, "getAppData"); def_generic ( setAppData, "setAppData"); def_generic ( deleteAppData, "deleteAppData"); def_generic ( clearAllAppData, "clearAllAppData"); def_generic ( addPluginRollouts, "addPluginRollouts"); ReferenceTarget* to_reftarg() { return get_max_object(); } void to_fpvalue(FPValue& v) { v.r = get_max_object(); v.type = TYPE_REFTARG; } // scene I/O ScripterExport IOResult Save(ISave* isave); static ScripterExport Value* Load(ILoad* iload, USHORT chunkID, ValueLoader* vload); // FPInterface access using ReferenceTarget::GetInterface; ScripterExport BaseInterface* GetInterface(Interface_ID id); };
visible_class_debug_ok | ( | MAXSuperClass | ) |
Definition at line 422 of file mxsobjects.h.
: public Value { public: Value* name; SClass_ID sclass_id; Value* superclass; maker_fn maker; short n_parms; short flags; parm_desc* parms; // LAM 4/1/00 - exporting the following... ScripterExport MAXSuperClass(MCHAR* cname, SClass_ID sid, Value* superClass, maker_fn maker, ...); ScripterExport ~MAXSuperClass(); void complete_init(); static superclass_table* superclasses; // lookup table of all superclasses by SClass_ID static short n_superclasses; static BOOL superclass_table_dirty; static void free_classes(); // deallocates superclasses memory and cleans up statics static MAXSuperClass* lookup_superclass(SClass_ID sid); 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) { return ((c == class_tag(MAXWrapper)) ? 1 : Value::is_kind_of(c)); } // LAM: 2/23/01 BOOL is_kind_of(ValueMetaClass* c) { return ((c == class_tag(MAXSuperClass)) ? 1 : Value::is_kind_of(c)); } # define is_maxsuperclass(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSuperClass)) void collect() { delete this; } void gc_trace(); ScripterExport void sprin1(CharStream* s); 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"); // LAM - 6/29/00 def_generic (get_interfaces, "getInterfaces"); def_generic (get_interface, "getInterface"); def_property( categories ); def_property( classes ); };
ScripterExport MAXSuperClass* lookup_MAXSuperClass | ( | SClass_ID | scid | ) |
visible_class_debug_ok | ( | MAXClass | ) |
Definition at line 526 of file mxsobjects.h.
: public Value { public: Value* name; Class_ID class_id; SClass_ID sclass_id; ClassDesc* cd; ClassDesc2* cd2; // for now, pointer to ClassDesc2 if this class is PB2-based short md_flags; int n_parms; parm_desc* parms; MAXSuperClass* superclass; short paramblock_ref_no; Value* category; HashTable* interfaces; // plugin's FnPub published functions static class_table* classes; // lookup table of all classes by Class_ID static int n_classes; static BOOL class_table_dirty; static void free_classes(); // Free's up the classes member, and clears statics static ScripterExport MAXClass* lookup_class(Class_ID* cid, SClass_ID scid, bool make_new_if_missing = true); MAXClass() { } ScripterExport MAXClass(MCHAR* cname, Class_ID cid, SClass_ID sid, MAXSuperClass* sclass, short cflags, ...); ScripterExport ~MAXClass(); ClassDesc* complete_init(); static void setup(); 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) { return (c == class_tag(MAXClass)) ? 1 : Value::is_kind_of(c); } # define is_maxclass(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXClass)) void collect() { delete this; } void gc_trace(); ScripterExport void sprin1(CharStream* s); void export_to_scripter(); ScripterExport Value* apply(Value** arglist, int count, CallContext* cc=NULL); // object creation by applying class object static ScripterExport Value* make_wrapper_for(ReferenceTarget* ref); static ScripterExport Value* make_node_for(ReferenceTarget* ref); parm_desc* get_parm_desc(ReferenceTarget* ref, Value* key); BOOL build_parm_descs(ReferenceTarget* ref); ScripterExport void apply_keyword_parms(ReferenceTarget* ref, Value** key_arg_list, int count); 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); // PB2-related 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 void set_pb2_property(IParamBlock2* pb, ParamDef* pd, int tabIndex, TimeValue t, Value* val); static ParamDef* get_parm_def(ClassDesc2* cd2, Value* prop, ParamBlockDesc2*& pbd, int& tabIndex, ReferenceTarget* ref = NULL); def_generic (get_props, "getPropNames"); def_generic (create_instance, "createInstance"); def_generic (show_interfaces, "showInterfaces"); // LAM - 6/29/00 def_generic (get_interfaces, "getInterfaces"); def_generic (get_interface, "getInterface"); Class_ID get_max_class_id() { return class_id; } def_property ( category ); def_prop_getter( classID ); def_prop_getter( superclassID ); def_property ( creatable ); void to_fpvalue(FPValue& v); Value* Category(); 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 | ||
) |
BOOL _maxwrapper_cache_get | ( | LONG_PTR | index_ptr, |
MAXWrapper *** | pw | ||
) | [inline] |
Definition at line 648 of file mxsobjects.h.
{ // compute cache index - fold halfwords & fold to cache size, get cache entry int index = DL_abs((int)((PointerLoPart(index_ptr) ^ PointerHiPart(index_ptr)))) % MAXWRAPPER_CACHE_SIZE; *pw = &maxwrapper_cache[index]; // we match initially if entry contains a non-deleted MAXWrapper MAXWrapper* w = **pw; return (w && !w->ref_deleted); }
LONG_PTR maxwrapper_genref | ( | void * | pObject, |
LONG_PTR | index | ||
) | [inline] |
Definition at line 700 of file mxsobjects.h.
{
return(reinterpret_cast<LONG_PTR>(pObject) ^ index);
}
LONG_PTR maxwrapper_genref | ( | void * | pObject1, |
void * | pObject2 | ||
) | [inline] |
Definition at line 705 of file mxsobjects.h.
{ return(maxwrapper_genref(pObject1, reinterpret_cast<LONG_PTR>(pObject2))); }
ScripterExport GetINodeTabResult GetINodeTabFromValue | ( | Value * | val, |
INodeTab & | nodeTab, | ||
INodeTab ** | pResult | ||
) |
visible_class | ( | MAXNode | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 775 of file mxsobjects.h.
: public MAXWrapper { public: INode* node; ScripterExport MAXNode(INode* init_node); static ScripterExport Value* intern(INode* init_node); 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) { return (c == class_tag(MAXNode)) ? 1 : MAXWrapper::is_kind_of(c); } # define is_node(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNode)) ScripterExport void sprin1(CharStream* s); MCHAR* class_name(); ScripterExport ReferenceTarget* get_max_object(); ScripterExport static Value* ConvertTo(INode* node, Class_ID ccid); /* include all the protocol declarations */ #include "..\macros\define_implementations.h" # include "..\protocols\node.inl" def_generic( distance, "distance" ); // shortcut distance fn for nodes def_generic( eq, "="); def_generic( ne, "!="); def_generic( coerce, "coerce"); def_generic (get_interfaces, "getInterfaces"); def_generic (get_interface, "getInterface"); /* declare built-in property accessors */ def_property ( dir ); def_property ( target ); def_property ( mat ); def_property ( modifiers ); def_property ( name ); def_property ( max ); def_property ( min ); def_property ( center ); def_property ( transform ); def_property ( parent ); def_property ( children ); def_property ( pivot ); def_2_prop_path ( pivot, x ); def_2_prop_path ( pivot, y ); def_2_prop_path ( pivot, z ); def_property ( objectoffsetpos ); def_property ( objectoffsetrot ); def_property ( objectoffsetscale ); def_property ( objecttransform ); def_nested_prop ( angle ); def_nested_prop ( axis ); /* mesh props */ def_property ( numverts ); def_property ( numtverts ); def_property ( numfaces ); def_property ( numcpvverts ); def_property ( mesh ); def_property ( displacementMapping ); def_property ( subdivisionDisplacement ); def_property ( splitMesh ); /* mesh sub-objects (implemented in MeshSub.cpp) */ def_property ( vertices ); def_property ( selectedVertices ); def_property ( faces ); def_property ( selectedFaces ); def_property ( edges ); def_property ( selectedEdges ); /* spline shape props */ def_property ( numsplines ); /* general property & substructure access */ Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); Value* find_modifier(Object* obj, Value* prop); Value* get_property_via_metadata(Value* prop); Control* get_max_prop_controller(Value* prop, ParamDimension** pdim); BOOL set_max_prop_controller(Value* prop, MAXControl* c); /* children mappers */ ScripterExport Value* map(node_map& m); ScripterExport Value* map_path(PathName* path, node_map& m); ScripterExport Value* find_first(BOOL (*test_fn)(INode* node, int level, void* arg), void* test_arg); ScripterExport Value* get_path(PathName* path); INode* to_node() { check_for_deletion(); return node; } void to_fpvalue(FPValue& v) { v.n = node; v.type = TYPE_INODE; } // coordsystem mappers ScripterExport void object_to_current_coordsys(Point3& p, int mode=0); ScripterExport void object_from_current_coordsys(Point3& p, int mode=0); ScripterExport void world_to_current_coordsys(Point3& p, int mode=0); ScripterExport void world_from_current_coordsys(Point3& p, int mode=0); ScripterExport void world_to_current_coordsys(Quat& q); ScripterExport void world_from_current_coordsys(Quat& q); ScripterExport void world_to_current_coordsys(ScaleValue& s); ScripterExport void world_from_current_coordsys(ScaleValue& s); // standard transorm controller access Control* get_max_pos_controller(ParamDimension** pdim); Control* get_max_scale_controller(ParamDimension** pdim); Control* get_max_rotation_controller(ParamDimension** pdim); Control* get_max_tm_controller(ParamDimension** pdim); Control* get_max_controller(ParamDimension** pdim); BOOL set_max_pos_controller(MAXControl* c); BOOL set_max_scale_controller(MAXControl* c); BOOL set_max_rotation_controller(MAXControl* c); BOOL set_max_tm_controller(MAXControl* c); BOOL set_max_controller(MAXControl* c); void ctrl_to_current_coordsys(Point3& p, int mode=0); void ctrl_from_current_coordsys(Point3& p, int mode=0); void ctrl_to_current_coordsys(Quat& q); void ctrl_from_current_coordsys(Quat& q); void ctrl_to_current_coordsys(ScaleValue& s); void ctrl_from_current_coordsys(ScaleValue& s); // recursive time functions #undef def_time_fn #define def_time_fn(_fn) Value* _fn##_vf(Value** arglist, int arg_count) #include "..\protocols\timefunctions.inl" // mesh access setup Mesh* set_up_mesh_access(int access, ReferenceTarget** owner = NULL); Mesh* set_up_mesh_face_access(int index, int access, ReferenceTarget** owner = NULL); Mesh* set_up_mesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL); MNMesh* set_up_mnmesh_access(int access, ReferenceTarget** owner = NULL); MNMesh* set_up_mnmesh_face_access(int index, int access, ReferenceTarget** owner = NULL); MNMesh* set_up_mnmesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL); BitArray get_vertsel(); BitArray get_facesel(); BitArray get_edgesel(); void set_vertsel(BitArray &sel); void set_facesel(BitArray &sel); void set_edgesel(BitArray &sel); GenericNamedSelSetList& get_named_vertsel_set(); GenericNamedSelSetList& get_named_facesel_set(); GenericNamedSelSetList& get_named_edgesel_set(); void update_sel(); bool isPolyObject(int access); IMeshSelectData* set_up_IMeshSelectData_access(int access, ReferenceTarget** owner); // Patch Access #ifndef NO_PATCHES bool isPatchObject(int access); PatchObject* set_up_patch_access(int access, ReferenceTarget** owner = NULL); PatchObject* set_up_patch_face_access(int index, int access, ReferenceTarget** owner = NULL); PatchObject* set_up_patch_vertex_access(int index, int access, ReferenceTarget** owner = NULL); IPatchSelectData* set_up_IPatchSelectData_access(int access, ReferenceTarget** owner); #endif // NO_PATCHES };
visible_class | ( | MAXNodeChildrenArray | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 946 of file mxsobjects.h.
: public Value, public Collection { public: MAXNode* parent; /* parent node */ ENABLE_STACK_ALLOCATE(MAXNodeChildrenArray); ScripterExport MAXNodeChildrenArray(INode* parent); ScripterExport MAXNodeChildrenArray(MAXNode* parent); # define is_nodechildrenarray(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXNodeChildrenArray)) classof_methods (MAXNodeChildrenArray, Value); BOOL _is_collection() { return 1; } void collect() { delete this; } void gc_trace(); ScripterExport void sprin1(CharStream* s); // operations ScripterExport Value* map(node_map& m); #include "..\macros\define_implementations.h" # include "..\protocols\arrays.inl" // built-in property accessors def_property ( count ); def_property ( center ); def_property ( min ); def_property ( max ); };
visible_class | ( | MAXObject | ) |
Definition at line 982 of file mxsobjects.h.
: public MAXWrapper { public: Object* obj; // the MAX-side object ScripterExport MAXObject(Object* o); static ScripterExport Value* intern(Object* o); # define is_maxobject(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXObject)) BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXObject)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name(); BOOL CanTransferReference(int i) { UNUSED_PARAM(i); return FALSE; } // prevent mod applications from making us refer to a derived object def_property ( mesh ); Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); void to_fpvalue(FPValue& v) { v.obj = obj; v.type = TYPE_OBJECT; } def_visible_generic ( updateXRef, "updateXRef"); };
visible_class | ( | MAXPB2ArrayParam | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1016 of file mxsobjects.h.
:4100) class MAXPB2ArrayParam : public MAXWrapper, public Collection { public: IParamBlock2* pblock; // owning paramblock ParamDef* pdef; // Tab<> parameter def MAXPB2ArrayParam(IParamBlock2* pb, ParamDef* pd); static ScripterExport Value* intern(IParamBlock2* pb, ParamDef* pd); classof_methods (MAXPB2ArrayParam, MAXWrapper); # define is_tab_param(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXPB2ArrayParam)) void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("Array Parameter"); } // operations ScripterExport Value* map(node_map& m); #include "..\macros\define_implementations.h" # include "..\protocols\arrays.inl" def_generic( coerce, "coerce"); ScripterExport Value* insertItem(Value** arg_list, int count); // called by insertItem_cf // built-in property accessors def_property ( count ); // nested props on indexed elements (notably <param>[i].controller) ScripterExport Value* get_container_property(Value* prop, Value* cur_prop); ScripterExport Value* set_container_property(Value* prop, Value* val, Value* cur_prop); // NULL get/showprops Value* show_props_vf(Value** arg_list, int count) { return &false_value; } Value* get_props_vf(Value** arg_list, int count) { return &undefined; } };
visible_class | ( | MAXModifier | ) |
Definition at line 1060 of file mxsobjects.h.
: public MAXWrapper { public: Modifier* mod; // the MAX-side modifier ScripterExport MAXModifier(Modifier* imod); static ScripterExport Value* intern(Modifier* imod); # define is_modifier(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXModifier)) BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXModifier)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name(); def_property ( name ); Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); Modifier* to_modifier() { check_for_deletion(); return mod; } void to_fpvalue(FPValue& v) { v.r = mod; v.type = TYPE_REFTARG; } };
visible_class | ( | MAXModifierArray | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1084 of file mxsobjects.h.
: public Value { public: MAXNode* node; /* the noed containing the modifiers */ ENABLE_STACK_ALLOCATE(MAXModifierArray); ScripterExport MAXModifierArray(INode* node); ScripterExport MAXModifierArray(MAXNode* node); classof_methods (MAXModifierArray, Value); void collect() { delete this; } void gc_trace(); BOOL _is_collection() { return 1; } ScripterExport void sprin1(CharStream* s); Modifier* get_modifier(int index); Modifier* find_modifier(MCHAR* name); MCHAR* class_name(); // operations ScripterExport Value* map(node_map& m); #include "..\macros\define_implementations.h" # include "..\protocols\arrays.inl" // built-in property accessors def_property ( count ); };
visible_class | ( | MAXControl | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1123 of file mxsobjects.h.
: public MAXWrapper { public: Control* controller; /* the MAX-side controller */ ParamDimension* dim; /* dimension from originating animatable */ short flags; ScripterExport MAXControl(Control* icont, ParamDimension* idim); ScripterExport MAXControl(Control* icont, int flags = 0); static ScripterExport Value* intern(Control* icont, ParamDimension* idim); static ScripterExport Value* intern(Control* icont, int flags = 0); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXControl)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name(); # define is_controller(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXControl)) RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message); // the non-recursive controller ops... (recursive's are implemented as MAXWrapper methods) #include "..\macros\define_implementations.h" use_generic ( copy, "copy"); def_visible_generic ( supportsTimeOperations, "supportsTimeOperations"); def_visible_generic ( getTimeRange, "getTimeRange"); def_visible_generic ( deleteKey, "deleteKey"); def_visible_generic ( selectKey, "selectKey"); def_visible_generic ( deselectKey, "deselectKey"); def_visible_generic ( isKeySelected, "isKeySelected"); def_visible_generic ( moveKey, "moveKey"); def_visible_generic ( numKeys, "numKeys"); def_visible_generic ( getKey, "getKey"); def_visible_generic ( getKeyTime, "getKeyTime"); def_visible_generic ( getKeyIndex, "getKeyIndex"); def_visible_generic ( numSelKeys, "numSelKeys"); def_visible_generic ( numEaseCurves, "numEaseCurves"); def_visible_generic ( applyEaseCurve, "applyEaseCurve"); def_visible_generic ( addMultiplierCurve, "addMultiplierCurve"); def_visible_generic ( deleteMultiplierCurve, "deleteMultiplierCurve"); def_visible_generic ( numMultiplierCurves, "numMultiplierCurves"); def_visible_generic ( getMultiplierValue, "getMultiplierValue"); def_visible_generic ( getBeforeORT, "getBeforeORT"); def_visible_generic ( getAfterORT, "getAfterORT"); // built-in property accessors def_property ( value ); def_property ( keys ); Control* to_controller() { check_for_deletion(); return controller; } void to_fpvalue(FPValue& v) { v.ctrl = controller; v.type = TYPE_CONTROL; } // trap reduceKeys() here to supply controllers dim def_visible_generic ( reduceKeys, "reduceKeys"); Value* get_property(Value** arg_list, int count); // LAM - 11/16/02 Value* set_property(Value** arg_list, int count); };
visible_class | ( | MAXSubAnim | ) |
NULL nested setter for subanims
Definition at line 1191 of file mxsobjects.h.
: public MAXWrapper { public: ReferenceTarget* ref; /* parent object */ int subanim_num; /* the subanim index */ ScripterExport MAXSubAnim(ReferenceTarget* ref, int index); static ScripterExport Value* intern(ReferenceTarget* ref, int index); classof_methods(MAXSubAnim, MAXWrapper); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("SubAnim"); } ScripterExport ReferenceTarget* get_max_object(); Value* _set_property(Value* prop, Value* val) { UNUSED_PARAM(prop); return val; } # define is_subAnim(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXSubAnim)) // standard transform controller access Control* get_max_pos_controller(ParamDimension** pdim); Control* get_max_scale_controller(ParamDimension** pdim); Control* get_max_rotation_controller(ParamDimension** pdim); Control* get_max_tm_controller(ParamDimension** pdim); Control* get_max_controller(ParamDimension** pdim); BOOL set_max_pos_controller(MAXControl* c); BOOL set_max_scale_controller(MAXControl* c); BOOL set_max_rotation_controller(MAXControl* c); BOOL set_max_tm_controller(MAXControl* c); BOOL set_max_controller(MAXControl* c); def_property( controller ); def_property( isAnimated ); def_property( keys ); def_property( value ); def_property( object ); def_property( name ); def_property( parent ); def_property( index ); // these converters all attempt to bounce off the subanim object Value* subanim_obj(); INode* to_node() { return subanim_obj() != this ? subanim_obj()->to_node() : Value::to_node(); } Mtl* to_mtl() { return subanim_obj() != this ? subanim_obj()->to_mtl() : Value::to_mtl(); } Texmap* to_texmap() { return subanim_obj() != this ? subanim_obj()->to_texmap() : Value::to_texmap(); } Modifier* to_modifier() { return subanim_obj() != this ? subanim_obj()->to_modifier() : Value::to_modifier(); } Control* to_controller() { return subanim_obj() != this ? subanim_obj()->to_controller() : Value::to_controller() ; } Atmospheric* to_atmospheric() { return subanim_obj() != this ? subanim_obj()->to_atmospheric() : Value::to_atmospheric(); } Effect* to_effect() { return subanim_obj() != this ? subanim_obj()->to_effect() : Value::to_effect(); } ITrackViewNode* to_trackviewnode() { return subanim_obj() != this ? subanim_obj()->to_trackviewnode() : Value::to_trackviewnode(); } void to_fpvalue(FPValue& v); };
visible_class | ( | MAXRefTarg | ) |
Definition at line 1249 of file mxsobjects.h.
: public MAXWrapper { public: ReferenceTarget* ref; /* the object */ ScripterExport MAXRefTarg(ReferenceTarget* ref); static ScripterExport Value* intern(ReferenceTarget* ref); // classof_methods(MAXRefTarg, MAXWrapper); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXRefTarg)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("MAXRefTarg"); } };
visible_class | ( | MAXTVNode | ) |
Definition at line 1271 of file mxsobjects.h.
: public MAXWrapper { public: ITrackViewNode* parent; // parent node int index; // the TVNode index ITrackViewNode* me; // LAM - 8/11/02 - defect 507276 - leaf class, not used outside MXS ScripterExport MAXTVNode(ITrackViewNode* parent, int index); static ScripterExport Value* intern(ITrackViewNode* parent, int index); static ScripterExport Value* intern(ITrackViewNode* itvnode); // new to max 2010 classof_methods (MAXTVNode, MAXWrapper); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("TrackViewNode"); } ReferenceTarget* get_max_object(); ScripterExport ITrackViewNode* get_tvnode(); // new to max 2010 Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); Control* get_max_prop_controller(Value* prop, ParamDimension** pdim); BOOL set_max_prop_controller(Value* prop, MAXControl* c); Control* get_max_pos_controller(ParamDimension** pdim) { return get_max_prop_controller(n_position, pdim); } Control* get_max_scale_controller(ParamDimension** pdim) { return get_max_prop_controller(n_scale, pdim); } Control* get_max_rotation_controller(ParamDimension** pdim) { return get_max_prop_controller(n_rotation, pdim); } def_generic ( get_props, "getPropNames" ); def_property ( name ); RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message); BOOL IsRealDependency(ReferenceTarget *rtarg); ITrackViewNode* to_trackviewnode() { check_for_deletion(); return (parent == NULL) ? MAXScript_interface->GetTrackViewRootNode() : parent->GetNode(index); } };
visible_class | ( | TrackViewPickValue | ) |
Definition at line 1311 of file mxsobjects.h.
: public Value { public: TrackViewPick track; Value* client; Value* anim; int sub_num; MSTR name; ScripterExport TrackViewPickValue(TrackViewPick pick); classof_methods (TrackViewPickValue, Value); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); void gc_trace(); # define is_trackviewpick(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(TrackViewPickValue)) Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); };
visible_class | ( | MAXTVUtility | ) |
Definition at line 1331 of file mxsobjects.h.
: public MAXWrapper { public: ITreeView* tv; // the trackview the utility was created in MSTR name; TrackViewUtility* tvUtil; ScripterExport MAXTVUtility(TrackViewUtility* util, ITreeView* tv); static ScripterExport Value* intern(TrackViewUtility* util, ITreeView* tv); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXTVUtility)) ? 1 : MAXWrapper::is_kind_of(c); } MCHAR* class_name(); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); void gc_trace(); Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); def_generic ( get_props, "getPropNames" ); def_property ( name ); };
visible_class | ( | MAXMeshClass | ) |
Definition at line 1363 of file mxsobjects.h.
: public Value { public: MAXMeshClass(); classof_methods (MAXMeshClass, Value); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); void export_to_scripter(); ScripterExport Value* apply(Value** arglist, int count, CallContext* cc=NULL); // object creation by applying class object Class_ID get_max_class_id() { return triObjectClassID; } };
applyable_class | ( | MeshValue | ) |
Prevent modifier applications from making us refer to a derived object
Definition at line 1383 of file mxsobjects.h.
: public MAXWrapper { public: Object* obj; // MAX object if indirect ref to mesh (ref 0) Mesh* mesh; // direct mesh ref BOOL owned; // if direct ref owned by this value (& so s/b deleted on collect) ScripterExport MeshValue(Mesh* imesh, BOOL owned = FALSE); ScripterExport MeshValue(Object* obj); static ScripterExport Value* intern(Object* obj); ~MeshValue(); classof_methods (MeshValue, MAXWrapper); # define is_mesh(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MeshValue)) void collect() { delete this; } void sprin1(CharStream* s); MCHAR* class_name() { return _M("TriMesh"); } ReferenceTarget* get_max_object() { return obj; } protected: virtual void SetReference(int i, RefTargetHandle rtarg); public: RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message); BOOL CanTransferReference(int i) { UNUSED_PARAM(i); return FALSE; } BOOL IsRealDependency(ReferenceTarget* target); void setup_mesh(int access = MESH_READ_ACCESS); // mesh protocol (same as for MAXNode) def_generic ( setvert, "setvert"); def_generic_debug_ok ( getvert, "getvert"); def_generic ( settvert, "settvert"); def_generic_debug_ok ( gettvert, "gettvert"); def_generic ( setvertcolor, "setvertcolor"); def_generic_debug_ok ( getvertcolor, "getvertcolor"); def_generic ( setnumverts, "setnumverts"); def_generic_debug_ok ( getnumverts, "getnumverts"); def_generic ( setnumtverts, "setnumtverts"); def_generic_debug_ok ( getnumtverts, "getnumtverts"); def_generic ( setnumcpvverts, "setnumcpvverts"); def_generic_debug_ok ( getnumcpvverts, "getnumcpvverts"); def_generic ( setnumfaces, "setnumfaces"); def_generic_debug_ok ( getnumfaces, "getnumfaces"); def_generic ( buildtvfaces, "buildTVFaces"); def_generic ( buildvcfaces, "buildVCFaces"); def_generic ( defaultvcfaces, "defaultVCFaces"); def_generic_debug_ok ( getnormal, "getnormal"); def_generic ( setnormal, "setnormal"); def_generic ( setface, "setface"); def_generic_debug_ok ( getface, "getface"); def_generic ( settvface, "setTVFace"); def_generic_debug_ok ( gettvface, "getTVFace"); def_generic ( setvcface, "setVCFace"); def_generic_debug_ok ( getvcface, "getVCFace"); def_generic_debug_ok ( getfacenormal, "getfacenormal"); def_generic ( setfacenormal, "setfacenormal"); def_generic ( setfacematid, "setfaceMatID"); def_generic_debug_ok ( getfacematid, "getfaceMatID"); def_generic ( setfacesmoothgroup, "setfaceSmoothGroup"); def_generic_debug_ok ( getfacesmoothgroup, "getfaceSmoothGroup"); def_generic ( setedgevis, "setedgevis"); def_generic_debug_ok ( getedgevis, "getedgevis"); def_generic ( detachVerts, "detachVerts"); def_generic ( detachFaces, "detachFaces"); def_generic ( extrudeface, "extrudeface"); def_generic ( deletevert, "deletevert"); def_generic ( deleteface, "deleteface"); def_generic ( collapseface, "collapseface"); def_generic ( setMesh, "setMesh"); def_generic ( update, "update"); def_generic_debug_ok ( getVertSelection, "getVertSelection"); def_generic ( setVertSelection, "setVertSelection"); def_generic_debug_ok ( getFaceSelection, "getFaceSelection"); def_generic ( setFaceSelection, "setFaceSelection"); def_generic_debug_ok ( getEdgeSelection, "getEdgeSelection"); def_generic ( setEdgeSelection, "setEdgeSelection"); def_generic ( copy, "copy"); def_generic ( delete, "delete"); use_generic ( plus, "+" ); // mesh boolean ops use_generic ( minus, "-" ); use_generic ( times, "*" ); use_generic ( move, "move" ); // transform verts use_generic ( rotate, "rotate" ); use_generic ( scale, "scale" ); use_generic ( transform, "transform" ); use_generic ( free, "free"); def_property( numverts ); def_property( numtverts ); def_property( numfaces ); def_property( numcpvverts ); def_property( mesh ); def_property( vertices ); def_property( selectedVertices ); def_property( faces ); def_property( selectedFaces ); def_property( edges ); def_property( selectedEdges ); Mesh* to_mesh() { setup_mesh(); return mesh; } void to_fpvalue(FPValue& v) { setup_mesh(); v.msh = mesh; v.type = TYPE_MESH; } Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); BitArray get_vertsel() { setup_mesh(); return mesh->vertSel; } BitArray get_facesel() { setup_mesh(); return mesh->faceSel; } BitArray get_edgesel() { setup_mesh(); return mesh->edgeSel; } void set_vertsel(BitArray &sel) { setup_mesh(MESH_WRITE_ACCESS); mesh->vertSel = sel; } void set_facesel(BitArray &sel) { setup_mesh(MESH_WRITE_ACCESS); mesh->faceSel = sel; } void set_edgesel(BitArray &sel) { setup_mesh(MESH_WRITE_ACCESS); mesh->edgeSel = sel; } Mesh* set_up_mesh_access(int access, ReferenceTarget** owner = NULL); Mesh* set_up_mesh_face_access(int index, int access, ReferenceTarget** owner = NULL); Mesh* set_up_mesh_vertex_access(int index, int access, ReferenceTarget** owner = NULL); };
visible_class | ( | MAXAtmospheric | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1508 of file mxsobjects.h.
: public MAXWrapper { public: Atmospheric* atmos; // the MAX-side Atmospheric ScripterExport MAXAtmospheric(Atmospheric* iatmos); static ScripterExport Value* intern(Atmospheric* iatmos); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXAtmospheric)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("Atmospheric"); } #include "..\macros\define_implementations.h" #include "..\protocols\atmospherics.inl" def_property ( name ); def_prop_getter ( numGizmos ); Atmospheric* to_atmospheric() { check_for_deletion(); return atmos; } };
visible_class | ( | MAXEffect | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1534 of file mxsobjects.h.
: public MAXWrapper { public: Effect* effect; // the MAX-side Effect ScripterExport MAXEffect(Effect* ieffect); static ScripterExport Value* intern(Effect* ieffect); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXEffect)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("Effect"); } #include "..\macros\define_implementations.h" #include "..\protocols\atmospherics.inl" def_property ( name ); def_prop_getter ( numGizmos ); Effect* to_effect() { check_for_deletion(); return effect; } };
visible_class | ( | MAXMultiPassCameraEffect | ) |
Definition at line 1560 of file mxsobjects.h.
: public MAXWrapper { public: IMultiPassCameraEffect* effect; // the MAX-side Effect ScripterExport MAXMultiPassCameraEffect(IMultiPassCameraEffect* ieffect); static ScripterExport Value* intern(IMultiPassCameraEffect* ieffect); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXMultiPassCameraEffect)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("MultiPassCameraEffect"); } def_generic( iscompatible, "isCompatible"); IMultiPassCameraEffect* to_mpassCamEffect() { check_for_deletion(); return effect; } };
visible_class | ( | MAXShadowType | ) |
Definition at line 1582 of file mxsobjects.h.
: public MAXWrapper { public: ShadowType* shadow; // the MAX-side Effect ScripterExport MAXShadowType(ShadowType* ishadow); static ScripterExport Value* intern(ShadowType* ishadow); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXShadowType)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("MAXShadowType"); } ShadowType* to_shadowtype() { check_for_deletion(); return shadow; } };
visible_class | ( | MAXRenderer | ) |
Definition at line 1603 of file mxsobjects.h.
: public MAXWrapper { public: Renderer* renderer; // the MAX-side Renderer ScripterExport MAXRenderer(Renderer* irenderer); static ScripterExport Value* intern(Renderer* irenderer); BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXRenderer)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("MAXRenderer"); } Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); Renderer* to_renderer() { check_for_deletion(); return renderer; } };
visible_class | ( | MAXCustAttrib | ) |
Definition at line 1626 of file mxsobjects.h.
: public MAXWrapper { public: CustAttrib* custattrib; ScripterExport MAXCustAttrib(CustAttrib* icustattrib); static ScripterExport Value* intern(CustAttrib* icustattrib); # define is_custattrib(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXCustAttrib)) BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXCustAttrib)) ? 1 : MAXWrapper::is_kind_of(c); } void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("MAXCustAttrib"); } // Value* get_property(Value** arg_list, int count); // Value* set_property(Value** arg_list, int count); def_property ( name ); CustAttrib* to_custattrib() { check_for_deletion(); return custattrib; } };
visible_class | ( | MAXCustAttribArray | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1650 of file mxsobjects.h.
: public Value { public: MAXWrapper* ref; /* the ref containing the CAs */ ENABLE_STACK_ALLOCATE(MAXCustAttribArray); ScripterExport MAXCustAttribArray(MAXWrapper* ref); ScripterExport MAXCustAttribArray(ReferenceTarget* ref); ScripterExport MAXCustAttribArray(MAXRefTarg* ref); classof_methods (MAXCustAttribArray, Value); void collect() { delete this; } void gc_trace(); BOOL _is_collection() { return 1; } ScripterExport void sprin1(CharStream* s); CustAttrib* get_CustAttrib(int index); CustAttrib* find_CustAttrib(MCHAR* name); // operations ScripterExport Value* map(node_map& m); #include "..\macros\define_implementations.h" # include "..\protocols\arrays.inl" // built-in property accessors def_property ( count ); };
visible_class | ( | ChangeHandler | ) |
Definition at line 1688 of file mxsobjects.h.
: public TimeChangeCallback { public: static BOOL registered; // if active static Tab<ChangeHandler*> handlers; // active handlers static BOOL notified; // set if any delayed-handle events have been notified public: void TimeChanged(TimeValue t); };
visible_class | ( | MAXRootNode | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1749 of file mxsobjects.h.
: public MAXWrapper { public: INode *node; ScripterExport MAXRootNode(INode* init_node); static ScripterExport Value* intern(INode* init_node); classof_methods (MAXRootNode, MAXWrapper); # define is_rootnode(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(MAXRootNode)) void collect() { delete this; } ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("<root>"); } /* include all the protocol declarations */ #include "..\macros\define_implementations.h" def_generic( eq, "="); def_generic( ne, "!="); /* declare built-in property accessors */ def_property ( name ); def_property ( children ); INode* to_rootnode() { check_for_deletion(); return node; } };
BOOL all_objects_selector | ( | INode * | node, |
int | level, | ||
void * | selector_arg | ||
) |
int max_name_compare | ( | const MCHAR * | max_name, |
const MCHAR * | other | ||
) |
Value* get_subanim_property | ( | Animatable * | anim, |
Value * | prop | ||
) |
Value* get_subanim_property | ( | Animatable * | anim, |
int | i | ||
) |
Value* set_subanim_property | ( | Animatable * | anim, |
Value * | prop, | ||
Value * | val | ||
) |
Value* set_subanim_property | ( | Animatable * | anim, |
int | i, | ||
Value * | val | ||
) |
BOOL set_subanim_controller | ( | Animatable * | anim, |
Value * | prop, | ||
Control * | newc, | ||
MAXControl * | newcv | ||
) |
Control* find_subanim_controller | ( | Animatable * | anim, |
Value * | prop, | ||
ParamDimension ** | dim | ||
) |
void deselect_if_motion_panel_open | ( | ) |
visible_class | ( | MAXSceneXRef | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
Definition at line 1886 of file mxsobjects.h.
: public MAXWrapper { public: int index; MSTR name; MSTR full_name; INode *root; ULONG nodeHandle; ScripterExport MAXSceneXRef (INode* root, int i); static ScripterExport Value* intern(INode* root, int i); MCHAR* class_name() { return _M("XRefScene"); } classof_methods (MAXSceneXRef, MAXWrapper); void collect() { delete this; } ScripterExport void sprin1(CharStream* s); void check_for_xref_deletion(); /* operations */ #include "..\macros\define_implementations.h" # include "..\protocols\xrefs.inl" /* built-in property accessors */ def_property( tree ); def_property( parent ); def_property( fileName ); def_property( autoUpdate ); def_property( boxDisp ); def_property( hidden ); def_property( disabled ); def_property( ignoreLights ); def_property( ignoreCameras ); def_property( ignoreShapes ); def_property( ignoreHelpers ); def_property( ignoreAnimation ); Value* get_property(Value** arg_list, int count); Value* set_property(Value** arg_list, int count); };
visible_class | ( | MAXRootScene | ) |
Definition at line 1931 of file mxsobjects.h.
: public MAXRefTarg { public: ScripterExport MAXRootScene(ReferenceTarget* ref); static ScripterExport Value* intern(ReferenceTarget* ref); ScripterExport void sprin1(CharStream* s); MCHAR* class_name() { return _M("<rootScene>"); } };
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 MAXWrapper* maxwrapper_cache[] |