3ds Max C++ API Reference
define_instantiation_functions.h File Reference

Macros

#define CONCAT2STR(str1, str2)   _M(str1) _M(str2)
 
#define CONCAT3STR(str1, str2, str3)   _M(str1) _M(str2) _M(str3)
 
#define def_generic(fn, name)    Generic fn##_gf (CONCAT2STR("%", name), &Value::fn##_vf)
 
#define def_visible_generic(fn, name)    Generic fn##_gf (_M(name), &Value::fn##_vf)
 
#define def_struct_generic(fn, _struct, name)    Generic fn##_gf (_M(name), &Value::fn##_vf, _M(#_struct))
 
#define def_node_generic(fn, name)    NodeGeneric fn##_gf (_M(name), &Value::fn##_vf)
 
#define def_mapped_generic(fn, name)    MappedGeneric fn##_gf (_M(name), &Value::fn##_vf)
 
#define use_generic(fn, name)
 
#define def_generic_debug_ok(fn, name)    Generic fn##_gf (CONCAT2STR("%",name), &Value::fn##_vf, NULL, DEBUGGER_SAFE)
 
#define def_visible_generic_debug_ok(fn, name)    Generic fn##_gf (_M(name), &Value::fn##_vf, NULL, DEBUGGER_SAFE)
 
#define def_struct_generic_debug_ok(fn, _struct, name)    Generic fn##_gf (_M(name), &Value::fn##_vf, _M(#_struct), DEBUGGER_SAFE)
 
#define def_node_generic_debug_ok(fn, name)    NodeGeneric fn##_gf (_M(name), &Value::fn##_vf, DEBUGGER_SAFE)
 
#define def_mapped_generic_debug_ok(fn, name)    MappedGeneric fn##_gf (_M(name), &Value::fn##_vf, DEBUGGER_SAFE)
 
#define def_primitive(fn, name)
 
#define def_visible_primitive(fn, name)
 
#define def_struct_primitive(fn, _struct, name)
 
#define def_mapped_primitive(fn, name)
 
#define def_lazy_primitive(fn, name)
 
#define def_visible_lazy_primitive(fn, name)
 
#define def_primitive_debug_ok(fn, name)
 
#define def_visible_primitive_debug_ok(fn, name)
 
#define def_struct_primitive_debug_ok(fn, _struct, 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_property(p)    _M(#p), &Value::get_##p, &Value::set_##p,
 
#define def_property_alias(p, real_p)    _M(#p), &Value::get_##real_p, &Value::set_##real_p,
 
#define def_2_prop_path(p1, p2)    CONCAT3STR(#p1,".",#p2), &Value::get_##p1##_##p2, &Value::set_##p1##_##p2,
 
#define def_2_prop_path_alias(p1, p2, real_p1, real_p2)    CONCAT3STR(#p1,".",#p2), &Value::get_##real_p1##_##real_p2, &Value::set_##real_p1##_##real_p2,
 
#define def_nested_prop(p1)    CONCAT2STR("*.",#p1), &Value::get_nested_##p1, &Value::set_nested_##p1,
 
#define def_nested_prop_alias(p1, real_p1)    CONCAT2STR("*.",#p1), &Value::get_nested_##real_p1, &Value::set_nested_##real_p1,
 
#define def_name(name)   ScripterExport Value* n_##name;
 
#define def_marker(var, str)   ScripterExport Name var (_M(str));
 

Macro Definition Documentation

◆ CONCAT2STR

#define CONCAT2STR (   str1,
  str2 
)    _M(str1) _M(str2)

◆ CONCAT3STR

#define CONCAT3STR (   str1,
  str2,
  str3 
)    _M(str1) _M(str2) _M(str3)

◆ def_generic

#define def_generic (   fn,
  name 
)     Generic fn##_gf (CONCAT2STR("%", name), &Value::fn##_vf)

◆ def_visible_generic

#define def_visible_generic (   fn,
  name 
)     Generic fn##_gf (_M(name), &Value::fn##_vf)

◆ def_struct_generic

#define def_struct_generic (   fn,
  _struct,
  name 
)     Generic fn##_gf (_M(name), &Value::fn##_vf, _M(#_struct))

◆ def_node_generic

#define def_node_generic (   fn,
  name 
)     NodeGeneric fn##_gf (_M(name), &Value::fn##_vf)

◆ def_mapped_generic

#define def_mapped_generic (   fn,
  name 
)     MappedGeneric fn##_gf (_M(name), &Value::fn##_vf)

◆ use_generic

#define use_generic (   fn,
  name 
)

◆ def_generic_debug_ok

#define def_generic_debug_ok (   fn,
  name 
)     Generic fn##_gf (CONCAT2STR("%",name), &Value::fn##_vf, NULL, DEBUGGER_SAFE)

