maxscript/macros/define_implementations.h File Reference

define_implementations.h File Reference

Macros

#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 Define an equal operator (i.e. '==') for maxscript visible values. More...
 
#define def_ne_op(_class, comparison_method, _member)
 Define a NOT equal operator (i.e. '!=') for maxscript visible values. More...
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 
#define def_generic(fn, name)   Value* fn##_vf(Value** arglist, int arg_count)
 
#define def_visible_generic(fn, name)   def_generic(fn, name)
 
#define def_struct_generic(fn, name)   def_generic(fn, name)
 
#define def_node_generic(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic(fn, name)   def_generic(fn, name)
 
#define use_generic(fn, name)   def_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_visible_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_struct_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_node_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_mapped_generic_debug_ok(fn, name)   def_generic(fn, name)
 
#define def_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)   def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)   def_primitive(fn, name)
 
#define def_mapped_primitive(fn, name)   def_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)   def_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_mapped_primitive_debug_ok(fn, name)
 
#define def_lazy_primitive_debug_ok(fn, name)
 
#define def_visible_lazy_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, name)
 
#define def_property(p)
 
#define def_prop_getter(p)   Value* get_##p(Value** arg_list, int count)
 
#define def_prop_setter(p)   Value* set_##p(Value** arg_list, int count)
 
#define def_property_alias(p, real_p)
 
#define def_2_prop_path(p1, p2)
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)
 
#define def_nested_prop(p1)
 
#define def_backpatched_setter(_prop, _superclass)
 
#define def_local_prop_alias(p, real_p)
 
#define def_time_fn(_fn)   Value* _fn##_vf(Value** arglist, int arg_count)
 
#define def_name(name)   n_##name = Name::intern(_M(#name));
 
#define def_marker(var, str)
 
#define _def_num_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_bin_op(_class, _conv, _op_fn, _op, _member)
 
#define _def_rel_op(_class, _conv, _op_fn, _rel_op, _member)
 
#define def_eq_op(_class, comparison_method, _member)
 
#define def_ne_op(_class, comparison_method, _member)
 
#define _def_num_un_op(_class, _op_fn, _op, _member)
 
#define _def_un_op(_class, _op_fn, _op, _member)
 
#define def_bin_op(_class, _conv, _op_fn, _op)   _def_num_bin_op(_class, _conv, _op_fn, _op, value)
 
#define def_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
 
#define def_un_op(_class, _op_fn, _op)   _def_num_un_op(_class, _op_fn, _op, value)
 
#define PI_double   (3.14159265358979323846)
 
#define TWOPI_double   (6.28318530717958647652)
 
#define HALFPI_double   (1.57079632679489661973)
 
#define DEG_TO_RAD_double   (PI_double/180.0)
 
#define RAD_TO_DEG_double   (180.0/PI_double)
 
#define DegToRad_double(deg)   (((double)deg)*DEG_TO_RAD_double)
 
#define RadToDeg_double(rad)   (((double)rad)*RAD_TO_DEG_double)
 
#define DegToRad_float(deg)   DegToRad(deg)
 
#define RadToDeg_float(rad)   RadToDeg(rad)
 
#define def_math_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_float_trig_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_math_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_angle_trig_bin_fn(_class, _outclass, _type, _conv, _fn)
 
#define def_num_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_prop_accessors(_class, _prop, _member, _type, _conv)
 
#define def_fn_prop_accessors(_class, _prop, _getter, _setter)
 
#define def_fn_prop_getter(_class, _prop, _getter)
 
#define def_fn_prop_setter(_class, _prop, _setter)
 
#define def_float_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Float, to_float)
 
#define def_int_prop_accessors(_class, _prop, _member)   def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
 
#define def_point3_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
 
#define def_angle_prop_accessors(_class, _prop, _member)   def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
 
#define def_time_bin_op(_op_fn, _op)   _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
 
#define def_time_rel_op(_op_fn, _rel_op)   _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
 
#define def_time_un_op(_op_fn, _op)   _def_un_op(MSTime, _op_fn, _op, time)
 
#define def_quat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, q)
 
#define def_quat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
 
#define def_quat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, q)
 
#define def_new_quat_fn(_fn, _arg_count, _call)
 
#define def_mut_quat_fn(_fn, _arg_count, _call)
 
#define def_new_mat_fn(_fn, _arg_count, _call)
 
#define def_mut_mat_fn(_fn, _arg_count, _call)
 
#define def_mat_primitive(_fn, _arg_count, _call)
 
#define def_mat_bin_op(_class, _conv, _op_fn, _op)   _def_bin_op(_class, _conv, _op_fn, _op, m)
 
#define def_mat_rel_op(_class, _conv, _op_fn, _rel_op)   _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
 
#define def_mat_un_op(_class, _op_fn, _op)   _def_un_op(_class, _op_fn, _op, m)
 
#define def_bool_node_fns(name, getter, setter)
 
#define def_bool_node_getter(name, getter)
 
#define def_ulong_node_fns(name, getter, setter)
 
#define def_color_node_fns(name, getter, setter)
 