◆ def_visible_generic_debug_ok

#define def_visible_generic_debug_ok (   fn,
  name 
)     Generic fn##_gf (_M(name), &Value::fn##_vf, NULL, DEBUGGER_SAFE)

◆ def_struct_generic_debug_ok

#define def_struct_generic_debug_ok (   fn,
  _struct,
  name 
)     Generic fn##_gf (_M(name), &Value::fn##_vf, _M(#_struct), DEBUGGER_SAFE)

◆ def_node_generic_debug_ok

#define def_node_generic_debug_ok (   fn,
  name 
)     NodeGeneric fn##_gf (_M(name), &Value::fn##_vf, DEBUGGER_SAFE)

◆ def_mapped_generic_debug_ok

#define def_mapped_generic_debug_ok (   fn,
  name 
)     MappedGeneric fn##_gf (_M(name), &Value::fn##_vf, DEBUGGER_SAFE)

◆ def_primitive

#define def_primitive (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (CONCAT2STR("%",name), fn##_cf) /* scripter-hidden name */
Definition: value.h:107
#define CONCAT2STR(str1, str2)
Definition: define_instantiation_functions.h:57

◆ def_visible_primitive

#define def_visible_primitive (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), fn##_cf)
#define _M(x)
Used to wrap string literals.
Definition: strbasic.h:67

◆ def_struct_primitive

#define def_struct_primitive (   fn,
  _struct,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), _M(#_struct), fn##_cf)

◆ def_mapped_primitive

#define def_mapped_primitive (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
MappedPrimitive fn##_pf (_M(name), fn##_cf)

◆ def_lazy_primitive

#define def_lazy_primitive (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (CONCAT2STR("%",name), fn##_cf, LAZY_PRIMITIVE)
@ LAZY_PRIMITIVE
Definition: functions.h:139

◆ def_visible_lazy_primitive

#define def_visible_lazy_primitive (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), fn##_cf, LAZY_PRIMITIVE)

◆ def_primitive_debug_ok

#define def_primitive_debug_ok (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (CONCAT2STR("%",name), fn##_cf, DEBUGGER_SAFE) /* scripter-hidden name */
@ DEBUGGER_SAFE
Definition: functions.h:140

◆ def_visible_primitive_debug_ok

#define def_visible_primitive_debug_ok (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), fn##_cf, DEBUGGER_SAFE)

◆ def_struct_primitive_debug_ok

#define def_struct_primitive_debug_ok (   fn,
  _struct,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), _M(#_struct), fn##_cf, DEBUGGER_SAFE)

◆ def_mapped_primitive_debug_ok

#define def_mapped_primitive_debug_ok (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
MappedPrimitive fn##_pf (_M(name), fn##_cf, DEBUGGER_SAFE)

◆ def_lazy_primitive_debug_ok

#define def_lazy_primitive_debug_ok (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (CONCAT2STR("%",name), fn##_cf, LAZY_PRIMITIVE | DEBUGGER_SAFE)

◆ def_visible_lazy_primitive_debug_ok

#define def_visible_lazy_primitive_debug_ok (   fn,
  name 
)
Value:
Value* fn##_cf(Value**,int); \
Primitive fn##_pf (_M(name), fn##_cf, LAZY_PRIMITIVE | DEBUGGER_SAFE)

◆ def_property

#define def_property (   p)     _M(#p), &Value::get_##p, &Value::set_##p,

◆ def_property_alias

#define def_property_alias (   p,
  real_p 
)     _M(#p), &Value::get_##real_p, &Value::set_##real_p,

◆ def_2_prop_path

#define def_2_prop_path (   p1,
  p2 
)     CONCAT3STR(#p1,".",#p2), &Value::get_##p1##_##p2, &Value::set_##p1##_##p2,

◆ def_2_prop_path_alias

#define def_2_prop_path_alias (   p1,
  p2,
  real_p1,
  real_p2 
)     CONCAT3STR(#p1,".",#p2), &Value::get_##real_p1##_##real_p2, &Value::set_##real_p1##_##real_p2,

◆ def_nested_prop

#define def_nested_prop (   p1)     CONCAT2STR("*.",#p1), &Value::get_nested_##p1, &Value::set_nested_##p1,

◆ def_nested_prop_alias

#define def_nested_prop_alias (   p1,
  real_p1 
)     CONCAT2STR("*.",#p1), &Value::get_nested_##real_p1, &Value::set_nested_##real_p1,

◆ def_name

#define def_name (   name)    ScripterExport Value* n_##name;

◆ def_marker

#define def_marker (   var,
  str 
)    ScripterExport Name var (_M(str));