#define def_bool_node_noredraw_fns(name, getter, setter)
 
#define def_ulong_node_noredraw_fns(name, getter, setter)
 
#define def_color_node_noredraw_fns(name, getter, setter)
 

Macro Definition Documentation

#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value

Define an equal operator (i.e. '==') for maxscript visible values.

#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value

Define a NOT equal operator (i.e. '!=') for maxscript visible values.

#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_generic (   fn,
  name 
)    Value* fn##_vf(Value** arglist, int arg_count)
#define def_visible_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic (   fn,
  name 
)    def_generic(fn, name)
#define use_generic (   fn,
  name 
)    def_generic(fn, name)
#define def_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_visible_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_struct_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_node_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_mapped_generic_debug_ok (   fn,
  name 
)    def_generic(fn, name)
#define def_primitive (   fn,
  name 
)
#define def_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_lazy_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_visible_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_mapped_primitive (   fn,
  name 
)    def_primitive(fn, name)
#define def_struct_primitive (   fn,
  _struct,
  name 
)    def_primitive(fn, name)
#define def_primitive_debug_ok (   fn,
  name 
)
#define def_visible_primitive_debug_ok (   fn,
  name 
)
#define def_mapped_primitive_debug_ok (   fn,
  name 
)
#define def_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
#define def_property (   p)
Value:
Value* get_##p(Value** arg_list, int count); \
Value* set_##p(Value** arg_list, int count)
Definition: value.h:106
#define def_prop_getter (   p)    Value* get_##p(Value** arg_list, int count)
#define def_prop_setter (   p)    Value* set_##p(Value** arg_list, int count)
#define def_property_alias (   p,
  real_p 
)
#define def_2_prop_path (   p1,
  p2 
)
Value:
Value* get_##p1##_##p2(Value** arg_list, int count); \
Value* set_##p1##_##p2(Value** arg_list, int count)
Definition: value.h:106
#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)
#define def_nested_prop (   p1)
Value:
Value* get_nested_##p1(Value** arg_list, int count); \
Value* set_nested_##p1(Value** arg_list, int count)
Definition: value.h:106
#define def_backpatched_setter (   _prop,
  _superclass 
)
Value:
set_##_prop(Value** arg_list, int count) \
{ \
_superclass::set_##_prop(arg_list, count); \
back_patch(); \
return arg_list[0]; \
};
Definition: value.h:106
#define def_local_prop_alias (   p,
  real_p 
)
Value:
Value* get_##p(Value** arg_list, int count) { return get_##real_p(arg_list, count); } \
Value* set_##p(Value** arg_list, int count) { return set_##real_p(arg_list, count); } \
Definition: value.h:106
#define def_time_fn (   _fn)    Value* _fn##_vf(Value** arglist, int arg_count)
#define def_name (   name)    n_##name = Name::intern(_M(#name));
#define def_marker (   var,
  str 
)
#define _def_num_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = _class::intern(_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_bin_op (   _class,
  _conv,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
one_value_local(widened); \
Value *arg, *result; \
arg = arg_list[0]; \
if (tag != arg->tag && ((vl.widened = widen_to(arg, arg_list)) != NULL)) \
result = vl.widened->_op_fn##_vf(arg_list, 1); \
else \
result = new _class (_member _op (arg_list[0])->_conv()); \
return result; \
}
#define NULL
Definition: autoptr.h:18
#define one_value_local(n1)
Definition: value_locals.h:28
Definition: value.h:106
#define _def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
Value *cmpnd = arg_list[0], *result; \
if (comparable(cmpnd)) \
result = (_member _rel_op cmpnd->_conv()) ? \
else \
throw IncompatibleTypes(this, cmpnd); \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
Definition: exceptions.h:283
#define def_eq_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::eq_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &false_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define def_ne_op (   _class,
  comparison_method,
  _member 
)
Value:
_class::ne_vf(Value** arg_list, int count) \
{ \
Value* cmpnd = arg_list[0]; \
Value* result; \
if (comparable(cmpnd)) \
result = (_member == cmpnd->comparison_method()) ? \
else \
result = &true_value; \
return result; \
}
ScripterExport Boolean false_value
Definition: value.h:106
ScripterExport Boolean true_value
#define _def_num_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return _class::intern(_op _member); \
}
Definition: value.h:106
#define _def_un_op (   _class,
  _op_fn,
  _op,
  _member 
)
Value:
_class::_op_fn##_vf(Value** arg_list, int count) \
{ \
return new _class (_op _member); \
}
Definition: value.h:106
#define def_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_num_bin_op(_class, _conv, _op_fn, _op, value)
#define def_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, value)
#define def_un_op (   _class,
  _op_fn,
  _op 
)    _def_num_un_op(_class, _op_fn, _op, value)
#define PI_double   (3.14159265358979323846)
#define TWOPI_double   (6.28318530717958647652)
#define HALFPI_double   (1.57079632679489661973)
#define DEG_TO_RAD_double   (PI_double/180.0)
#define RAD_TO_DEG_double   (180.0/PI_double)
#define DegToRad_double (   deg)    (((double)deg)*DEG_TO_RAD_double)
#define RadToDeg_double (   rad)    (((double)rad)*RAD_TO_DEG_double)
#define DegToRad_float (   deg)    DegToRad(deg)
#define RadToDeg_float (   rad)    RadToDeg(rad)
#define def_math_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_float_trig_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 1, count+1); \
return _outclass::intern((_type)_fn(DegToRad_##_type(_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_math_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern((_type)_fn(_conv(), \
arg_list[0]->_conv())); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_angle_trig_bin_fn (   _class,
  _outclass,
  _type,
  _conv,
  _fn 
)
Value:
_class::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, 2, count+1); \
return _outclass::intern(RadToDeg_##_type((_type)_fn(_conv(), \
arg_list[0]->_conv()))); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_num_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _type::intern(_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_prop_accessors (   _class,
  _prop,
  _member,
  _type,
  _conv 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return new _type (_member); \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_member = val->_conv(); \
return val; \
}
Definition: value.h:106
#define def_fn_prop_accessors (   _class,
  _prop,
  _getter,
  _setter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
} \
Value* \
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_fn_prop_getter (   _class,
  _prop,
  _getter 
)
Value:
_class::get_##_prop(Value** arg_list, int count) \
{ \
return _getter; \
}
Definition: value.h:106
#define def_fn_prop_setter (   _class,
  _prop,
  _setter 
)
Value:
_class::set_##_prop(Value** arg_list, int count) \
{ \
Value* val = arg_list[0]; \
_setter; \
return val; \
}
Definition: value.h:106
#define def_float_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Float, to_float)
#define def_int_prop_accessors (   _class,
  _prop,
  _member 
)    def_num_prop_accessors(_class, _prop, _member, Integer, to_int)
#define def_point3_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, new Point3Value (_member), _member = val->to_point3())
#define def_angle_prop_accessors (   _class,
  _prop,
  _member 
)    def_fn_prop_accessors(_class, _prop, Float::intern(RadToDeg(_member)), _member = DegToRad(val->to_float()))
#define def_time_bin_op (   _op_fn,
  _op 
)    _def_bin_op(MSTime, to_timevalue, _op_fn, _op, time)
#define def_time_rel_op (   _op_fn,
  _rel_op 
)    _def_rel_op(MSTime, to_timevalue, _op_fn, _rel_op, time)
#define def_time_un_op (   _op_fn,
  _op 
)    _def_un_op(MSTime, _op_fn, _op, time)
#define def_quat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, q)
#define def_quat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, q)
#define def_quat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, q)
#define def_new_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new QuatValue (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_quat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
QuatValue::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_new_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mut_mat_fn (   _fn,
  _arg_count,
  _call 
)
Value:
Matrix3Value::_fn##_vf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count + 1); \
_call; \
return this; \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_primitive (   _fn,
  _arg_count,
  _call 
)
Value:
_fn##_cf(Value** arg_list, int count) \
{ \
check_arg_count(_fn, _arg_count, count); \
return new Matrix3Value (_call); \
}
Definition: value.h:106
#define check_arg_count(fn, w, g)
Definition: maxscript.h:168
#define def_mat_bin_op (   _class,
  _conv,
  _op_fn,
  _op 
)    _def_bin_op(_class, _conv, _op_fn, _op, m)
#define def_mat_rel_op (   _class,
  _conv,
  _op_fn,
  _rel_op 
)    _def_rel_op(_class, _conv, _op_fn, _rel_op, m)
#define def_mat_un_op (   _class,
  _op_fn,
  _op 
)    _def_un_op(_class, _op_fn, _op, m)
#define def_bool_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_getter (   name,
  getter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
throw RuntimeError (_M("Property not settable: "), _M(#name)); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
Definition: exceptions.h:235
#define def_ulong_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport void InvalidateNodeRect(INode *node, TimeValue t)
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_bool_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return ((INode*)obj)->getter() ? &true_value : &false_value; \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter(val->to_bool()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
ScripterExport Boolean false_value
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
ScripterExport Boolean true_value
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_ulong_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
return Integer::intern((int)((INode*)obj)->getter()); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
((INode*)obj)->setter((ULONG)val->to_int()); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806
#define def_color_node_noredraw_fns (   name,
  getter,
  setter 
)
Value:
Value* node_get_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Interval& valid) \
{ \
DWORD rgb = ((INode*)obj)->getter(); \
return ColorValue::intern(GetRValue(rgb) / 255.0f, GetGValue(rgb) / 255.0f, GetBValue(rgb) / 255.0f); \
} \
void node_set_##name(ReferenceTarget* obj, Value* prop, TimeValue t, Value* val) \
{ \
AColor c; \
c = val->to_acolor(); \
((INode*)obj)->setter(RGB((BYTE)(c.r * 255), (BYTE)(c.g * 255), (BYTE)(c.b * 255))); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
Definition: interval.h:36
Definition: value.h:106
int TimeValue
Definition: maxtypes.h:109
Definition: inode.h:55
A scene entity that is being owned and listened to by other scene entities.
Definition: ref.h:1806