ifnpub.h File Reference

ifnpub.h File Reference
#include "maxheap.h"
#include "baseInterface.h"
#include "iparamb2Typedefs.h"
#include "coreexp.h"
#include "strclass.h"
#include "containers/Array.h"
#include "paramtype.h"

Classes

class  FPInterface
 
class  FPInterfaceDesc
 
class  FPStaticInterface
 
class  FPMixinInterface
 
class  FPFunctionDef
 
class  FPPropDef
 
class  FPActionDef
 
class  FPParamDef
 
class  FPParams
 This parameters class contains a MaxSDK::Array FPValue's. More...
 
class  FPEnum
 
struct  FPEnum::enum_code
 
class  FPValue
 
class  FPParamOptions
 
class  FPValidator
 
class  FPMacroEmitter
 
class  IObject
 
class  MAXException
 

Macros

#define FP_NO_FUNCTION   ((FunctionID)-1)
 Special ID indicating no function bound. More...
 
#define FP_NO_ENUM   ((EnumID)-1)
 
#define NULLINTERFACE_ID   Interface_ID(0, 0)
 
#define FPINTERFACE_ID   Interface_ID(0, 2)
 
#define FPMIXININTERFACE_ID   Interface_ID(0, 3)
 
#define FPINTERFACEDESC_ID   Interface_ID(0, 4)
 
#define FPS_FAIL   0
 Indicates a failure. More...
 
#define FPS_NO_SUCH_FUNCTION   -1
 The function called does not exist. More...
 
#define FPS_ACTION_DISABLED   -2
 The action is disabled. More...
 
#define FPS_OK   1
 Indicates a success. More...
 
#define FP_ACTIONS   0x0001
 
#define FP_MIXIN   0x0002
 
#define FP_CORE   0x0004
 
#define FP_STATIC_METHODS   0x0008
 
#define FP_TEST_INTERFACE   0x0010
 
#define FP_SCRIPTED_CLASS   0x1000
 
#define FP_TEMPORARY   0x2000
 
#define FP_NO_REDRAW   0x0001
 
#define FP_VAR_ARGS   0x0002
 
#define FP_CLIENT_OWNS_RESULT   0x0004
 
#define FP_ACTION   0x0100
 
#define FP_HAS_UI   0x0200
 
#define FP_ICONRES   0x0400
 
#define FP_ICONFILE   0x0800
 
#define FP_HAS_SHORTCUT   0x1000
 
#define FP_HAS_KEYARGS   0x2000
 
#define FPP_HAS_RANGE   0x0001
 
#define FPP_HAS_VALIDATOR   0x0002
 
#define FPP_IN_PARAM   0x0004
 
#define FPP_OUT_PARAM   0x0008
 
#define FPP_IN_OUT_PARAM   0x000C
 
#define FPP_KEYARG   0x0010
 
#define FPP_INDEX   0x0020
 
#define DECLARE_DESCRIPTOR(_interface)
 
#define DECLARE_DESCRIPTOR_INIT(_interface)
 
#define DECLARE_DESCRIPTOR_NDC(_interface)
 
#define DECLARE_DESCRIPTOR_INIT_NDC(_interface)
 
#define BEGIN_FUNCTION_MAP
 
#define BEGIN_FUNCTION_MAP_PARENT(Parent)
 
#define END_FUNCTION_MAP
 
#define NO_FUNCTION_MAP
 
#define FP_FIELD(_type, _v)   (_type##_FIELD(_v))
 
#define FN_ACTION(_fid, _fn)
 
#define FN_PRED(_fid, _fn)
 
#define FN_PREDS(_fid1, _fn1, _fid2, _fn2, _fid3, _fn3)
 
#define TYPE_FLOAT_FP_FIELD   f
 
#define TYPE_INT_FP_FIELD   i
 
#define TYPE_RGBA_FP_FIELD   p
 
#define TYPE_POINT3_FP_FIELD   p
 
#define TYPE_FRGBA_FP_FIELD   p4
 
#define TYPE_POINT4_FP_FIELD   p4
 
#define TYPE_BOOL_FP_FIELD   i
 
#define TYPE_ANGLE_FP_FIELD   f
 
#define TYPE_PCNT_FRAC_FP_FIELD   f
 
#define TYPE_WORLD_FP_FIELD   f
 
#define TYPE_STRING_FP_FIELD   s
 
#define TYPE_FILENAME_FP_FIELD   s
 
#define TYPE_HSV_FP_FIELD   p
 
#define TYPE_COLOR_CHANNEL_FP_FIELD   f
 
#define TYPE_TIMEVALUE_FP_FIELD   i
 
#define TYPE_RADIOBTN_INDEX_FP_FIELD   i
 
#define TYPE_MTL_FP_FIELD   mtl
 
#define TYPE_TEXMAP_FP_FIELD   tex
 
#define TYPE_BITMAP_FP_FIELD   bm
 
#define TYPE_INODE_FP_FIELD   n
 
#define TYPE_REFTARG_FP_FIELD   r
 
#define TYPE_INDEX_FP_FIELD   i
 
#define TYPE_MATRIX3_FP_FIELD   m
 
#define TYPE_VOID_FP_FIELD   void_paramtype_bad
 
#define TYPE_ENUM_FP_FIELD   i
 
#define TYPE_INTERVAL_FP_FIELD   intvl
 
#define TYPE_ANGAXIS_FP_FIELD   aa
 
#define TYPE_QUAT_FP_FIELD   q
 
#define TYPE_RAY_FP_FIELD   ray
 
#define TYPE_POINT2_FP_FIELD   p2
 
#define TYPE_BITARRAY_FP_FIELD   bits
 
#define TYPE_CLASS_FP_FIELD   cd
 
#define TYPE_MESH_FP_FIELD   msh
 
#define TYPE_OBJECT_FP_FIELD   obj
 
#define TYPE_CONTROL_FP_FIELD   ctrl
 
#define TYPE_POINT_FP_FIELD   pt
 
#define TYPE_TSTR_FP_FIELD   tstr
 
#define TYPE_IOBJECT_FP_FIELD   iobj
 
#define TYPE_INTERFACE_FP_FIELD   fpi
 
#define TYPE_HWND_FP_FIELD   hwnd
 
#define TYPE_NAME_FP_FIELD   s
 
#define TYPE_COLOR_FP_FIELD   clr
 
#define TYPE_ACOLOR_FP_FIELD   aclr
 
#define TYPE_FPVALUE_FP_FIELD   fpv
 
#define TYPE_VALUE_FP_FIELD   v
 
#define TYPE_DWORD_FP_FIELD   d
 
#define TYPE_bool_FP_FIELD   b
 
#define TYPE_INTPTR_FP_FIELD   intptr
 
#define TYPE_INT64_FP_FIELD   i64
 
#define TYPE_DOUBLE_FP_FIELD   dbl
 
#define TYPE_BOX3_FP_FIELD   b3
 
#define TYPE_FLOAT_TAB_FP_FIELD   f_tab
 
#define TYPE_INT_TAB_FP_FIELD   i_tab
 
#define TYPE_RGBA_TAB_FP_FIELD   p_tab
 
#define TYPE_POINT3_TAB_FP_FIELD   p_tab
 
#define TYPE_FRGBA_TAB_FP_FIELD   p4_tab
 
#define TYPE_POINT4_TAB_FP_FIELD   p4_tab
 
#define TYPE_BOOL_TAB_FP_FIELD   i_tab
 
#define TYPE_ANGLE_TAB_FP_FIELD   f_tab
 
#define TYPE_PCNT_FRAC_TAB_FP_FIELD   f_tab
 
#define TYPE_WORLD_TAB_FP_FIELD   f_tab
 
#define TYPE_STRING_TAB_FP_FIELD   s_tab
 
#define TYPE_FILENAME_TAB_FP_FIELD   s_tab
 
#define TYPE_HSV_TAB_FP_FIELD   p_tab
 
#define TYPE_COLOR_CHANNEL_TAB_FP_FIELD   f_tab
 
#define TYPE_TIMEVALUE_TAB_FP_FIELD   i_tab
 
#define TYPE_RADIOBTN_INDEX_TAB_FP_FIELD   i_tab
 
#define TYPE_MTL_TAB_FP_FIELD   mtl_tab
 
#define TYPE_TEXMAP_TAB_FP_FIELD   tex_tab
 
#define TYPE_BITMAP_TAB_FP_FIELD   bm_tab
 
#define TYPE_INODE_TAB_FP_FIELD   n_tab
 
#define TYPE_REFTARG_TAB_FP_FIELD   r_tab
 
#define TYPE_INDEX_TAB_FP_FIELD   i_tab
 
#define TYPE_MATRIX3_TAB_FP_FIELD   m3_tab
 
#define TYPE_ENUM_TAB_FP_FIELD   i_tab
 
#define TYPE_INTERVAL_TAB_FP_FIELD   intvl_tab
 
#define TYPE_ANGAXIS_TAB_FP_FIELD   aa_tab
 
#define TYPE_QUAT_TAB_FP_FIELD   q_tab
 
#define TYPE_RAY_TAB_FP_FIELD   ray_tab
 
#define TYPE_POINT2_TAB_FP_FIELD   p2_tab
 
#define TYPE_BITARRAY_TAB_FP_FIELD   bits_tab
 
#define TYPE_CLASS_TAB_FP_FIELD   cd_tab
 
#define TYPE_MESH_TAB_FP_FIELD   msh_tab
 
#define TYPE_OBJECT_TAB_FP_FIELD   obj_tab
 
#define TYPE_CONTROL_TAB_FP_FIELD   ctrl_tab
 
#define TYPE_POINT_TAB_FP_FIELD   pt_tab
 
#define TYPE_TSTR_TAB_FP_FIELD   tstr_tab
 
#define TYPE_IOBJECT_TAB_FP_FIELD   iobj_tab
 
#define TYPE_INTERFACE_TAB_FP_FIELD   fpi_tab
 
#define TYPE_HWND_TAB_FP_FIELD   hwnd_tab
 
#define TYPE_NAME_TAB_FP_FIELD   s_tab
 
#define TYPE_COLOR_TAB_FP_FIELD   clr_tab
 
#define TYPE_ACOLOR_TAB_FP_FIELD   aclr_tab
 
#define TYPE_FPVALUE_TAB_FP_FIELD   fpv_tab
 
#define TYPE_VALUE_TAB_FP_FIELD   v_tab
 
#define TYPE_DWORD_TAB_FP_FIELD   d_tab
 
#define TYPE_bool_TAB_FP_FIELD   b_tab
 
#define TYPE_INTPTR_TAB_FP_FIELD   intptr_tab
 
#define TYPE_INT64_TAB_FP_FIELD   i64_tab
 
#define TYPE_DOUBLE_TAB_FP_FIELD   dbl_tab
 
#define TYPE_BOX3_TAB_FP_FIELD   b3_tab
 
#define TYPE_FLOAT_BP_FP_FIELD   fptr
 
#define TYPE_INT_BP_FP_FIELD   iptr
 
#define TYPE_BOOL_BP_FP_FIELD   iptr
 
#define TYPE_ANGLE_BP_FP_FIELD   fptr
 
#define TYPE_PCNT_FRAC_BP_FP_FIELD   fptr
 
#define TYPE_WORLD_BP_FP_FIELD   fptr
 
#define TYPE_COLOR_CHANNEL_BP_FP_FIELD   fptr
 
#define TYPE_TIMEVALUE_BP_FP_FIELD   iptr
 
#define TYPE_RADIOBTN_INDEX_BP_FP_FIELD   iptr
 
#define TYPE_INDEX_BP_FP_FIELD   iptr
 
#define TYPE_ENUM_BP_FP_FIELD   iptr
 
#define TYPE_DWORD_BP_FP_FIELD   dptr
 
#define TYPE_bool_BP_FP_FIELD   bptr
 
#define TYPE_INTPTR_BP_FP_FIELD   intptrptr
 
#define TYPE_INT64_BP_FP_FIELD   i64ptr
 
#define TYPE_DOUBLE_BP_FP_FIELD   dblptr
 
#define TYPE_FLOAT_BR_FP_FIELD   fptr
 
#define TYPE_INT_BR_FP_FIELD   iptr
 
#define TYPE_RGBA_BR_FP_FIELD   p
 
#define TYPE_POINT3_BR_FP_FIELD   p
 
#define TYPE_FRGBA_BR_FP_FIELD   p4
 
#define TYPE_POINT4_BR_FP_FIELD   p4
 
#define TYPE_BOOL_BR_FP_FIELD   iptr
 
#define TYPE_ANGLE_BR_FP_FIELD   fptr
 
#define TYPE_PCNT_FRAC_BR_FP_FIELD   fptr
 
#define TYPE_WORLD_BR_FP_FIELD   fptr
 
#define TYPE_HSV_BR_FP_FIELD   p
 
#define TYPE_COLOR_CHANNEL_BR_FP_FIELD   f
 
#define TYPE_TIMEVALUE_BR_FP_FIELD   iptr
 
#define TYPE_RADIOBTN_INDEX_BR_FP_FIELD   iptr
 
#define TYPE_BITMAP_BR_FP_FIELD   bm
 
#define TYPE_INDEX_BR_FP_FIELD   iptr
 
#define TYPE_ENUM_BR_FP_FIELD   iptr
 
#define TYPE_REFTARG_BR_FP_FIELD   r
 
#define TYPE_MATRIX3_BR_FP_FIELD   m
 
#define TYPE_ANGAXIS_BR_FP_FIELD   aa
 
#define TYPE_QUAT_BR_FP_FIELD   q
 
#define TYPE_BITARRAY_BR_FP_FIELD   bits
 
#define TYPE_RAY_BR_FP_FIELD   ray
 
#define TYPE_POINT2_BR_FP_FIELD   p2
 
#define TYPE_MESH_BR_FP_FIELD   msh
 
#define TYPE_INTERVAL_BR_FP_FIELD   intvl
 
#define TYPE_POINT_BR_FP_FIELD   pt
 
#define TYPE_TSTR_BR_FP_FIELD   tstr
 
#define TYPE_COLOR_BR_FP_FIELD   clr
 
#define TYPE_ACOLOR_BR_FP_FIELD   aclr
 
#define TYPE_FPVALUE_BR_FP_FIELD   fpv
 
#define TYPE_DWORD_BR_FP_FIELD   dptr
 
#define TYPE_bool_BR_FP_FIELD   bptr
 
#define TYPE_INTPTR_BR_FP_FIELD   intptrptr
 
#define TYPE_INT64_BR_FP_FIELD   i64ptr
 
#define TYPE_DOUBLE_BR_FP_FIELD   dblptr
 
#define TYPE_BOX3_BR_FP_FIELD   b3
 
#define TYPE_FLOAT_TAB_BR_FP_FIELD   f_tab
 
#define TYPE_INT_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_RGBA_TAB_BR_FP_FIELD   p_tab
 
#define TYPE_POINT3_TAB_BR_FP_FIELD   p_tab
 
#define TYPE_FRGBA_TAB_BR_FP_FIELD   p4_tab
 
#define TYPE_POINT4_TAB_BR_FP_FIELD   p4_tab
 
#define TYPE_BOOL_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_ANGLE_TAB_BR_FP_FIELD   f_tab
 
#define TYPE_PCNT_FRAC_TAB_BR_FP_FIELD   f_tab
 
#define TYPE_WORLD_TAB_BR_FP_FIELD   f_tab
 
#define TYPE_STRING_TAB_BR_FP_FIELD   s_tab
 
#define TYPE_FILENAME_TAB_BR_FP_FIELD   s_tab
 
#define TYPE_HSV_TAB_BR_FP_FIELD   p_tab
 
#define TYPE_COLOR_CHANNEL_TAB_BR_FP_FIELD   f_tab
 
#define TYPE_TIMEVALUE_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_RADIOBTN_INDEX_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_MTL_TAB_BR_FP_FIELD   mtl_tab
 
#define TYPE_TEXMAP_TAB_BR_FP_FIELD   tex_tab
 
#define TYPE_BITMAP_TAB_BR_FP_FIELD   bm_tab
 
#define TYPE_INODE_TAB_BR_FP_FIELD   n_tab
 
#define TYPE_REFTARG_TAB_BR_FP_FIELD   r_tab
 
#define TYPE_INDEX_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_ENUM_TAB_BR_FP_FIELD   i_tab
 
#define TYPE_MATRIX3_TAB_BR_FP_FIELD   m3_tab
 
#define TYPE_ANGAXIS_TAB_BR_FP_FIELD   aa_tab
 
#define TYPE_QUAT_TAB_BR_FP_FIELD   q_tab
 
#define TYPE_BITARRAY_TAB_BR_FP_FIELD   bits_tab
 
#define TYPE_CLASS_TAB_BR_FP_FIELD   cd_tab
 
#define TYPE_RAY_TAB_BR_FP_FIELD   ray_tab
 
#define TYPE_POINT2_TAB_BR_FP_FIELD   p2_tab
 
#define TYPE_MESH_TAB_BR_FP_FIELD   msh_tab
 
#define TYPE_OBJECT_TAB_BR_FP_FIELD   obj_tab
 
#define TYPE_CONTROL_TAB_BR_FP_FIELD   ctrl_tab
 
#define TYPE_INTERVAL_TAB_BR_FP_FIELD   intvl_tab
 
#define TYPE_POINT_TAB_BR_FP_FIELD   pt_tab
 
#define TYPE_HWND_TAB_BR_FP_FIELD   hwnd_tab
 
#define TYPE_TSTR_TAB_BR_FP_FIELD   tstr_tab
 
#define TYPE_IOBJECT_TAB_BR_FP_FIELD   iobj_tab
 
#define TYPE_INTERFACE_TAB_BR_FP_FIELD   fpi_tab
 
#define TYPE_NAME_TAB_BR_FP_FIELD   s_tab
 
#define TYPE_COLOR_TAB_BR_FP_FIELD   clr_tab
 
#define TYPE_ACOLOR_TAB_BR_FP_FIELD   aclr_tab
 
#define TYPE_FPVALUE_TAB_BR_FP_FIELD   fpv_tab
 
#define TYPE_VALUE_TAB_BR_FP_FIELD   v_tab
 
#define TYPE_DWORD_TAB_BR_FP_FIELD   d_tab
 
#define TYPE_bool_TAB_BR_FP_FIELD   b_tab
 
#define TYPE_INTPTR_TAB_BR_FP_FIELD   intptr_tab
 
#define TYPE_INT64_TAB_BR_FP_FIELD   i64_tab
 
#define TYPE_DOUBLE_TAB_BR_FP_FIELD   dbl_tab
 
#define TYPE_BOX3_TAB_BR_FP_FIELD   b3_tab
 
#define TYPE_RGBA_BV_FP_FIELD   p
 
#define TYPE_POINT3_BV_FP_FIELD   p
 
#define TYPE_FRGBA_BV_FP_FIELD   p4
 
#define TYPE_POINT4_BV_FP_FIELD   p4
 
#define TYPE_HSV_BV_FP_FIELD   p
 
#define TYPE_BITMAP_BV_FP_FIELD   bm
 
#define TYPE_MATRIX3_BV_FP_FIELD   m
 
#define TYPE_ANGAXIS_BV_FP_FIELD   aa
 
#define TYPE_QUAT_BV_FP_FIELD   q
 
#define TYPE_BITARRAY_BV_FP_FIELD   bits
 
#define TYPE_RAY_BV_FP_FIELD   ray
 
#define TYPE_POINT2_BV_FP_FIELD   p2
 
#define TYPE_MESH_BV_FP_FIELD   msh
 
#define TYPE_INTERVAL_BV_FP_FIELD   intvl
 
#define TYPE_POINT_BV_FP_FIELD   pt
 
#define TYPE_TSTR_BV_FP_FIELD   tstr
 
#define TYPE_COLOR_BV_FP_FIELD   clr
 
#define TYPE_ACOLOR_BV_FP_FIELD   aclr
 
#define TYPE_FPVALUE_BV_FP_FIELD   fpv
 
#define TYPE_CLASS_BV_FP_FIELD   cd
 
#define TYPE_BOX3_BV_FP_FIELD   b3
 
#define TYPE_FLOAT_TAB_BV_FP_FIELD   f_tab
 
#define TYPE_INT_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_RGBA_TAB_BV_FP_FIELD   p_tab
 
#define TYPE_POINT3_TAB_BV_FP_FIELD   p_tab
 
#define TYPE_FRGBA_TAB_BV_FP_FIELD   p4_tab
 
#define TYPE_POINT4_TAB_BV_FP_FIELD   p4_tab
 
#define TYPE_BOOL_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_ANGLE_TAB_BV_FP_FIELD   f_tab
 
#define TYPE_PCNT_FRAC_TAB_BV_FP_FIELD   f_tab
 
#define TYPE_WORLD_TAB_BV_FP_FIELD   f_tab
 
#define TYPE_STRING_TAB_BV_FP_FIELD   s_tab
 
#define TYPE_FILENAME_TAB_BV_FP_FIELD   s_tab
 
#define TYPE_HSV_TAB_BV_FP_FIELD   p_tab
 
#define TYPE_COLOR_CHANNEL_TAB_BV_FP_FIELD   f_tab
 
#define TYPE_TIMEVALUE_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_RADIOBTN_INDEX_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_MTL_TAB_BV_FP_FIELD   mtl_tab
 
#define TYPE_TEXMAP_TAB_BV_FP_FIELD   tex_tab
 
#define TYPE_BITMAP_TAB_BV_FP_FIELD   bm_tab
 
#define TYPE_INODE_TAB_BV_FP_FIELD   n_tab
 
#define TYPE_REFTARG_TAB_BV_FP_FIELD   r_tab
 
#define TYPE_INDEX_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_ENUM_TAB_BV_FP_FIELD   i_tab
 
#define TYPE_MATRIX3_TAB_BV_FP_FIELD   m3_tab
 
#define TYPE_ANGAXIS_TAB_BV_FP_FIELD   aa_tab
 
#define TYPE_QUAT_TAB_BV_FP_FIELD   q_tab
 
#define TYPE_BITARRAY_TAB_BV_FP_FIELD   bits_tab
 
#define TYPE_CLASS_TAB_BV_FP_FIELD   cd_tab
 
#define TYPE_RAY_TAB_BV_FP_FIELD   ray_tab
 
#define TYPE_POINT2_TAB_BV_FP_FIELD   p2_tab
 
#define TYPE_MESH_TAB_BV_FP_FIELD   msh_tab
 
#define TYPE_OBJECT_TAB_BV_FP_FIELD   obj_tab
 
#define TYPE_CONTROL_TAB_BV_FP_FIELD   ctrl_tab
 
#define TYPE_INTERVAL_TAB_BV_FP_FIELD   intvl_tab
 
#define TYPE_POINT_TAB_BV_FP_FIELD   pt_tab
 
#define TYPE_HWND_TAB_BV_FP_FIELD   hwnd_tab
 
#define TYPE_TSTR_TAB_BV_FP_FIELD   tstr_tab
 
#define TYPE_IOBJECT_TAB_BV_FP_FIELD   iobj_tab
 
#define TYPE_INTERFACE_TAB_BV_FP_FIELD   fpi_tab
 
#define TYPE_NAME_TAB_BV_FP_FIELD   s_tab
 
#define TYPE_COLOR_TAB_BV_FP_FIELD   clr_tab
 
#define TYPE_ACOLOR_TAB_BV_FP_FIELD   aclr_tab
 
#define TYPE_FPVALUE_TAB_BV_FP_FIELD   fpv_tab
 
#define TYPE_VALUE_TAB_BV_FP_FIELD   v_tab
 
#define TYPE_DWORD_TAB_BV_FP_FIELD   d_tab
 
#define TYPE_bool_TAB_BV_FP_FIELD   b_tab
 
#define TYPE_INTPTR_TAB_BV_FP_FIELD   intptr_tab
 
#define TYPE_INT64_TAB_BV_FP_FIELD   i64_tab
 
#define TYPE_DOUBLE_TAB_BV_FP_FIELD   dbl_tab
 
#define TYPE_BOX3_TAB_BV_FP_FIELD   b3_tab
 
#define TYPE_FLOAT_FIELD(_v)   (((_v).f))
 
#define TYPE_INT_FIELD(_v)   (((_v).i))
 
#define TYPE_RGBA_FIELD(_v)   (*((_v).p))
 
#define TYPE_POINT3_FIELD(_v)   (*((_v).p))
 
#define TYPE_FRGBA_FIELD(_v)   (*((_v).p4))
 
#define TYPE_POINT4_FIELD(_v)   (*((_v).p4))
 
#define TYPE_BOOL_FIELD(_v)   (((_v).i))
 
#define TYPE_ANGLE_FIELD(_v)   (((_v).f))
 
#define TYPE_PCNT_FRAC_FIELD(_v)   (((_v).f))
 
#define TYPE_WORLD_FIELD(_v)   (((_v).f))
 
#define TYPE_STRING_FIELD(_v)   (((_v).s))
 
#define TYPE_FILENAME_FIELD(_v)   (((_v).s))
 
#define TYPE_HSV_FIELD(_v)   (*((_v).p))
 
#define TYPE_COLOR_CHANNEL_FIELD(_v)   (((_v).f))
 
#define TYPE_TIMEVALUE_FIELD(_v)   (((_v).i))
 
#define TYPE_RADIOBTN_INDEX_FIELD(_v)   (((_v).i))
 
#define TYPE_MTL_FIELD(_v)   (((_v).mtl))
 
#define TYPE_TEXMAP_FIELD(_v)   (((_v).tex))
 
#define TYPE_BITMAP_FIELD(_v)   (((_v).bm))
 
#define TYPE_INODE_FIELD(_v)   (((_v).n))
 
#define TYPE_REFTARG_FIELD(_v)   (((_v).r))
 
#define TYPE_INDEX_FIELD(_v)   (((_v).i))
 
#define TYPE_ENUM_FIELD(_v)   (((_v).i))
 
#define TYPE_MATRIX3_FIELD(_v)   (*((_v).m))
 
#define TYPE_ANGAXIS_FIELD(_v)   (*((_v).aa))
 
#define TYPE_QUAT_FIELD(_v)   (*((_v).q))
 
#define TYPE_BITARRAY_FIELD(_v)   (((_v).bits))
 
#define TYPE_CLASS_FIELD(_v)   (((_v).cd))
 
#define TYPE_RAY_FIELD(_v)   (*((_v).ray))
 
#define TYPE_POINT2_FIELD(_v)   (*((_v).p2))
 
#define TYPE_MESH_FIELD(_v)   (((_v).msh))
 
#define TYPE_OBJECT_FIELD(_v)   (((_v).obj))
 
#define TYPE_CONTROL_FIELD(_v)   (((_v).ctrl))
 
#define TYPE_INTERVAL_FIELD(_v)   (*((_v).intvl))
 
#define TYPE_POINT_FIELD(_v)   (*((_v).pt))
 
#define TYPE_TSTR_FIELD(_v)   (*((_v).tstr))
 
#define TYPE_IOBJECT_FIELD(_v)   (((_v).iobj))
 
#define TYPE_INTERFACE_FIELD(_v)   (((_v).fpi))
 
#define TYPE_HWND_FIELD(_v)   (((_v).hwnd))
 
#define TYPE_NAME_FIELD(_v)   (((_v).s))
 
#define TYPE_COLOR_FIELD(_v)   (((_v).clr))
 
#define TYPE_ACOLOR_FIELD(_v)   (((_v).aclr))
 
#define TYPE_FPVALUE_FIELD(_v)   (((_v).fpv))
 
#define TYPE_VALUE_FIELD(_v)   (((_v).v))
 
#define TYPE_DWORD_FIELD(_v)   (((_v).d))
 
#define TYPE_bool_FIELD(_v)   (((_v).b))
 
#define TYPE_INTPTR_FIELD(_v)   (((_v).intptr))
 
#define TYPE_INT64_FIELD(_v)   (((_v).i64))
 
#define TYPE_DOUBLE_FIELD(_v)   (((_v).dbl))
 
#define TYPE_BOX3_FIELD(_v)   (*((_v).b3))
 
#define TYPE_FLOAT_TAB_FIELD(_v)   (((_v).f_tab))
 
#define TYPE_INT_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_RGBA_TAB_FIELD(_v)   (((_v).p_tab))
 
#define TYPE_POINT3_TAB_FIELD(_v)   (((_v).p_tab))
 
#define TYPE_FRGBA_TAB_FIELD(_v)   (((_v).p4_tab))
 
#define TYPE_POINT4_TAB_FIELD(_v)   (((_v).p4_tab))
 
#define TYPE_BOOL_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_ANGLE_TAB_FIELD(_v)   (((_v).f_tab))
 
#define TYPE_PCNT_FRAC_TAB_FIELD(_v)   (((_v).f_tab))
 
#define TYPE_WORLD_TAB_FIELD(_v)   (((_v).f_tab))
 
#define TYPE_STRING_TAB_FIELD(_v)   (((_v).s_tab))
 
#define TYPE_FILENAME_TAB_FIELD(_v)   (((_v).s_tab))
 
#define TYPE_HSV_TAB_FIELD(_v)   (((_v).p_tab))
 
#define TYPE_COLOR_CHANNEL_TAB_FIELD(_v)   (((_v).f_tab))
 
#define TYPE_TIMEVALUE_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_RADIOBTN_INDEX_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_MTL_TAB_FIELD(_v)   (((_v).mtl_tab))
 
#define TYPE_TEXMAP_TAB_FIELD(_v)   (((_v).tex_tab))
 
#define TYPE_BITMAP_TAB_FIELD(_v)   (((_v).bm_tab))
 
#define TYPE_INODE_TAB_FIELD(_v)   (((_v).n_tab))
 
#define TYPE_REFTARG_TAB_FIELD(_v)   (((_v).r_tab))
 
#define TYPE_INDEX_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_ENUM_TAB_FIELD(_v)   (((_v).i_tab))
 
#define TYPE_MATRIX3_TAB_FIELD(_v)   (((_v).m3_tab))
 
#define TYPE_ANGAXIS_TAB_FIELD(_v)   (((_v).aa_tab))
 
#define TYPE_QUAT_TAB_FIELD(_v)   (((_v).q_tab))
 
#define TYPE_BITARRAY_TAB_FIELD(_v)   (((_v).bits_tab))
 
#define TYPE_CLASS_TAB_FIELD(_v)   (((_v).cd_tab))
 
#define TYPE_RAY_TAB_FIELD(_v)   (((_v).ray_tab))
 
#define TYPE_POINT2_TAB_FIELD(_v)   (((_v).p2_tab))
 
#define TYPE_MESH_TAB_FIELD(_v)   (((_v).msh_tab))
 
#define TYPE_OBJECT_TAB_FIELD(_v)   (((_v).obj_tab))
 
#define TYPE_CONTROL_TAB_FIELD(_v)   (((_v).ctrl_tab))
 
#define TYPE_INTERVAL_TAB_FIELD(_v)   (((_v).intvl_tab))
 
#define TYPE_POINT_TAB_FIELD(_v)   (((_v).pt_tab))
 
#define TYPE_TSTRT_TAB_FIELD(_v)   (((_v).tstr_tab))
 
#define TYPE_IOBJECT_TAB_FIELD(_v)   (((_v).iobj_tab))
 
#define TYPE_INTERFACE_TAB_FIELD(_v)   (((_v).fpi_tab))
 
#define TYPE_HWND_TAB_FIELD(_v)   (((_v).hwnd_tab))
 
#define TYPE_NAME_TAB_FIELD(_v)   (((_v).s_tab))
 
#define TYPE_COLOR_TAB_FIELD(_v)   (((_v).clr_tab))
 
#define TYPE_ACOLOR_TAB_FIELD(_v)   (((_v).aclr_tab))
 
#define TYPE_FPVALUE_TAB_FIELD(_v)   (((_v).fpv_tab))
 
#define TYPE_VALUE_TAB_FIELD(_v)   (((_v).v_tab))
 
#define TYPE_DWORD_TAB_FIELD(_v)   (((_v).d_tab))
 
#define TYPE_bool_TAB_FIELD(_v)   (((_v).b_tab))
 
#define TYPE_INTPTR_TAB_FIELD(_v)   (((_v).intptr_tab))
 
#define TYPE_INT64_TAB_FIELD(_v)   (((_v).i64_tab))
 
#define TYPE_DOUBLE_TAB_FIELD(_v)   (((_v).dbl_tab))
 
#define TYPE_BOX3_TAB_FIELD(_v)   (((_v).b3_tab))
 
#define TYPE_FLOAT_BP_FIELD(_v)   (((_v).fptr))
 
#define TYPE_INT_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_BOOL_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_ANGLE_BP_FIELD(_v)   (((_v).fptr))
 
#define TYPE_PCNT_FRAC_BP_FIELD(_v)   (((_v).fptr))
 
#define TYPE_WORLD_BP_FIELD(_v)   (((_v).fptr))
 
#define TYPE_COLOR_CHANNEL_BP_FIELD(_v)   (((_v).fptr))
 
#define TYPE_TIMEVALUE_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_RADIOBTN_INDEX_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_INDEX_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_ENUM_BP_FIELD(_v)   (((_v).iptr))
 
#define TYPE_DWORD_BP_FIELD(_v)   (((_v).dptr))
 
#define TYPE_bool_BP_FIELD(_v)   (((_v).bptr))
 
#define TYPE_INTPTR_BP_FIELD(_v)   (((_v).intptrptr))
 
#define TYPE_INT64_BP_FIELD(_v)   (((_v).i64ptr))
 
#define TYPE_DOUBLE_BP_FIELD(_v)   (((_v).dblptr))
 
#define TYPE_FLOAT_BR_FIELD(_v)   (*((_v).fptr))
 
#define TYPE_INT_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_RGBA_BR_FIELD(_v)   (*((_v).p))
 
#define TYPE_POINT3_BR_FIELD(_v)   (*((_v).p))
 
#define TYPE_FRGBA_BR_FIELD(_v)   (*((_v).p4))
 
#define TYPE_POINT4_BR_FIELD(_v)   (*((_v).p4))
 
#define TYPE_BOOL_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_ANGLE_BR_FIELD(_v)   (*((_v).fptr))
 
#define TYPE_PCNT_FRAC_BR_FIELD(_v)   (*((_v).fptr))
 
#define TYPE_WORLD_BR_FIELD(_v)   (*((_v).fptr))
 
#define TYPE_HSV_BR_FIELD(_v)   (*((_v).p))
 
#define TYPE_COLOR_CHANNEL_BR_FIELD(_v)   (*((_v).fptr))
 
#define TYPE_TIMEVALUE_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_RADIOBTN_INDEX_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_BITMAP_BR_FIELD(_v)   (*((_v).bm))
 
#define TYPE_INDEX_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_ENUM_BR_FIELD(_v)   (*((_v).iptr))
 
#define TYPE_REFTARG_BR_FIELD(_v)   (*((_v).r))
 
#define TYPE_MATRIX3_BR_FIELD(_v)   (*((_v).m))
 
#define TYPE_ANGAXIS_BR_FIELD(_v)   (*((_v).aa))
 
#define TYPE_QUAT_BR_FIELD(_v)   (*((_v).q))
 
#define TYPE_BITARRAY_BR_FIELD(_v)   (*((_v).bits))
 
#define TYPE_RAY_BR_FIELD(_v)   (*((_v).ray))
 
#define TYPE_POINT2_BR_FIELD(_v)   (*((_v).p2))
 
#define TYPE_MESH_BR_FIELD(_v)   (*((_v).msh))
 
#define TYPE_INTERVAL_BR_FIELD(_v)   (*((_v).intvl))
 
#define TYPE_POINT_BR_FIELD(_v)   (*((_v).pt))
 
#define TYPE_TSTR_BR_FIELD(_v)   (*((_v).tstr))
 
#define TYPE_COLOR_BR_FIELD(_v)   (*((_v).clr))
 
#define TYPE_ACOLOR_BR_FIELD(_v)   (*((_v).aclr))
 
#define TYPE_FPVALUE_BR_FIELD(_v)   (*((_v).fpv))
 
#define TYPE_DWORD_BR_FIELD(_v)   (*((_v).dptr))
 
#define TYPE_bool_BR_FIELD(_v)   (*((_v).bptr))
 
#define TYPE_INTPTR_BR_FIELD(_v)   (*((_v).intptrptr))
 
#define TYPE_INT64_BR_FIELD(_v)   (*((_v).i64ptr))
 
#define TYPE_DOUBLE_BR_FIELD(_v)   (*((_v).dblptr))
 
#define TYPE_BOX3_BR_FIELD(_v)   (*((_v).b3))
 
#define TYPE_FLOAT_TAB_BR_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_INT_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_RGBA_TAB_BR_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_POINT3_TAB_BR_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_FRGBA_TAB_BR_FIELD(_v)   (*((_v).p4_tab))
 
#define TYPE_POINT4_TAB_BR_FIELD(_v)   (*((_v).p4_tab))
 
#define TYPE_BOOL_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_ANGLE_TAB_BR_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_PCNT_FRAC_TAB_BR_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_WORLD_TAB_BR_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_STRING_TAB_BR_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_FILENAME_TAB_BR_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_HSV_TAB_BR_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_COLOR_CHANNEL_TAB_BR_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_TIMEVALUE_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_RADIOBTN_INDEX_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_MTL_TAB_BR_FIELD(_v)   (*((_v).mtl_tab))
 
#define TYPE_TEXMAP_TAB_BR_FIELD(_v)   (*((_v).tex_tab))
 
#define TYPE_BITMAP_TAB_BR_FIELD(_v)   (*((_v).bm_tab))
 
#define TYPE_INODE_TAB_BR_FIELD(_v)   (*((_v).n_tab))
 
#define TYPE_REFTARG_TAB_BR_FIELD(_v)   (*((_v).r_tab))
 
#define TYPE_INDEX_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_ENUM_TAB_BR_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_MATRIX3_TAB_BR_FIELD(_v)   (*((_v).m3_tab))
 
#define TYPE_ANGAXIS_TAB_BR_FIELD(_v)   (*((_v).aa_tab))
 
#define TYPE_QUAT_TAB_BR_FIELD(_v)   (*((_v).q_tab))
 
#define TYPE_BITARRAY_TAB_BR_FIELD(_v)   (*((_v).bits_tab))
 
#define TYPE_CLASS_TAB_BR_FIELD(_v)   (*((_v).cd_tab))
 
#define TYPE_RAY_TAB_BR_FIELD(_v)   (*((_v).ray_tab))
 
#define TYPE_POINT2_TAB_BR_FIELD(_v)   (*((_v).p2_tab))
 
#define TYPE_MESH_TAB_BR_FIELD(_v)   (*((_v).msh_tab))
 
#define TYPE_OBJECT_TAB_BR_FIELD(_v)   (*((_v).obj_tab))
 
#define TYPE_CONTROL_TAB_BR_FIELD(_v)   (*((_v).ctrl_tab))
 
#define TYPE_INTERVAL_TAB_BR_FIELD(_v)   (*((_v).intvl_tab))
 
#define TYPE_POINT_TAB_BR_FIELD(_v)   (*((_v).pt_tab))
 
#define TYPE_HWND_TAB_BR_FIELD(_v)   (*((_v).hwnd_tab))
 
#define TYPE_TSTR_TAB_BR_FIELD(_v)   (*((_v).tstr_tab))
 
#define TYPE_IOBJECT_TAB_BR_FIELD(_v)   (*((_v).iobj_tab))
 
#define TYPE_INTERFACE_TAB_BR_FIELD(_v)   (*((_v).fpi_tab))
 
#define TYPE_NAME_TAB_BR_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_COLOR_TAB_BR_FIELD(_v)   (*((_v).clr_tab))
 
#define TYPE_ACOLOR_TAB_BR_FIELD(_v)   (*((_v).aclr_tab))
 
#define TYPE_FPVALUE_TAB_BR_FIELD(_v)   (*((_v).fpv_tab))
 
#define TYPE_VALUE_TAB_BR_FIELD(_v)   (*((_v).v_tab))
 
#define TYPE_DWORD_TAB_BR_FIELD(_v)   (*((_v).d_tab))
 
#define TYPE_bool_TAB_BR_FIELD(_v)   (*((_v).b_tab))
 
#define TYPE_INTPTR_TAB_BR_FIELD(_v)   (*((_v).intptr_tab))
 
#define TYPE_INT64_TAB_BR_FIELD(_v)   (*((_v).i64_tab))
 
#define TYPE_DOUBLE_TAB_BR_FIELD(_v)   (*((_v).dbl_tab))
 
#define TYPE_BOX3_TAB_BR_FIELD(_v)   (*((_v).b3_tab))
 
#define TYPE_RGBA_BV_FIELD(_v)   (*((_v).p))
 
#define TYPE_POINT3_BV_FIELD(_v)   (*((_v).p))
 
#define TYPE_HSV_BV_FIELD(_v)   (*((_v).p))
 
#define TYPE_FRGBA_BV_FIELD(_v)   (*((_v).p4))
 
#define TYPE_POINT4_BV_FIELD(_v)   (*((_v).p4))
 
#define TYPE_BITMAP_BV_FIELD(_v)   (*((_v).bm))
 
#define TYPE_MATRIX3_BV_FIELD(_v)   (*((_v).m))
 
#define TYPE_ANGAXIS_BV_FIELD(_v)   (*((_v).aa))
 
#define TYPE_QUAT_BV_FIELD(_v)   (*((_v).q))
 
#define TYPE_BITARRAY_BV_FIELD(_v)   (*((_v).bits))
 
#define TYPE_RAY_BV_FIELD(_v)   (*((_v).ray))
 
#define TYPE_POINT2_BV_FIELD(_v)   (*((_v).p2))
 
#define TYPE_MESH_BV_FIELD(_v)   (*((_v).msh))
 
#define TYPE_INTERVAL_BV_FIELD(_v)   (*((_v).intvl))
 
#define TYPE_POINT_BV_FIELD(_v)   (*((_v).pt))
 
#define TYPE_TSTR_BV_FIELD(_v)   (*((_v).tstr))
 
#define TYPE_COLOR_BV_FIELD(_v)   (*((_v).clr))
 
#define TYPE_ACOLOR_BV_FIELD(_v)   (*((_v).aclr))
 
#define TYPE_FPVALUE_BV_FIELD(_v)   (*((_v).fpv))
 
#define TYPE_CLASS_BV_FIELD(_v)   (*((_v).cd))
 
#define TYPE_BOX3_BV_FIELD(_v)   (*((_v).b3))
 
#define TYPE_FLOAT_TAB_BV_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_INT_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_RGBA_TAB_BV_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_POINT3_TAB_BV_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_FRGBA_TAB_BV_FIELD(_v)   (*((_v).p4_tab))
 
#define TYPE_POINT4_TAB_BV_FIELD(_v)   (*((_v).p4_tab))
 
#define TYPE_BOOL_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_ANGLE_TAB_BV_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_PCNT_FRAC_TAB_BV_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_WORLD_TAB_BV_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_STRING_TAB_BV_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_FILENAME_TAB_BV_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_HSV_TAB_BV_FIELD(_v)   (*((_v).p_tab))
 
#define TYPE_COLOR_CHANNEL_TAB_BV_FIELD(_v)   (*((_v).f_tab))
 
#define TYPE_TIMEVALUE_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_RADIOBTN_INDEX_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_MTL_TAB_BV_FIELD(_v)   (*((_v).mtl_tab))
 
#define TYPE_TEXMAP_TAB_BV_FIELD(_v)   (*((_v).tex_tab))
 
#define TYPE_BITMAP_TAB_BV_FIELD(_v)   (*((_v).bm_tab))
 
#define TYPE_INODE_TAB_BV_FIELD(_v)   (*((_v).n_tab))
 
#define TYPE_REFTARG_TAB_BV_FIELD(_v)   (*((_v).r_tab))
 
#define TYPE_INDEX_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_ENUM_TAB_BV_FIELD(_v)   (*((_v).i_tab))
 
#define TYPE_MATRIX3_TAB_BV_FIELD(_v)   (*((_v).m3_tab))
 
#define TYPE_ANGAXIS_TAB_BV_FIELD(_v)   (*((_v).aa_tab))
 
#define TYPE_QUAT_TAB_BV_FIELD(_v)   (*((_v).q_tab))
 
#define TYPE_BITARRAY_TAB_BV_FIELD(_v)   (*((_v).bits_tab))
 
#define TYPE_CLASS_TAB_BV_FIELD(_v)   (*((_v).cd_tab))
 
#define TYPE_RAY_TAB_BV_FIELD(_v)   (*((_v).ray_tab))
 
#define TYPE_POINT2_TAB_BV_FIELD(_v)   (*((_v).p2_tab))
 
#define TYPE_MESH_TAB_BV_FIELD(_v)   (*((_v).msh_tab))
 
#define TYPE_OBJECT_TAB_BV_FIELD(_v)   (*((_v).obj_tab))
 
#define TYPE_CONTROL_TAB_BV_FIELD(_v)   (*((_v).ctrl_tab))
 
#define TYPE_INTERVAL_TAB_BV_FIELD(_v)   (*((_v).intvl_tab))
 
#define TYPE_POINT_TAB_BV_FIELD(_v)   (*((_v).pt_tab))
 
#define TYPE_HWND_TAB_BV_FIELD(_v)   (*((_v).hwnd_tab))
 
#define TYPE_TSTR_TAB_BV_FIELD(_v)   (*((_v).tstr_tab))
 
#define TYPE_IOBJECT_TAB_BV_FIELD(_v)   (*((_v).iobj_tab))
 
#define TYPE_INTERFACE_TAB_BV_FIELD(_v)   (*((_v).fpi_tab))
 
#define TYPE_NAME_TAB_BV_FIELD(_v)   (*((_v).s_tab))
 
#define TYPE_COLOR_TAB_BV_FIELD(_v)   (*((_v).clr_tab))
 
#define TYPE_ACOLOR_TAB_BV_FIELD(_v)   (*((_v).aclr_tab))
 
#define TYPE_FPVALUE_TAB_BV_FIELD(_v)   (*((_v).fpv_tab))
 
#define TYPE_VALUE_TAB_BV_FIELD(_v)   (*((_v).v_tab))
 
#define TYPE_DWORD_TAB_BV_FIELD(_v)   (*((_v).d_tab))
 
#define TYPE_bool_TAB_BV_FIELD(_v)   (*((_v).b_tab))
 
#define TYPE_INTPTR_TAB_BV_FIELD(_v)   (*((_v).intptr_tab))
 
#define TYPE_INT64_TAB_BV_FIELD(_v)   (*((_v).i64_tab))
 
#define TYPE_DOUBLE_TAB_BV_FIELD(_v)   (*((_v).dbl_tab))
 
#define TYPE_BOX3_TAB_BV_FIELD(_v)   (*((_v).b3_tab))
 
#define TYPE_FLOAT_RSLT
 
#define TYPE_INT_RSLT
 
#define TYPE_RGBA_RSLT
 
#define TYPE_POINT3_RSLT
 
#define TYPE_FRGBA_RSLT
 
#define TYPE_POINT4_RSLT
 
#define TYPE_BOOL_RSLT
 
#define TYPE_ANGLE_RSLT
 
#define TYPE_PCNT_FRAC_RSLT
 
#define TYPE_WORLD_RSLT
 
#define TYPE_STRING_RSLT
 
#define TYPE_FILENAME_RSLT
 
#define TYPE_HSV_RSLT
 
#define TYPE_COLOR_CHANNEL_RSLT
 
#define TYPE_TIMEVALUE_RSLT
 
#define TYPE_RADIOBTN_INDEX_RSLT
 
#define TYPE_MTL_RSLT
 
#define TYPE_TEXMAP_RSLT
 
#define TYPE_BITMAP_RSLT
 
#define TYPE_INODE_RSLT
 
#define TYPE_REFTARG_RSLT
 
#define TYPE_INDEX_RSLT
 
#define TYPE_ENUM_RSLT
 
#define TYPE_MATRIX3_RSLT
 
#define TYPE_VOID_RSLT
 
#define TYPE_INTERVAL_RSLT
 
#define TYPE_ANGAXIS_RSLT
 
#define TYPE_QUAT_RSLT
 
#define TYPE_RAY_RSLT
 
#define TYPE_POINT2_RSLT
 
#define TYPE_BITARRAY_RSLT
 
#define TYPE_CLASS_RSLT
 
#define TYPE_MESH_RSLT
 
#define TYPE_OBJECT_RSLT
 
#define TYPE_CONTROL_RSLT
 
#define TYPE_POINT_RSLT
 
#define TYPE_TSTR_RSLT
 
#define TYPE_IOBJECT_RSLT
 
#define TYPE_INTERFACE_RSLT
 
#define TYPE_HWND_RSLT
 
#define TYPE_NAME_RSLT
 
#define TYPE_COLOR_RSLT
 
#define TYPE_ACOLOR_RSLT
 
#define TYPE_FPVALUE_RSLT
 
#define TYPE_VALUE_RSLT
 
#define TYPE_DWORD_RSLT
 
#define TYPE_bool_RSLT
 
#define TYPE_INTPTR_RSLT
 
#define TYPE_INT64_RSLT
 
#define TYPE_DOUBLE_RSLT
 
#define TYPE_BOX3_RSLT
 
#define TYPE_FLOAT_TAB_RSLT
 
#define TYPE_INT_TAB_RSLT
 
#define TYPE_RGBA_TAB_RSLT
 
#define TYPE_POINT3_TAB_RSLT
 
#define TYPE_FRGBA_TAB_RSLT
 
#define TYPE_POINT4_TAB_RSLT
 
#define TYPE_BOOL_TAB_RSLT
 
#define TYPE_ANGLE_TAB_RSLT
 
#define TYPE_PCNT_FRAC_TAB_RSLT
 
#define TYPE_WORLD_TAB_RSLT
 
#define TYPE_STRING_TAB_RSLT
 
#define TYPE_FILENAME_TAB_RSLT
 
#define TYPE_HSV_TAB_RSLT
 
#define TYPE_COLOR_CHANNEL_TAB_RSLT
 
#define TYPE_TIMEVALUE_TAB_RSLT
 
#define TYPE_RADIOBTN_INDEX_TAB_RSLT
 
#define TYPE_MTL_TAB_RSLT
 
#define TYPE_TEXMAP_TAB_RSLT
 
#define TYPE_BITMAP_TAB_RSLT
 
#define TYPE_INODE_TAB_RSLT
 
#define TYPE_REFTARG_TAB_RSLT
 
#define TYPE_INDEX_TAB_RSLT
 
#define TYPE_ENUM_TAB_RSLT
 
#define TYPE_MATRIX3_TAB_RSLT
 
#define TYPE_INTERVAL_TAB_RSLT
 
#define TYPE_ANGAXIS_TAB_RSLT
 
#define TYPE_QUAT_TAB_RSLT
 
#define TYPE_RAY_TAB_RSLT
 
#define TYPE_POINT2_TAB_RSLT
 
#define TYPE_BITARRAY_TAB_RSLT
 
#define TYPE_CLASS_TAB_RSLT
 
#define TYPE_MESH_TAB_RSLT
 
#define TYPE_OBJECT_TAB_RSLT
 
#define TYPE_CONTROL_TAB_RSLT
 
#define TYPE_POINT_TAB_RSLT
 
#define TYPE_TSTR_TAB_RSLT
 
#define TYPE_IOBJECT_TAB_RSLT
 
#define TYPE_INTERFACE_TAB_RSLT
 
#define TYPE_HWND_TAB_RSLT
 
#define TYPE_NAME_TAB_RSLT
 
#define TYPE_COLOR_TAB_RSLT
 
#define TYPE_ACOLOR_TAB_RSLT
 
#define TYPE_FPVALUE_TAB_RSLT
 
#define TYPE_VALUE_TAB_RSLT
 
#define TYPE_DWORD_TAB_RSLT
 
#define TYPE_bool_TAB_RSLT
 
#define TYPE_INTPTR_TAB_RSLT
 
#define TYPE_INT64_TAB_RSLT
 
#define TYPE_DOUBLE_TAB_RSLT
 
#define TYPE_BOX3_TAB_RSLT
 
#define TYPE_FLOAT_BP_RSLT
 
#define TYPE_INT_BP_RSLT
 
#define TYPE_BOOL_BP_RSLT
 
#define TYPE_ANGLE_BP_RSLT
 
#define TYPE_PCNT_FRAC_BP_RSLT
 
#define TYPE_WORLD_BP_RSLT
 
#define TYPE_COLOR_CHANNEL_BP_RSLT
 
#define TYPE_TIMEVALUE_BP_RSLT
 
#define TYPE_RADIOBTN_INDEX_BP_RSLT
 
#define TYPE_INDEX_BP_RSLT
 
#define TYPE_ENUM_BP_RSLT
 
#define TYPE_DWORD_BP_RSLT
 
#define TYPE_bool_BP_RSLT
 
#define TYPE_INTPTR_BP_RSLT
 
#define TYPE_INT64_BP_RSLT
 
#define TYPE_DOUBLE_BP_RSLT
 
#define TYPE_FLOAT_BR_RSLT   &
 
#define TYPE_INT_BR_RSLT   &
 
#define TYPE_RGBA_BR_RSLT   &
 
#define TYPE_POINT3_BR_RSLT   &
 
#define TYPE_FRGBA_BR_RSLT   &
 
#define TYPE_POINT4_BR_RSLT   &
 
#define TYPE_BOOL_BR_RSLT   &
 
#define TYPE_ANGLE_BR_RSLT   &
 
#define TYPE_PCNT_FRAC_BR_RSLT   &
 
#define TYPE_WORLD_BR_RSLT   &
 
#define TYPE_HSV_BR_RSLT   &
 
#define TYPE_COLOR_CHANNEL_BR_RSLT   &
 
#define TYPE_TIMEVALUE_BR_RSLT   &
 
#define TYPE_RADIOBTN_INDEX_BR_RSLT   &
 
#define TYPE_BITMAP_BR_RSLT   &
 
#define TYPE_INDEX_BR_RSLT   &
 
#define TYPE_ENUM_BR_RSLT   &
 
#define TYPE_REFTARG_BR_RSLT   &
 
#define TYPE_MATRIX3_BR_RSLT   &
 
#define TYPE_ANGAXIS_BR_RSLT   &
 
#define TYPE_QUAT_BR_RSLT   &
 
#define TYPE_BITARRAY_BR_RSLT   &
 
#define TYPE_RAY_BR_RSLT   &
 
#define TYPE_POINT2_BR_RSLT   &
 
#define TYPE_MESH_BR_RSLT   &
 
#define TYPE_INTERVAL_BR_RSLT   &
 
#define TYPE_POINT_BR_RSLT   &
 
#define TYPE_TSTR_BR_RSLT   &
 
#define TYPE_COLOR_BR_RSLT   &
 
#define TYPE_ACOLOR_BR_RSLT   &
 
#define TYPE_FPVALUE_BR_RSLT   &
 
#define TYPE_DWORD_BR_RSLT   &
 
#define TYPE_bool_BR_RSLT   &
 
#define TYPE_INTPTR_BR_RSLT   &
 
#define TYPE_INT64_BR_RSLT   &
 
#define TYPE_DOUBLE_BR_RSLT   &
 
#define TYPE_BOX3_BR_RSLT   &
 
#define TYPE_FLOAT_TAB_BR_RSLT   &
 
#define TYPE_INT_TAB_BR_RSLT   &
 
#define TYPE_RGBA_TAB_BR_RSLT   &
 
#define TYPE_POINT3_TAB_BR_RSLT   &
 
#define TYPE_FRGBA_TAB_BR_RSLT   &
 
#define TYPE_POINT4_TAB_BR_RSLT   &
 
#define TYPE_BOOL_TAB_BR_RSLT   &
 
#define TYPE_ANGLE_TAB_BR_RSLT   &
 
#define TYPE_PCNT_FRAC_TAB_BR_RSLT   &
 
#define TYPE_WORLD_TAB_BR_RSLT   &
 
#define TYPE_STRING_TAB_BR_RSLT   &
 
#define TYPE_FILENAME_TAB_BR_RSLT   &
 
#define TYPE_HSV_TAB_BR_RSLT   &
 
#define TYPE_COLOR_CHANNEL_TAB_BR_RSLT   &
 
#define TYPE_TIMEVALUE_TAB_BR_RSLT   &
 
#define TYPE_RADIOBTN_INDEX_TAB_BR_RSLT   &
 
#define TYPE_MTL_TAB_BR_RSLT   &
 
#define TYPE_TEXMAP_TAB_BR_RSLT   &
 
#define TYPE_BITMAP_TAB_BR_RSLT   &
 
#define TYPE_INODE_TAB_BR_RSLT   &
 
#define TYPE_REFTARG_TAB_BR_RSLT   &
 
#define TYPE_INDEX_TAB_BR_RSLT   &
 
#define TYPE_ENUM_TAB_BR_RSLT   &
 
#define TYPE_MATRIX3_TAB_BR_RSLT   &
 
#define TYPE_ANGAXIS_TAB_BR_RSLT   &
 
#define TYPE_QUAT_TAB_BR_RSLT   &
 
#define TYPE_BITARRAY_TAB_BR_RSLT   &
 
#define TYPE_CLASS_TAB_BR_RSLT   &
 
#define TYPE_RAY_TAB_BR_RSLT   &
 
#define TYPE_POINT2_TAB_BR_RSLT   &
 
#define TYPE_MESH_TAB_BR_RSLT   &
 
#define TYPE_OBJECT_TAB_BR_RSLT   &
 
#define TYPE_CONTROL_TAB_BR_RSLT   &
 
#define TYPE_INTERVAL_TAB_BR_RSLT   &
 
#define TYPE_POINT_TAB_BR_RSLT   &
 
#define TYPE_HWND_TAB_BR_RSLT   &
 
#define TYPE_TSTR_TAB_BR_RSLT   &
 
#define TYPE_IOBJECT_TAB_BR_RSLT   &
 
#define TYPE_INTERFACE_TAB_BR_RSLT   &
 
#define TYPE_NAME_TAB_BR_RSLT   &
 
#define TYPE_COLOR_TAB_BR_RSLT   &
 
#define TYPE_ACOLOR_TAB_BR_RSLT   &
 
#define TYPE_FPVALUE_TAB_BR_RSLT   &
 
#define TYPE_VALUE_TAB_BR_RSLT   &
 
#define TYPE_DWORD_TAB_BR_RSLT   &
 
#define TYPE_bool_TAB_BR_RSLT   &
 
#define TYPE_INTPTR_TAB_BR_RSLT   &
 
#define TYPE_INT64_TAB_BR_RSLT   &
 
#define TYPE_DOUBLE_TAB_BR_RSLT   &
 
#define TYPE_BOX3_TAB_BR_RSLT   &
 
#define TYPE_RGBA_BV_RSLT   &
 
#define TYPE_POINT3_BV_RSLT   &
 
#define TYPE_HSV_BV_RSLT   &
 
#define TYPE_FRGBA_BV_RSLT   &
 
#define TYPE_POINT4_BV_RSLT   &
 
#define TYPE_BITMAP_BV_RSLT   &
 
#define TYPE_MATRIX3_BV_RSLT   &
 
#define TYPE_ANGAXIS_BV_RSLT   &
 
#define TYPE_QUAT_BV_RSLT   &
 
#define TYPE_BITARRAY_BV_RSLT   &
 
#define TYPE_RAY_BV_RSLT   &
 
#define TYPE_POINT2_BV_RSLT   &
 
#define TYPE_MESH_BV_RSLT   &
 
#define TYPE_INTERVAL_BV_RSLT   &
 
#define TYPE_POINT_BV_RSLT   &
 
#define TYPE_TSTR_BV_RSLT   &
 
#define TYPE_COLOR_BV_RSLT   &
 
#define TYPE_ACOLOR_BV_RSLT   &
 
#define TYPE_FPVALUE_BV_RSLT   &
 
#define TYPE_CLASS_BV_RSLT   &
 
#define TYPE_BOX3_BV_RSLT   &
 
#define TYPE_FLOAT_TAB_BV_RSLT   &
 
#define TYPE_INT_TAB_BV_RSLT   &
 
#define TYPE_RGBA_TAB_BV_RSLT   &
 
#define TYPE_POINT3_TAB_BV_RSLT   &
 
#define TYPE_FRGBA_TAB_BV_RSLT   &
 
#define TYPE_POINT4_TAB_BV_RSLT   &
 
#define TYPE_BOOL_TAB_BV_RSLT   &
 
#define TYPE_ANGLE_TAB_BV_RSLT   &
 
#define TYPE_PCNT_FRAC_TAB_BV_RSLT   &
 
#define TYPE_WORLD_TAB_BV_RSLT   &
 
#define TYPE_STRING_TAB_BV_RSLT   &
 
#define TYPE_FILENAME_TAB_BV_RSLT   &
 
#define TYPE_HSV_TAB_BV_RSLT   &
 
#define TYPE_COLOR_CHANNEL_TAB_BV_RSLT   &
 
#define TYPE_TIMEVALUE_TAB_BV_RSLT   &
 
#define TYPE_RADIOBTN_INDEX_TAB_BV_RSLT   &
 
#define TYPE_MTL_TAB_BV_RSLT   &
 
#define TYPE_TEXMAP_TAB_BV_RSLT   &
 
#define TYPE_BITMAP_TAB_BV_RSLT   &
 
#define TYPE_INODE_TAB_BV_RSLT   &
 
#define TYPE_REFTARG_TAB_BV_RSLT   &
 
#define TYPE_INDEX_TAB_BV_RSLT   &
 
#define TYPE_ENUM_TAB_BV_RSLT   &
 
#define TYPE_MATRIX3_TAB_BV_RSLT   &
 
#define TYPE_ANGAXIS_TAB_BV_RSLT   &
 
#define TYPE_QUAT_TAB_BV_RSLT   &
 
#define TYPE_BITARRAY_TAB_BV_RSLT   &
 
#define TYPE_CLASS_TAB_BV_RSLT   &
 
#define TYPE_RAY_TAB_BV_RSLT   &
 
#define TYPE_POINT2_TAB_BV_RSLT   &
 
#define TYPE_MESH_TAB_BV_RSLT   &
 
#define TYPE_OBJECT_TAB_BV_RSLT   &
 
#define TYPE_CONTROL_TAB_BV_RSLT   &
 
#define TYPE_INTERVAL_TAB_BV_RSLT   &
 
#define TYPE_POINT_TAB_BV_RSLT   &
 
#define TYPE_HWND_TAB_BV_RSLT   &
 
#define TYPE_TSTR_TAB_BV_RSLT   &
 
#define TYPE_IOBJECT_TAB_BV_RSLT   &
 
#define TYPE_INTERFACE_TAB_BV_RSLT   &
 
#define TYPE_NAME_TAB_BV_RSLT   &
 
#define TYPE_COLOR_TAB_BV_RSLT   &
 
#define TYPE_ACOLOR_TAB_BV_RSLT   &
 
#define TYPE_FPVALUE_TAB_BV_RSLT   &
 
#define TYPE_VALUE_TAB_BV_RSLT   &
 
#define TYPE_DWORD_TAB_BV_RSLT   &
 
#define TYPE_bool_TAB_BV_RSLT   &
 
#define TYPE_INTPTR_TAB_BV_RSLT   &
 
#define TYPE_INT64_TAB_BV_RSLT   &
 
#define TYPE_DOUBLE_TAB_BV_RSLT   &
 
#define TYPE_BOX3_TAB_BV_RSLT   &
 
#define TYPE_FLOAT_TYPE   float
 
#define TYPE_INT_TYPE   int
 
#define TYPE_RGBA_TYPE   Point3
 
#define TYPE_POINT3_TYPE   Point3
 
#define TYPE_FRGBA_TYPE   Point4
 
#define TYPE_POINT4_TYPE   Point4
 
#define TYPE_BOOL_TYPE   BOOL
 
#define TYPE_ANGLE_TYPE   float
 
#define TYPE_PCNT_FRAC_TYPE   float
 
#define TYPE_WORLD_TYPE   float
 
#define TYPE_STRING_TYPE   const MCHAR*
 
#define TYPE_FILENAME_TYPE   const MCHAR*
 
#define TYPE_HSV_TYPE   Point3
 
#define TYPE_COLOR_CHANNEL_TYPE   float
 
#define TYPE_TIMEVALUE_TYPE   int
 
#define TYPE_RADIOBTN_INDEX_TYPE   int
 
#define TYPE_MTL_TYPE   Mtl*
 
#define TYPE_TEXMAP_TYPE   Texmap*
 
#define TYPE_BITMAP_TYPE   PBBitmap*
 
#define TYPE_INODE_TYPE   INode*
 
#define TYPE_REFTARG_TYPE   ReferenceTarget*
 
#define TYPE_INDEX_TYPE   int
 
#define TYPE_ENUM_TYPE   int
 
#define TYPE_MATRIX3_TYPE   Matrix*
 
#define TYPE_VOID_TYPE   void
 
#define TYPE_INTERVAL_TYPE   Interval*
 
#define TYPE_ANGAXIS_TYPE   AngAxis*
 
#define TYPE_QUAT_TYPE   Quat*
 
#define TYPE_RAY_TYPE   Ray*
 
#define TYPE_POINT2_TYPE   Point2*
 
#define TYPE_BITARRAY_TYPE   BitArray*
 
#define TYPE_CLASS_TYPE   ClassID*
 
#define TYPE_MESH_TYPE   Mesh*
 
#define TYPE_OBJECT_TYPE   Object*
 
#define TYPE_CONTROL_TYPE   Control*
 
#define TYPE_POINT_TYPE   POINT*
 
#define TYPE_TSTR_TYPE   MSTR*
 
#define TYPE_IOBJECT_TYPE   IObject*
 
#define TYPE_INTERFACE_TYPE   FPInterface*
 
#define TYPE_HWND_TYPE   HWND
 
#define TYPE_NAME_TYPE   const MCHAR*
 
#define TYPE_COLOR_TYPE   Color*
 
#define TYPE_ACOLOR_TYPE   AColor*
 
#define TYPE_FPVALUE_TYPE   FPValue*
 
#define TYPE_VALUE_TYPE   Value*
 
#define TYPE_DWORD_TYPE   DWORD
 
#define TYPE_bool_TYPE   bool
 
#define TYPE_INTPTR_TYPE   INT_PTR
 
#define TYPE_INT64_TYPE   INT64
 
#define TYPE_DOUBLE_TYPE   double
 
#define TYPE_BOX3_TYPE   Box3*
 
#define TYPE_FLOAT_TAB_TYPE   Tab<float>*
 
#define TYPE_INT_TAB_TYPE   Tab<int>*
 
#define TYPE_RGBA_TAB_TYPE   Tab<Point3>*
 
#define TYPE_POINT3_TAB_TYPE   Tab<Point3>*
 
#define TYPE_FRGBA_TAB_TYPE   Tab<Point4>*
 
#define TYPE_POINT4_TAB_TYPE   Tab<Point4>*
 
#define TYPE_BOOL_TAB_TYPE   Tab<BOOL>*
 
#define TYPE_ANGLE_TAB_TYPE   Tab<float>*
 
#define TYPE_PCNT_FRAC_TAB_TYPE   Tab<float>*
 
#define TYPE_WORLD_TAB_TYPE   Tab<float>*
 
#define TYPE_STRING_TAB_TYPE   Tab<const MCHAR*>*
 
#define TYPE_FILENAME_TAB_TYPE   Tab<const MCHAR*>*
 
#define TYPE_HSV_TAB_TYPE   Tab<Point3>*
 
#define TYPE_COLOR_CHANNEL_TAB_TYPE   Tab<float>*
 
#define TYPE_TIMEVALUE_TAB_TYPE   Tab<int>*
 
#define TYPE_RADIOBTN_INDEX_TAB_TYPE   Tab<int>*
 
#define TYPE_MTL_TAB_TYPE   Tab<Mtl*>*
 
#define TYPE_TEXMAP_TAB_TYPE   Tab<Texmap*>*
 
#define TYPE_BITMAP_TAB_TYPE   Tab<PBBitmap*>*
 
#define TYPE_INODE_TAB_TYPE   Tab<INode*>*
 
#define TYPE_REFTARG_TAB_TYPE   Tab<ReferenceTarget*>*
 
#define TYPE_INDEX_TAB_TYPE   Tab<int>*
 
#define TYPE_ENUM_TAB_TYPE   Tab<int>*
 
#define TYPE_MATRIX3_TAB_TYPE   Tab<Matrix*>*
 
#define TYPE_VOID_TAB_TYPE   Tab<void>*
 
#define TYPE_INTERVAL_TAB_TYPE   Tab<Interval*>*
 
#define TYPE_ANGAXIS_TAB_TYPE   Tab<AngAxis*>*
 
#define TYPE_QUAT_TAB_TYPE   Tab<Quat*>*
 
#define TYPE_RAY_TAB_TYPE   Tab<Ray*>*
 
#define TYPE_POINT2_TAB_TYPE   Tab<Point2*>*
 
#define TYPE_BITARRAY_TAB_TYPE   Tab<BitArray*>*
 
#define TYPE_CLASS_TAB_TYPE   Tab<ClassID*>*
 
#define TYPE_MESH_TAB_TYPE   Tab<Mesh*>*
 
#define TYPE_OBJECT_TAB_TYPE   Tab<Object*>*
 
#define TYPE_CONTROL_TAB_TYPE   Tab<Control*>*
 
#define TYPE_POINT_TAB_TYPE   Tab<POINT*>*
 
#define TYPE_TSTR_TAB_TYPE   Tab<MSTR*>*
 
#define TYPE_IOBJECT_TAB_TYPE   Tab<IObject*>*
 
#define TYPE_INTERFACE_TAB_TYPE   Tab<FPInterface*>*
 
#define TYPE_HWND_TAB_TYPE   Tab<HWND>*
 
#define TYPE_NAME_TAB_TYPE   Tab<const MCHAR*>*
 
#define TYPE_COLOR_TAB_TYPE   Tab<Color*>*
 
#define TYPE_ACOLOR_TAB_TYPE   Tab<AColor*>*
 
#define TYPE_FPVALUE_TAB_TYPE   Tab<FPValue*>*
 
#define TYPE_VALUE_TAB_TYPE   Tab<Value*>*
 
#define TYPE_DWORD_TAB_TYPE   Tab<DWORD>*
 
#define TYPE_bool_TAB_TYPE   Tab<bool>*
 
#define TYPE_INTPTR_TAB_TYPE   Tab<INT_PTR>*
 
#define TYPE_INT64_TAB_TYPE   Tab<INT64>*
 
#define TYPE_DOUBLE_TAB_TYPE   Tab<double>*
 
#define TYPE_BOX3_TAB_TYPE   Tab<Box3*>*
 
#define TYPE_FLOAT_BP_TYPE   float*
 
#define TYPE_INT_BP_TYPE   int*
 
#define TYPE_BOOL_BP_TYPE   int*
 
#define TYPE_ANGLE_BP_TYPE   float*
 
#define TYPE_PCNT_FRAC_BP_TYPE   float*
 
#define TYPE_WORLD_BP_TYPE   float*
 
#define TYPE_COLOR_CHANNEL_BP_TYPE   float*
 
#define TYPE_TIMEVALUE_BP_TYPE   int*
 
#define TYPE_RADIOBTN_INDEX_BP_TYPE   int*
 
#define TYPE_INDEX_BP_TYPE   int*
 
#define TYPE_ENUM_BP_TYPE   int*
 
#define TYPE_DWORD_BP_TYPE   DWORD*
 
#define TYPE_bool_BP_TYPE   bool*
 
#define TYPE_INTPTR_BP_TYPE   INT_PTR*
 
#define TYPE_INT64_BP_TYPE   INT64*
 
#define TYPE_DOUBLE_BP_TYPE   double*
 
#define TYPE_FLOAT_BR_TYPE   float&
 
#define TYPE_INT_BR_TYPE   int&
 
#define TYPE_RGBA_BR_TYPE   Point3&
 
#define TYPE_POINT3_BR_TYPE   Point3&
 
#define TYPE_FRGBA_BR_TYPE   Point4&
 
#define TYPE_POINT4_BR_TYPE   Point4&
 
#define TYPE_BOOL_BR_TYPE   int&
 
#define TYPE_ANGLE_BR_TYPE   float&
 
#define TYPE_PCNT_FRAC_BR_TYPE   float&
 
#define TYPE_WORLD_BR_TYPE   float&
 
#define TYPE_HSV_BR_TYPE   Point3&
 
#define TYPE_COLOR_CHANNEL_BR_TYPE   float&
 
#define TYPE_TIMEVALUE_BR_TYPE   int&
 
#define TYPE_RADIOBTN_INDEX_BR_TYPE   int&
 
#define TYPE_BITMAP_BR_TYPE   PBBitmap&
 
#define TYPE_INDEX_BR_TYPE   int&
 
#define TYPE_ENUM_BR_TYPE   int&
 
#define TYPE_REFTARG_BR_TYPE   ReferenceTarget&
 
#define TYPE_MATRIX3_BR_TYPE   Matrix3&
 
#define TYPE_ANGAXIS_BR_TYPE   AngAxis&
 
#define TYPE_QUAT_BR_TYPE   Quat&
 
#define TYPE_BITARRAY_BR_TYPE   BitArray&
 
#define TYPE_RAY_BR_TYPE   Ray&
 
#define TYPE_POINT2_BR_TYPE   Point2&
 
#define TYPE_MESH_BR_TYPE   Mesh&
 
#define TYPE_INTERVAL_BR_TYPE   Interval&
 
#define TYPE_POINT_BR_TYPE   POINT&
 
#define TYPE_TSTR_BR_TYPE   MSTR&
 
#define TYPE_COLOR_BR_TYPE   Color&
 
#define TYPE_ACOLOR_BR_TYPE   AColor&
 
#define TYPE_FPVALUE_BR_TYPE   FPValue&
 
#define TYPE_DWORD_BR_TYPE   DWORD&
 
#define TYPE_bool_BR_TYPE   bool&
 
#define TYPE_INTPTR_BR_TYPE   INT_PTR&
 
#define TYPE_INT64_BR_TYPE   INT64&
 
#define TYPE_DOUBLE_BR_TYPE   double&
 
#define TYPE_BOX3_BR_TYPE   Box3&
 
#define TYPE_FLOAT_TAB_BR_TYPE   Tab<float>&
 
#define TYPE_INT_TAB_BR_TYPE   Tab<int>&
 
#define TYPE_RGBA_TAB_BR_TYPE   Tab<Point3>&
 
#define TYPE_POINT3_TAB_BR_TYPE   Tab<Point3>&
 
#define TYPE_FRGBA_TAB_BR_TYPE   Tab<Point4>&
 
#define TYPE_POINT4_TAB_BR_TYPE   Tab<Point4>&
 
#define TYPE_BOOL_TAB_BR_TYPE   Tab<BOOL>&
 
#define TYPE_ANGLE_TAB_BR_TYPE   Tab<float>&
 
#define TYPE_PCNT_FRAC_TAB_BR_TYPE   Tab<float>&
 
#define TYPE_WORLD_TAB_BR_TYPE   Tab<float>&
 
#define TYPE_STRING_TAB_BR_TYPE   Tab<const MCHAR*>&
 
#define TYPE_FILENAME_TAB_BR_TYPE   Tab<const MCHAR*>&
 
#define TYPE_HSV_TAB_BR_TYPE   Tab<Point3>&
 
#define TYPE_COLOR_CHANNEL_TAB_BR_TYPE   Tab<float>&
 
#define TYPE_TIMEVALUE_TAB_BR_TYPE   Tab<int>&
 
#define TYPE_RADIOBTN_INDEX_TAB_BR_TYPE   Tab<int>&
 
#define TYPE_MTL_TAB_BR_TYPE   Tab<Mtl*>&
 
#define TYPE_TEXMAP_TAB_BR_TYPE   Tab<Texmap*>&
 
#define TYPE_BITMAP_TAB_BR_TYPE   Tab<PBBitmap*>&
 
#define TYPE_INODE_TAB_BR_TYPE   Tab<INode*>&
 
#define TYPE_REFTARG_TAB_BR_TYPE   Tab<ReferenceTarget*>&
 
#define TYPE_INDEX_TAB_BR_TYPE   Tab<int>&
 
#define TYPE_ENUM_TAB_BR_TYPE   Tab<int>&
 
#define TYPE_MATRIX3_TAB_BR_TYPE   Tab<Matrix*>&
 
#define TYPE_VOID_TAB_BR_TYPE   Tab<void>&
 
#define TYPE_INTERVAL_TAB_BR_TYPE   Tab<Interval*>&
 
#define TYPE_ANGAXIS_TAB_BR_TYPE   Tab<AngAxis*>&
 
#define TYPE_QUAT_TAB_BR_TYPE   Tab<Quat*>&
 
#define TYPE_RAY_TAB_BR_TYPE   Tab<Ray*>&
 
#define TYPE_POINT2_TAB_BR_TYPE   Tab<Point2*>&
 
#define TYPE_BITARRAY_TAB_BR_TYPE   Tab<BitArray*>&
 
#define TYPE_CLASS_TAB_BR_TYPE   Tab<ClassID*>&
 
#define TYPE_MESH_TAB_BR_TYPE   Tab<Mesh*>&
 
#define TYPE_OBJECT_TAB_BR_TYPE   Tab<Object*>&
 
#define TYPE_CONTROL_TAB_BR_TYPE   Tab<Control*>&
 
#define TYPE_POINT_TAB_BR_TYPE   Tab<POINT*>&
 
#define TYPE_TSTR_TAB_BR_TYPE   Tab<MSTR*>&
 
#define TYPE_IOBJECT_TAB_BR_TYPE   Tab<IObject*>&
 
#define TYPE_INTERFACE_TAB_BR_TYPE   Tab<FPInterface*>&
 
#define TYPE_HWND_TAB_BR_TYPE   Tab<HWND>&
 
#define TYPE_NAME_TAB_BR_TYPE   Tab<const MCHAR*>&
 
#define TYPE_COLOR_TAB_BR_TYPE   Tab<Color*>&
 
#define TYPE_ACOLOR_TAB_BR_TYPE   Tab<AColor*>&
 
#define TYPE_FPVALUE_TAB_BR_TYPE   Tab<FPValue*>&
 
#define TYPE_VALUE_TAB_BR_TYPE   Tab<Value*>&
 
#define TYPE_DWORD_TAB_BR_TYPE   Tab<DWORD>&
 
#define TYPE_bool_TAB_BR_TYPE   Tab<bool>&
 
#define TYPE_INTPTR_TAB_BR_TYPE   Tab<INT_PTR>&
 
#define TYPE_INT64_TAB_BR_TYPE   Tab<INT64>&
 
#define TYPE_DOUBLE_TAB_BR_TYPE   Tab<double>&
 
#define TYPE_BOX3_TAB_BR_TYPE   Tab<Box3>&
 
#define TYPE_RGBA_BV_TYPE   Point3
 
#define TYPE_POINT3_BV_TYPE   Point3
 
#define TYPE_HSV_BV_TYPE   Point3
 
#define TYPE_FRGBA_BV_TYPE   Point4
 
#define TYPE_POINT4_BV_TYPE   Point4
 
#define TYPE_BITMAP_BV_TYPE   PBBitmap
 
#define TYPE_MATRIX3_BV_TYPE   Matrix3
 
#define TYPE_ANGAXIS_BV_TYPE   AngAxis
 
#define TYPE_QUAT_BV_TYPE   Quat
 
#define TYPE_BITARRAY_BV_TYPE   BitArray
 
#define TYPE_RAY_BV_TYPE   Ray
 
#define TYPE_POINT2_BV_TYPE   Point2
 
#define TYPE_MESH_BV_TYPE   Mesh
 
#define TYPE_INTERVAL_BV_TYPE   Interval
 
#define TYPE_POINT_BV_TYPE   POINT
 
#define TYPE_TSTR_BV_TYPE   MSTR
 
#define TYPE_COLOR_BV_TYPE   Color
 
#define TYPE_ACOLOR_BV_TYPE   AColor
 
#define TYPE_FPVALUE_BV_TYPE   FPValue
 
#define TYPE_CLASS_BV_TYPE   ClassID
 
#define TYPE_BOX3_BV_TYPE   Box3
 
#define TYPE_FLOAT_TAB_BV_TYPE   Tab<float>
 
#define TYPE_INT_TAB_BV_TYPE   Tab<int>
 
#define TYPE_RGBA_TAB_BV_TYPE   Tab<Point3>
 
#define TYPE_POINT3_TAB_BV_TYPE   Tab<Point3>
 
#define TYPE_FRGBA_TAB_BV_TYPE   Tab<Point4>
 
#define TYPE_POINT4_TAB_BV_TYPE   Tab<Point4>
 
#define TYPE_BOOL_TAB_BV_TYPE   Tab<BOOL>
 
#define TYPE_ANGLE_TAB_BV_TYPE   Tab<float>
 
#define TYPE_PCNT_FRAC_TAB_BV_TYPE   Tab<float>
 
#define TYPE_WORLD_TAB_BV_TYPE   Tab<float>
 
#define TYPE_STRING_TAB_BV_TYPE   Tab<const MCHAR*>
 
#define TYPE_FILENAME_TAB_BV_TYPE   Tab<const MCHAR*>
 
#define TYPE_HSV_TAB_BV_TYPE   Tab<Point3>
 
#define TYPE_COLOR_CHANNEL_TAB_BV_TYPE   Tab<float>
 
#define TYPE_TIMEVALUE_TAB_BV_TYPE   Tab<int>
 
#define TYPE_RADIOBTN_INDEX_TAB_BV_TYPE   Tab<int>
 
#define TYPE_MTL_TAB_BV_TYPE   Tab<Mtl*>
 
#define TYPE_TEXMAP_TAB_BV_TYPE   Tab<Texmap*>
 
#define TYPE_BITMAP_TAB_BV_TYPE   Tab<PBBitmap*>
 
#define TYPE_INODE_TAB_BV_TYPE   Tab<INode*>
 
#define TYPE_REFTARG_TAB_BV_TYPE   Tab<ReferenceTarget*>
 
#define TYPE_INDEX_TAB_BV_TYPE   Tab<int>
 
#define TYPE_ENUM_TAB_BV_TYPE   Tab<int>
 
#define TYPE_MATRIX3_TAB_BV_TYPE   Tab<Matrix*>
 
#define TYPE_VOID_TAB_BV_TYPE   Tab<void>
 
#define TYPE_INTERVAL_TAB_BV_TYPE   Tab<Interval*>
 
#define TYPE_ANGAXIS_TAB_BV_TYPE   Tab<AngAxis*>
 
#define TYPE_QUAT_TAB_BV_TYPE   Tab<Quat*>
 
#define TYPE_RAY_TAB_BV_TYPE   Tab<Ray*>
 
#define TYPE_POINT2_TAB_BV_TYPE   Tab<Point2*>
 
#define TYPE_BITARRAY_TAB_BV_TYPE   Tab<BitArray*>
 
#define TYPE_CLASS_TAB_BV_TYPE   Tab<ClassID*>
 
#define TYPE_MESH_TAB_BV_TYPE   Tab<Mesh*>
 
#define TYPE_OBJECT_TAB_BV_TYPE   Tab<Object*>
 
#define TYPE_CONTROL_TAB_BV_TYPE   Tab<Control*>
 
#define TYPE_POINT_TAB_BV_TYPE   Tab<POINT*>
 
#define TYPE_TSTR_TAB_BV_TYPE   Tab<MSTR*>
 
#define TYPE_IOBJECT_TAB_BV_TYPE   Tab<IObject*>
 
#define TYPE_INTERFACE_TAB_BV_TYPE   Tab<FPInterface*>
 
#define TYPE_HWND_TAB_BV_TYPE   Tab<HWND>
 
#define TYPE_NAME_TAB_BV_TYPE   Tab<const MCHAR*>
 
#define TYPE_COLOR_TAB_BV_TYPE   Tab<Color*>
 
#define TYPE_ACOLOR_TAB_BV_TYPE   Tab<AColor*>
 
#define TYPE_FPVALUE_TAB_BV_TYPE   Tab<FPValue*>
 
#define TYPE_VALUE_TAB_BV_TYPE   Tab<Value*>
 
#define TYPE_DWORD_TAB_BV_TYPE   Tab<DWORD>
 
#define TYPE_bool_TAB_BV_TYPE   Tab<bool>
 
#define TYPE_INTPTR_TAB_BV_TYPE   Tab<INT_PTR>
 
#define TYPE_INT64_TAB_BV_TYPE   Tab<INT64>
 
#define TYPE_DOUBLE_TAB_BV_TYPE   Tab<double>
 
#define TYPE_BOX3_TAB_BV_TYPE   Tab<Box3*>
 
Property Macros

Turns getters and setters into maxscript properties

#define PROP_FNS(_getID, _getFn, _setID, _setFn, _ptype)
 Property Macro. More...
 
#define RO_PROP_FN(_getID, _getFn, _ptype)
 Read only Property Macro. More...
 
#define PROP_TFNS(_getID, _getFn, _setID, _setFn, _ptype)
 Property Macro with Time parameter. More...
 
#define RO_PROP_TFN(_getID, _getFn, _ptype)
 Read only Property Macro with Time parameter. More...
 
Static Method Macros

Property FN_MAP macros for the Static Method Interfaces used in MAXScript.

#define SM_PROP_FNS(_getID, _getFn, _setID, _setFn, _ptype)
 
#define SM_RO_PROP_FN(_getID, _getFn, _ptype)
 
#define SM_PROP_TFNS(_getID, _getFn, _setID, _setFn, _ptype)
 
#define SM_RO_PROP_TFN(_getID, _getFn, _ptype)
 
Function Macros with No Time.

Functions with return value, no time

#define FN_VA(_fid, _rtype, _f)
 
#define FN_0(_fid, _rtype, _f)
 
#define FN_1(_fid, _rtype, _f, _p1)
 
#define FN_2(_fid, _rtype, _f, _p1, _p2)
 
#define FN_3(_fid, _rtype, _f, _p1, _p2, _p3)
 
#define FN_4(_fid, _rtype, _f, _p1, _p2, _p3, _p4)
 
#define FN_5(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5)
 
#define FN_6(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6)
 
#define FN_7(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7)
 
#define FN_8(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8)
 
#define FN_9(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9)
 
#define FN_10(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p10)
 
#define FN_11(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p10, _p11)
 
Void Function Macros with No Time.

Specifies void functions that take no time parameter

#define VFN_VA(_fid, _f)
 
#define VFN_0(_fid, _f)
 
#define VFN_1(_fid, _f, _p1)
 
#define VFN_2(_fid, _f, _p1, _p2)
 
#define VFN_3(_fid, _f, _p1, _p2, _p3)
 
#define VFN_4(_fid, _f, _p1, _p2, _p3, _p4)
 
#define VFN_5(_fid, _f, _p1, _p2, _p3, _p4, _p5)
 
#define VFN_6(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6)
 
#define VFN_7(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7)
 
Const Return Function Macros

Specifies Functions with constant return values, with no time parameter.

#define CFN_VA(_fid, _rtype, _f)
 
#define CFN_0(_fid, _rtype, _f)
 
#define CFN_1(_fid, _rtype, _f, _p1)
 
#define CFN_2(_fid, _rtype, _f, _p1, _p2)
 
#define CFN_3(_fid, _rtype, _f, _p1, _p2, _p3)
 
#define CFN_4(_fid, _rtype, _f, _p1, _p2, _p3, _p4)
 
#define CFN_5(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5)
 
Value Returning Function Macros

Specifies Functions that return values, with time parameter.

#define FNT_VA(_fid, _rtype, _f)
 
#define FNT_0(_fid, _rtype, _f)
 
#define FNT_1(_fid, _rtype, _f, _p1)
 
#define FNT_2(_fid, _rtype, _f, _p1, _p2)
 
#define FNT_3(_fid, _rtype, _f, _p1, _p2, _p3)
 
#define FNT_4(_fid, _rtype, _f, _p1, _p2, _p3, _p4)
 
#define FNT_5(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5)
 
#define FNT_6(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6)
 
#define FNT_7(_fid, _rtype, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7)
 
Void Function (with time) Macros

Specifies void Functions, with time parameter.

#define VFNT_VA(_fid, _f)
 
#define VFNT_0(_fid, _f)
 
#define VFNT_1(_fid, _f, _p1)
 
#define VFNT_2(_fid, _f, _p1, _p2)
 
#define VFNT_3(_fid, _f, _p1, _p2, _p3)
 
#define VFNT_4(_fid, _f, _p1, _p2, _p3, _p4)
 
#define VFNT_5(_fid, _f, _p1, _p2, _p3, _p4, _p5)
 
#define VFNT_6(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6)
 
#define VFNT_7(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7)
 
#define VFNT_8(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8)
 
#define VFNT_9(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9)
 
#define VFNT_10(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p10)
 
#define VFNT_11(_fid, _f, _p1, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p10, _p11)
 

Typedefs

typedef int FPStatus
 
typedef short FunctionID
 ID for individual functions within an interface (local) More...
 
typedef short EnumID
 

Enumerations

enum  {
  f_category = -(1<<30), f_predicates, f_isEnabled, f_isChecked,
  f_isVisible, f_iconRes, f_icon, f_buttonText,
  f_toolTip, f_menuText, f_ui, f_shortCut,
  f_macroEmitter, f_range, f_validator, f_inOut,
  f_keyArgDefault, f_index
}
 

Functions

FPInterfaceGetFPInterface (BaseInterface *bi)
 
FPInterfaceDescGetFPInterfaceDesc (BaseInterface *bi)
 
FPMixinInterfaceGetFPMixinInterface (BaseInterface *bi)
 

Macro Definition Documentation

#define FP_NO_FUNCTION   ((FunctionID)-1)

Special ID indicating no function bound.

#define FP_NO_ENUM   ((EnumID)-1)
#define NULLINTERFACE_ID   Interface_ID(0, 0)
#define FPINTERFACE_ID   Interface_ID(0, 2)
#define FPMIXININTERFACE_ID   Interface_ID(0, 3)
#define FPINTERFACEDESC_ID   Interface_ID(0, 4)
#define FP_ACTIONS   0x0001
#define FP_MIXIN   0x0002
#define FP_CORE   0x0004
#define FP_STATIC_METHODS   0x0008
#define FP_TEST_INTERFACE   0x0010
#define FP_SCRIPTED_CLASS   0x1000
#define FP_TEMPORARY   0x2000
#define FP_NO_REDRAW   0x0001
#define FP_VAR_ARGS   0x0002
#define FP_CLIENT_OWNS_RESULT   0x0004
#define FP_ACTION   0x0100
#define FP_HAS_UI   0x0200
#define FP_ICONRES   0x0400
#define FP_ICONFILE   0x0800
#define FP_HAS_SHORTCUT   0x1000
#define FP_HAS_KEYARGS   0x2000
#define FPP_HAS_RANGE   0x0001
#define FPP_HAS_VALIDATOR   0x0002
#define FPP_IN_PARAM   0x0004
#define FPP_OUT_PARAM   0x0008
#define FPP_IN_OUT_PARAM   0x000C
#define FPP_KEYARG   0x0010
#define FPP_INDEX   0x0020
#define DECLARE_DESCRIPTOR (   _interface)
Value:
public: \
_interface() { } \
_interface(Interface_ID id, const MCHAR* name, \
StringResID descr, ClassDesc* cd, \
USHORT flags, ...) \
{ \
va_list ap; \
va_start(ap, flags); \
load_descriptor(id, name, descr, cd, flags, ap); \
va_end(ap); \
}
INT_PTR StringResID
Resource String ID, that points to the fixed internal name for a function published definition...
Definition: iparamb2Typedefs.h:24
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:42
Class descriptors provide the system with information about the plug-in classes in the DLL...
Definition: plugapi.h:928
Definition: maxtypes.h:202
#define DECLARE_DESCRIPTOR_INIT (   _interface)
Value:
public: \
_interface() { init(); } \
void init(); \
_interface(Interface_ID id, const MCHAR* name, \
StringResID descr, ClassDesc* cd, \
USHORT flags, ...) \
{ \
init(); \
va_list ap; \
va_start(ap, flags); \
load_descriptor(id, name, descr, cd, flags, ap); \
va_end(ap); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
INT_PTR StringResID
Resource String ID, that points to the fixed internal name for a function published definition...
Definition: iparamb2Typedefs.h:24
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:42
Class descriptors provide the system with information about the plug-in classes in the DLL...
Definition: plugapi.h:928
Definition: maxtypes.h:202
#define DECLARE_DESCRIPTOR_NDC (   _interface)
Value:
public: \
_interface(Interface_ID id, const MCHAR* name, \
StringResID descr, ClassDesc* cd, \
USHORT flags, ...) \
{ \
va_list ap; \
va_start(ap, flags); \
load_descriptor(id, name, descr, cd, flags, ap); \
va_end(ap); \
}
INT_PTR StringResID
Resource String ID, that points to the fixed internal name for a function published definition...
Definition: iparamb2Typedefs.h:24
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:42
Class descriptors provide the system with information about the plug-in classes in the DLL...
Definition: plugapi.h:928
Definition: maxtypes.h:202
#define DECLARE_DESCRIPTOR_INIT_NDC (   _interface)
Value:
public: \
void init(); \
_interface(Interface_ID id, const MCHAR* name, \
StringResID descr, ClassDesc* cd, \
USHORT flags, ...) \
{ \
init(); \
va_list ap; \
va_start(ap, flags); \
load_descriptor(id, name, descr, cd, flags, ap); \
va_end(ap); \
}
MAXMEM_EXTERN_C UtilExport void(__cdecl *MAX_free)(void *memblock)
INT_PTR StringResID
Resource String ID, that points to the fixed internal name for a function published definition...
Definition: iparamb2Typedefs.h:24
#define MCHAR
MBCS/Unicode helper defines std::wofstream doesn't mix well with Unicode.
Definition: strbasic.h:42
Class descriptors provide the system with information about the plug-in classes in the DLL...
Definition: plugapi.h:928
Definition: maxtypes.h:202
#define BEGIN_FUNCTION_MAP
Value:
public: \
FPStatus _dispatch_fn(FunctionID fid, TimeValue t, \
FPValue& result, FPParams* p) \
{ \
UNUSED_PARAM(result); \
FPStatus status = FPS_OK; \
switch (fid) \
{
short FunctionID
ID for individual functions within an interface (local)
Definition: ifnpub.h:51
int TimeValue
Definition: maxtypes.h:109
#define FPS_OK
Indicates a success.
Definition: ifnpub.h:104
This parameters class contains a MaxSDK::Array FPValue's.
Definition: ifnpub.h:925
Definition: ifnpub.h:1163
#define UNUSED_PARAM(x)
Definition: BuildWarnings.h:18
int FPStatus
Definition: ifnpub.h:47
#define BEGIN_FUNCTION_MAP_PARENT (   Parent)
Value:
public: \
FPStatus _dispatch_fn(FunctionID fid, TimeValue t, \
FPValue& result, FPParams* p) \
{ \
FPStatus status \
= Parent::_dispatch_fn(fid, t, result, p); \
if (status == FPS_OK) return status; \
status = FPS_OK; \
switch (fid) \
{
short FunctionID
ID for individual functions within an interface (local)
Definition: ifnpub.h:51
int TimeValue
Definition: maxtypes.h:109
#define FPS_OK
Indicates a success.
Definition: ifnpub.h:104
This parameters class contains a MaxSDK::Array FPValue's.
Definition: ifnpub.h:925
Definition: ifnpub.h:1163
int FPStatus
Definition: ifnpub.h:47
#define END_FUNCTION_MAP
Value:
default: status = FPS_NO_SUCH_FUNCTION; \
} \
return status; \
}
#define FPS_NO_SUCH_FUNCTION
The function called does not exist.
Definition: ifnpub.h:102
#define NO_FUNCTION_MAP
Value:
public: \
FPStatus _dispatch_fn(FunctionID fid, TimeValue t, \
FPValue& result, FPParams* p) \
{ \
}
short FunctionID
ID for individual functions within an interface (local)
Definition: ifnpub.h:51
#define FPS_NO_SUCH_FUNCTION
The function called does not exist.
Definition: ifnpub.h:102
int TimeValue
Definition: maxtypes.h:109
This parameters class contains a MaxSDK::Array FPValue's.
Definition: ifnpub.h:925
Definition: ifnpub.h:1163
int FPStatus
Definition: ifnpub.h:47
#define FP_FIELD (   _type,
  _v 
)    (_type##_FIELD(_v))
#define FN_ACTION (   _fid,
  _fn 
)
Value:
case _fid: \
status = _fn(); \
break;
#define FN_PRED (   _fid,
  _fn 
)
Value:
case _fid: \
result.Load(TYPE_BOOL, _fn()); \
break;
Identifies a BOOL parameter type.
Definition: paramtype.h:33
#define FN_PREDS (   _fid1,
  _fn1,
  _fid2,
  _fn2,
  _fid3,
  _fn3 
)
Value:
case _fid1: \
result.Load(TYPE_BOOL, _fn1()); \
break; \
case _fid2: \
result.Load(TYPE_BOOL, _fn2()); \
break; \
case _fid3: \
result.Load(TYPE_BOOL, _fn3()); \
break;
Identifies a BOOL parameter type.
Definition: paramtype.h:33
#define PROP_FNS (   _getID,
  _getFn,
  _setID,
  _setFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn())); \
break; \
case _setID: \
_setFn(FP_FIELD(_ptype, p->params[0])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671

Property Macro.

This takes five arguments:

Parameters
_getID- The enum associated with the getter function.
_getFn- The pointer to the getter function.
_setID- The enum associated with the setter function.
_setFn- The pointer to the setter function.
_ptype- An enum (ParamType or ParamType2) specifying the type of property.
#define RO_PROP_FN (   _getID,
  _getFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn())); \
break;

Read only Property Macro.

Same as PROP_FNS, except specifies a property that is read only, and has no associated setter function.

#define PROP_TFNS (   _getID,
  _getFn,
  _setID,
  _setFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(t))); \
break; \
case _setID: \
_setFn(FP_FIELD(_ptype, p->params[0]), t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671

Property Macro with Time parameter.

Same as PROP_FNS, except specifies an addition TimeValue is passed to the getter and setter functions.

#define RO_PROP_TFN (   _getID,
  _getFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(t))); \
break;

Read only Property Macro with Time parameter.

Same as PROP_TFNS, except specifies a property that is read only, and has no associated setter function.

#define SM_PROP_FNS (   _getID,
  _getFn,
  _setID,
  _setFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0])))); \
break; \
case _setID: \
_setFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0]), FP_FIELD(_ptype, p->params[1])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
Definition: paramtype.h:198
#define SM_RO_PROP_FN (   _getID,
  _getFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0]))));\
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
Definition: paramtype.h:198
#define SM_PROP_TFNS (   _getID,
  _getFn,
  _setID,
  _setFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0]), t)));\
break; \
case _setID: \
_setFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0]), FP_FIELD(_ptype, p->params[1]), t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
Definition: paramtype.h:198
#define SM_RO_PROP_TFN (   _getID,
  _getFn,
  _ptype 
)
Value:
case _getID: \
result.LoadPtr(_ptype, _ptype##_RSLT( \
_getFn(FP_FIELD(TYPE_FPVALUE_BR, p->params[0]), t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
Definition: paramtype.h:198
#define FN_VA (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(p))); \
break;
#define FN_0 (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f())); \
break;
#define FN_1 (   _fid,
  _rtype,
  _f,
  _p1 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_2 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_3 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_4 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_5 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_6 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_7 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_8 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_9 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_10 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9,
  _p10 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8]), \
FP_FIELD(_p10, p->params[9])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FN_11 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9,
  _p10,
  _p11 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8]), \
FP_FIELD(_p10, p->params[9]), \
FP_FIELD(_p11, p->params[10])))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_VA (   _fid,
  _f 
)
Value:
case _fid: \
_f(p); \
break;
#define VFN_0 (   _fid,
  _f 
)
Value:
case _fid: \
_f(); \
break;
#define VFN_1 (   _fid,
  _f,
  _p1 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_2 (   _fid,
  _f,
  _p1,
  _p2 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_3 (   _fid,
  _f,
  _p1,
  _p2,
  _p3 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_4 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_5 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_6 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFN_7 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6])); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define CFN_VA (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(p)))); \
break;
#define CFN_0 (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f()))); \
break;
#define CFN_1 (   _fid,
  _rtype,
  _f,
  _p1 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(FP_FIELD(_p1, p->params[0]))))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define CFN_2 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]))))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define CFN_3 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]))))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define CFN_4 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]))))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define CFN_5 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT(const_cast<_rtype##_TYPE>( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]))))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_VA (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(p, t))); \
break;
#define FNT_0 (   _fid,
  _rtype,
  _f 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(t))); \
break;
#define FNT_1 (   _fid,
  _rtype,
  _f,
  _p1 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_2 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_3 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_4 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_5 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_6 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define FNT_7 (   _fid,
  _rtype,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7 
)
Value:
case _fid: \
result.LoadPtr(_rtype, _rtype##_RSLT( \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
t))); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_VA (   _fid,
  _f 
)
Value:
case _fid: \
_f(p, t); \
break;
#define VFNT_0 (   _fid,
  _f 
)
Value:
case _fid: \
_f(t); \
break;
#define VFNT_1 (   _fid,
  _f,
  _p1 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_2 (   _fid,
  _f,
  _p1,
  _p2 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_3 (   _fid,
  _f,
  _p1,
  _p2,
  _p3 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_4 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_5 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_6 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_7 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_8 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_9 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_10 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9,
  _p10 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8]), \
FP_FIELD(_p10, p->params[9]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define VFNT_11 (   _fid,
  _f,
  _p1,
  _p2,
  _p3,
  _p4,
  _p5,
  _p6,
  _p7,
  _p8,
  _p9,
  _p10,
  _p11 
)
Value:
case _fid: \
_f(FP_FIELD(_p1, p->params[0]), \
FP_FIELD(_p2, p->params[1]), \
FP_FIELD(_p3, p->params[2]), \
FP_FIELD(_p4, p->params[3]), \
FP_FIELD(_p5, p->params[4]), \
FP_FIELD(_p6, p->params[5]), \
FP_FIELD(_p7, p->params[6]), \
FP_FIELD(_p8, p->params[7]), \
FP_FIELD(_p9, p->params[8]), \
FP_FIELD(_p10, p->params[9]), \
FP_FIELD(_p11, p->params[10]), \
t); \
break;
#define FP_FIELD(_type, _v)
Definition: ifnpub.h:1671
#define TYPE_FLOAT_FP_FIELD   f
#define TYPE_INT_FP_FIELD   i
#define TYPE_RGBA_FP_FIELD   p
#define TYPE_POINT3_FP_FIELD   p
#define TYPE_FRGBA_FP_FIELD   p4
#define TYPE_POINT4_FP_FIELD   p4
#define TYPE_BOOL_FP_FIELD   i
#define TYPE_ANGLE_FP_FIELD   f
#define TYPE_PCNT_FRAC_FP_FIELD   f
#define TYPE_WORLD_FP_FIELD   f
#define TYPE_STRING_FP_FIELD   s
#define TYPE_FILENAME_FP_FIELD   s
#define TYPE_HSV_FP_FIELD   p
#define TYPE_COLOR_CHANNEL_FP_FIELD   f
#define TYPE_TIMEVALUE_FP_FIELD   i
#define TYPE_RADIOBTN_INDEX_FP_FIELD   i
#define TYPE_MTL_FP_FIELD   mtl
#define TYPE_TEXMAP_FP_FIELD   tex
#define TYPE_BITMAP_FP_FIELD   bm
#define TYPE_INODE_FP_FIELD   n
#define TYPE_REFTARG_FP_FIELD   r
#define TYPE_INDEX_FP_FIELD   i
#define TYPE_MATRIX3_FP_FIELD   m
#define TYPE_VOID_FP_FIELD   void_paramtype_bad
#define TYPE_ENUM_FP_FIELD   i
#define TYPE_INTERVAL_FP_FIELD   intvl
#define TYPE_ANGAXIS_FP_FIELD   aa
#define TYPE_QUAT_FP_FIELD   q
#define TYPE_RAY_FP_FIELD   ray
#define TYPE_POINT2_FP_FIELD   p2
#define TYPE_BITARRAY_FP_FIELD   bits
#define TYPE_CLASS_FP_FIELD   cd
#define TYPE_MESH_FP_FIELD   msh
#define TYPE_OBJECT_FP_FIELD   obj
#define TYPE_CONTROL_FP_FIELD   ctrl
#define TYPE_POINT_FP_FIELD   pt
#define TYPE_TSTR_FP_FIELD   tstr
#define TYPE_IOBJECT_FP_FIELD   iobj
#define TYPE_INTERFACE_FP_FIELD   fpi
#define TYPE_HWND_FP_FIELD   hwnd
#define TYPE_NAME_FP_FIELD   s
#define TYPE_COLOR_FP_FIELD   clr
#define TYPE_ACOLOR_FP_FIELD   aclr
#define TYPE_FPVALUE_FP_FIELD   fpv
#define TYPE_VALUE_FP_FIELD   v
#define TYPE_DWORD_FP_FIELD   d
#define TYPE_bool_FP_FIELD   b
#define TYPE_INTPTR_FP_FIELD   intptr
#define TYPE_INT64_FP_FIELD   i64
#define TYPE_DOUBLE_FP_FIELD   dbl
#define TYPE_BOX3_FP_FIELD   b3
#define TYPE_FLOAT_TAB_FP_FIELD   f_tab
#define TYPE_INT_TAB_FP_FIELD   i_tab
#define TYPE_RGBA_TAB_FP_FIELD   p_tab
#define TYPE_POINT3_TAB_FP_FIELD   p_tab
#define TYPE_FRGBA_TAB_FP_FIELD   p4_tab
#define TYPE_POINT4_TAB_FP_FIELD   p4_tab
#define TYPE_BOOL_TAB_FP_FIELD   i_tab
#define TYPE_ANGLE_TAB_FP_FIELD   f_tab
#define TYPE_PCNT_FRAC_TAB_FP_FIELD   f_tab
#define TYPE_WORLD_TAB_FP_FIELD   f_tab
#define TYPE_STRING_TAB_FP_FIELD   s_tab
#define TYPE_FILENAME_TAB_FP_FIELD   s_tab
#define TYPE_HSV_TAB_FP_FIELD   p_tab
#define TYPE_COLOR_CHANNEL_TAB_FP_FIELD   f_tab
#define TYPE_TIMEVALUE_TAB_FP_FIELD   i_tab
#define TYPE_RADIOBTN_INDEX_TAB_FP_FIELD   i_tab
#define TYPE_MTL_TAB_FP_FIELD   mtl_tab
#define TYPE_TEXMAP_TAB_FP_FIELD   tex_tab
#define TYPE_BITMAP_TAB_FP_FIELD   bm_tab
#define TYPE_INODE_TAB_FP_FIELD   n_tab
#define TYPE_REFTARG_TAB_FP_FIELD   r_tab
#define TYPE_INDEX_TAB_FP_FIELD   i_tab
#define TYPE_MATRIX3_TAB_FP_FIELD   m3_tab
#define TYPE_ENUM_TAB_FP_FIELD   i_tab
#define TYPE_INTERVAL_TAB_FP_FIELD   intvl_tab
#define TYPE_ANGAXIS_TAB_FP_FIELD   aa_tab
#define TYPE_QUAT_TAB_FP_FIELD   q_tab
#define TYPE_RAY_TAB_FP_FIELD   ray_tab
#define TYPE_POINT2_TAB_FP_FIELD   p2_tab
#define TYPE_BITARRAY_TAB_FP_FIELD   bits_tab
#define TYPE_CLASS_TAB_FP_FIELD   cd_tab
#define TYPE_MESH_TAB_FP_FIELD   msh_tab
#define TYPE_OBJECT_TAB_FP_FIELD   obj_tab
#define TYPE_CONTROL_TAB_FP_FIELD   ctrl_tab
#define TYPE_POINT_TAB_FP_FIELD   pt_tab
#define TYPE_TSTR_TAB_FP_FIELD   tstr_tab
#define TYPE_IOBJECT_TAB_FP_FIELD   iobj_tab
#define TYPE_INTERFACE_TAB_FP_FIELD   fpi_tab
#define TYPE_HWND_TAB_FP_FIELD   hwnd_tab
#define TYPE_NAME_TAB_FP_FIELD   s_tab
#define TYPE_COLOR_TAB_FP_FIELD   clr_tab
#define TYPE_ACOLOR_TAB_FP_FIELD   aclr_tab
#define TYPE_FPVALUE_TAB_FP_FIELD   fpv_tab
#define TYPE_VALUE_TAB_FP_FIELD   v_tab
#define TYPE_DWORD_TAB_FP_FIELD   d_tab
#define TYPE_bool_TAB_FP_FIELD   b_tab
#define TYPE_INTPTR_TAB_FP_FIELD   intptr_tab
#define TYPE_INT64_TAB_FP_FIELD   i64_tab
#define TYPE_DOUBLE_TAB_FP_FIELD   dbl_tab
#define TYPE_BOX3_TAB_FP_FIELD   b3_tab
#define TYPE_FLOAT_BP_FP_FIELD   fptr
#define TYPE_INT_BP_FP_FIELD   iptr
#define TYPE_BOOL_BP_FP_FIELD   iptr
#define TYPE_ANGLE_BP_FP_FIELD   fptr
#define TYPE_PCNT_FRAC_BP_FP_FIELD   fptr
#define TYPE_WORLD_BP_FP_FIELD   fptr
#define TYPE_COLOR_CHANNEL_BP_FP_FIELD   fptr
#define TYPE_TIMEVALUE_BP_FP_FIELD   iptr
#define TYPE_RADIOBTN_INDEX_BP_FP_FIELD   iptr
#define TYPE_INDEX_BP_FP_FIELD   iptr
#define TYPE_ENUM_BP_FP_FIELD   iptr
#define TYPE_DWORD_BP_FP_FIELD   dptr
#define TYPE_bool_BP_FP_FIELD   bptr
#define TYPE_INTPTR_BP_FP_FIELD   intptrptr
#define TYPE_INT64_BP_FP_FIELD   i64ptr
#define TYPE_DOUBLE_BP_FP_FIELD   dblptr
#define TYPE_FLOAT_BR_FP_FIELD   fptr
#define TYPE_INT_BR_FP_FIELD   iptr
#define TYPE_RGBA_BR_FP_FIELD   p
#define TYPE_POINT3_BR_FP_FIELD   p
#define TYPE_FRGBA_BR_FP_FIELD   p4
#define TYPE_POINT4_BR_FP_FIELD   p4
#define TYPE_BOOL_BR_FP_FIELD   iptr
#define TYPE_ANGLE_BR_FP_FIELD   fptr
#define TYPE_PCNT_FRAC_BR_FP_FIELD   fptr
#define TYPE_WORLD_BR_FP_FIELD   fptr
#define TYPE_HSV_BR_FP_FIELD   p
#define TYPE_COLOR_CHANNEL_BR_FP_FIELD   f
#define TYPE_TIMEVALUE_BR_FP_FIELD   iptr
#define TYPE_RADIOBTN_INDEX_BR_FP_FIELD   iptr
#define TYPE_BITMAP_BR_FP_FIELD   bm
#define TYPE_INDEX_BR_FP_FIELD   iptr
#define TYPE_ENUM_BR_FP_FIELD   iptr
#define TYPE_REFTARG_BR_FP_FIELD   r
#define TYPE_MATRIX3_BR_FP_FIELD   m
#define TYPE_ANGAXIS_BR_FP_FIELD   aa
#define TYPE_QUAT_BR_FP_FIELD   q
#define TYPE_BITARRAY_BR_FP_FIELD   bits
#define TYPE_RAY_BR_FP_FIELD   ray
#define TYPE_POINT2_BR_FP_FIELD   p2
#define TYPE_MESH_BR_FP_FIELD   msh
#define TYPE_INTERVAL_BR_FP_FIELD   intvl
#define TYPE_POINT_BR_FP_FIELD   pt
#define TYPE_TSTR_BR_FP_FIELD   tstr
#define TYPE_COLOR_BR_FP_FIELD   clr
#define TYPE_ACOLOR_BR_FP_FIELD   aclr
#define TYPE_FPVALUE_BR_FP_FIELD   fpv
#define TYPE_DWORD_BR_FP_FIELD   dptr
#define TYPE_bool_BR_FP_FIELD   bptr
#define TYPE_INTPTR_BR_FP_FIELD   intptrptr
#define TYPE_INT64_BR_FP_FIELD   i64ptr
#define TYPE_DOUBLE_BR_FP_FIELD   dblptr
#define TYPE_BOX3_BR_FP_FIELD   b3
#define TYPE_FLOAT_TAB_BR_FP_FIELD   f_tab
#define TYPE_INT_TAB_BR_FP_FIELD   i_tab
#define TYPE_RGBA_TAB_BR_FP_FIELD   p_tab
#define TYPE_POINT3_TAB_BR_FP_FIELD   p_tab
#define TYPE_FRGBA_TAB_BR_FP_FIELD   p4_tab
#define TYPE_POINT4_TAB_BR_FP_FIELD   p4_tab
#define TYPE_BOOL_TAB_BR_FP_FIELD   i_tab
#define TYPE_ANGLE_TAB_BR_FP_FIELD   f_tab
#define TYPE_PCNT_FRAC_TAB_BR_FP_FIELD   f_tab
#define TYPE_WORLD_TAB_BR_FP_FIELD   f_tab
#define TYPE_STRING_TAB_BR_FP_FIELD   s_tab
#define TYPE_FILENAME_TAB_BR_FP_FIELD   s_tab
#define TYPE_HSV_TAB_BR_FP_FIELD   p_tab
#define TYPE_COLOR_CHANNEL_TAB_BR_FP_FIELD   f_tab
#define TYPE_TIMEVALUE_TAB_BR_FP_FIELD   i_tab
#define TYPE_RADIOBTN_INDEX_TAB_BR_FP_FIELD   i_tab
#define TYPE_MTL_TAB_BR_FP_FIELD   mtl_tab
#define TYPE_TEXMAP_TAB_BR_FP_FIELD   tex_tab
#define TYPE_BITMAP_TAB_BR_FP_FIELD   bm_tab
#define TYPE_INODE_TAB_BR_FP_FIELD   n_tab
#define TYPE_REFTARG_TAB_BR_FP_FIELD   r_tab
#define TYPE_INDEX_TAB_BR_FP_FIELD   i_tab
#define TYPE_ENUM_TAB_BR_FP_FIELD   i_tab
#define TYPE_MATRIX3_TAB_BR_FP_FIELD   m3_tab
#define TYPE_ANGAXIS_TAB_BR_FP_FIELD   aa_tab
#define TYPE_QUAT_TAB_BR_FP_FIELD   q_tab
#define TYPE_BITARRAY_TAB_BR_FP_FIELD   bits_tab
#define TYPE_CLASS_TAB_BR_FP_FIELD   cd_tab
#define TYPE_RAY_TAB_BR_FP_FIELD   ray_tab
#define TYPE_POINT2_TAB_BR_FP_FIELD   p2_tab
#define TYPE_MESH_TAB_BR_FP_FIELD   msh_tab
#define TYPE_OBJECT_TAB_BR_FP_FIELD   obj_tab
#define TYPE_CONTROL_TAB_BR_FP_FIELD   ctrl_tab
#define TYPE_INTERVAL_TAB_BR_FP_FIELD   intvl_tab
#define TYPE_POINT_TAB_BR_FP_FIELD   pt_tab
#define TYPE_HWND_TAB_BR_FP_FIELD   hwnd_tab
#define TYPE_TSTR_TAB_BR_FP_FIELD   tstr_tab
#define TYPE_IOBJECT_TAB_BR_FP_FIELD   iobj_tab
#define TYPE_INTERFACE_TAB_BR_FP_FIELD   fpi_tab
#define TYPE_NAME_TAB_BR_FP_FIELD   s_tab
#define TYPE_COLOR_TAB_BR_FP_FIELD   clr_tab
#define TYPE_ACOLOR_TAB_BR_FP_FIELD   aclr_tab
#define TYPE_FPVALUE_TAB_BR_FP_FIELD   fpv_tab
#define TYPE_VALUE_TAB_BR_FP_FIELD   v_tab
#define TYPE_DWORD_TAB_BR_FP_FIELD   d_tab
#define TYPE_bool_TAB_BR_FP_FIELD   b_tab
#define TYPE_INTPTR_TAB_BR_FP_FIELD   intptr_tab
#define TYPE_INT64_TAB_BR_FP_FIELD   i64_tab
#define TYPE_DOUBLE_TAB_BR_FP_FIELD   dbl_tab
#define TYPE_BOX3_TAB_BR_FP_FIELD   b3_tab
#define TYPE_RGBA_BV_FP_FIELD   p
#define TYPE_POINT3_BV_FP_FIELD   p
#define TYPE_FRGBA_BV_FP_FIELD   p4
#define TYPE_POINT4_BV_FP_FIELD   p4
#define TYPE_HSV_BV_FP_FIELD   p
#define TYPE_BITMAP_BV_FP_FIELD   bm
#define TYPE_MATRIX3_BV_FP_FIELD   m
#define TYPE_ANGAXIS_BV_FP_FIELD   aa
#define TYPE_QUAT_BV_FP_FIELD   q
#define TYPE_BITARRAY_BV_FP_FIELD   bits
#define TYPE_RAY_BV_FP_FIELD   ray
#define TYPE_POINT2_BV_FP_FIELD   p2
#define TYPE_MESH_BV_FP_FIELD   msh
#define TYPE_INTERVAL_BV_FP_FIELD   intvl
#define TYPE_POINT_BV_FP_FIELD   pt
#define TYPE_TSTR_BV_FP_FIELD   tstr
#define TYPE_COLOR_BV_FP_FIELD   clr
#define TYPE_ACOLOR_BV_FP_FIELD   aclr
#define TYPE_FPVALUE_BV_FP_FIELD   fpv
#define TYPE_CLASS_BV_FP_FIELD   cd
#define TYPE_BOX3_BV_FP_FIELD   b3
#define TYPE_FLOAT_TAB_BV_FP_FIELD   f_tab
#define TYPE_INT_TAB_BV_FP_FIELD   i_tab
#define TYPE_RGBA_TAB_BV_FP_FIELD   p_tab
#define TYPE_POINT3_TAB_BV_FP_FIELD   p_tab
#define TYPE_FRGBA_TAB_BV_FP_FIELD   p4_tab
#define TYPE_POINT4_TAB_BV_FP_FIELD   p4_tab
#define TYPE_BOOL_TAB_BV_FP_FIELD   i_tab
#define TYPE_ANGLE_TAB_BV_FP_FIELD   f_tab
#define TYPE_PCNT_FRAC_TAB_BV_FP_FIELD   f_tab
#define TYPE_WORLD_TAB_BV_FP_FIELD   f_tab
#define TYPE_STRING_TAB_BV_FP_FIELD   s_tab
#define TYPE_FILENAME_TAB_BV_FP_FIELD   s_tab
#define TYPE_HSV_TAB_BV_FP_FIELD   p_tab
#define TYPE_COLOR_CHANNEL_TAB_BV_FP_FIELD   f_tab
#define TYPE_TIMEVALUE_TAB_BV_FP_FIELD   i_tab
#define TYPE_RADIOBTN_INDEX_TAB_BV_FP_FIELD   i_tab
#define TYPE_MTL_TAB_BV_FP_FIELD   mtl_tab
#define TYPE_TEXMAP_TAB_BV_FP_FIELD   tex_tab
#define TYPE_BITMAP_TAB_BV_FP_FIELD   bm_tab
#define TYPE_INODE_TAB_BV_FP_FIELD   n_tab
#define TYPE_REFTARG_TAB_BV_FP_FIELD   r_tab
#define TYPE_INDEX_TAB_BV_FP_FIELD   i_tab
#define TYPE_ENUM_TAB_BV_FP_FIELD   i_tab
#define TYPE_MATRIX3_TAB_BV_FP_FIELD   m3_tab
#define TYPE_ANGAXIS_TAB_BV_FP_FIELD   aa_tab
#define TYPE_QUAT_TAB_BV_FP_FIELD   q_tab
#define TYPE_BITARRAY_TAB_BV_FP_FIELD   bits_tab
#define TYPE_CLASS_TAB_BV_FP_FIELD   cd_tab
#define TYPE_RAY_TAB_BV_FP_FIELD   ray_tab
#define TYPE_POINT2_TAB_BV_FP_FIELD   p2_tab
#define TYPE_MESH_TAB_BV_FP_FIELD   msh_tab
#define TYPE_OBJECT_TAB_BV_FP_FIELD   obj_tab
#define TYPE_CONTROL_TAB_BV_FP_FIELD   ctrl_tab
#define TYPE_INTERVAL_TAB_BV_FP_FIELD   intvl_tab
#define TYPE_POINT_TAB_BV_FP_FIELD   pt_tab
#define TYPE_HWND_TAB_BV_FP_FIELD   hwnd_tab
#define TYPE_TSTR_TAB_BV_FP_FIELD   tstr_tab
#define TYPE_IOBJECT_TAB_BV_FP_FIELD   iobj_tab
#define TYPE_INTERFACE_TAB_BV_FP_FIELD   fpi_tab
#define TYPE_NAME_TAB_BV_FP_FIELD   s_tab
#define TYPE_COLOR_TAB_BV_FP_FIELD   clr_tab
#define TYPE_ACOLOR_TAB_BV_FP_FIELD   aclr_tab
#define TYPE_FPVALUE_TAB_BV_FP_FIELD   fpv_tab
#define TYPE_VALUE_TAB_BV_FP_FIELD   v_tab
#define TYPE_DWORD_TAB_BV_FP_FIELD   d_tab
#define TYPE_bool_TAB_BV_FP_FIELD   b_tab
#define TYPE_INTPTR_TAB_BV_FP_FIELD   intptr_tab
#define TYPE_INT64_TAB_BV_FP_FIELD   i64_tab
#define TYPE_DOUBLE_TAB_BV_FP_FIELD   dbl_tab
#define TYPE_BOX3_TAB_BV_FP_FIELD   b3_tab
#define TYPE_FLOAT_FIELD (   _v)    (((_v).f))
#define TYPE_INT_FIELD (   _v)    (((_v).i))
#define TYPE_RGBA_FIELD (   _v)    (*((_v).p))
#define TYPE_POINT3_FIELD (   _v)    (*((_v).p))
#define TYPE_FRGBA_FIELD (   _v)    (*((_v).p4))
#define TYPE_POINT4_FIELD (   _v)    (*((_v).p4))
#define TYPE_BOOL_FIELD (   _v)    (((_v).i))
#define TYPE_ANGLE_FIELD (   _v)    (((_v).f))
#define TYPE_PCNT_FRAC_FIELD (   _v)    (((_v).f))
#define TYPE_WORLD_FIELD (   _v)    (((_v).f))
#define TYPE_STRING_FIELD (   _v)    (((_v).s))
#define TYPE_FILENAME_FIELD (   _v)    (((_v).s))
#define TYPE_HSV_FIELD (   _v)    (*((_v).p))
#define TYPE_COLOR_CHANNEL_FIELD (   _v)    (((_v).f))
#define TYPE_TIMEVALUE_FIELD (   _v)    (((_v).i))
#define TYPE_RADIOBTN_INDEX_FIELD (   _v)    (((_v).i))
#define TYPE_MTL_FIELD (   _v)    (((_v).mtl))
#define TYPE_TEXMAP_FIELD (   _v)    (((_v).tex))
#define TYPE_BITMAP_FIELD (   _v)    (((_v).bm))
#define TYPE_INODE_FIELD (   _v)    (((_v).n))
#define TYPE_REFTARG_FIELD (   _v)    (((_v).r))
#define TYPE_INDEX_FIELD (   _v)    (((_v).i))
#define TYPE_ENUM_FIELD (   _v)    (((_v).i))
#define TYPE_MATRIX3_FIELD (   _v)    (*((_v).m))
#define TYPE_ANGAXIS_FIELD (   _v)    (*((_v).aa))
#define TYPE_QUAT_FIELD (   _v)    (*((_v).q))
#define TYPE_BITARRAY_FIELD (   _v)    (((_v).bits))
#define TYPE_CLASS_FIELD (   _v)    (((_v).cd))
#define TYPE_RAY_FIELD (   _v)    (*((_v).ray))
#define TYPE_POINT2_FIELD (   _v)    (*((_v).p2))
#define TYPE_MESH_FIELD (   _v)    (((_v).msh))
#define TYPE_OBJECT_FIELD (   _v)    (((_v).obj))
#define TYPE_CONTROL_FIELD (   _v)    (((_v).ctrl))
#define TYPE_INTERVAL_FIELD (   _v)    (*((_v).intvl))
#define TYPE_POINT_FIELD (   _v)    (*((_v).pt))
#define TYPE_TSTR_FIELD (   _v)    (*((_v).tstr))
#define TYPE_IOBJECT_FIELD (   _v)    (((_v).iobj))
#define TYPE_INTERFACE_FIELD (   _v)    (((_v).fpi))
#define TYPE_HWND_FIELD (   _v)    (((_v).hwnd))
#define TYPE_NAME_FIELD (   _v)    (((_v).s))
#define TYPE_COLOR_FIELD (   _v)    (((_v).clr))
#define TYPE_ACOLOR_FIELD (   _v)    (((_v).aclr))
#define TYPE_FPVALUE_FIELD (   _v)    (((_v).fpv))
#define TYPE_VALUE_FIELD (   _v)    (((_v).v))
#define TYPE_DWORD_FIELD (   _v)    (((_v).d))
#define TYPE_bool_FIELD (   _v)    (((_v).b))
#define TYPE_INTPTR_FIELD (   _v)    (((_v).intptr))
#define TYPE_INT64_FIELD (   _v)    (((_v).i64))
#define TYPE_DOUBLE_FIELD (   _v)    (((_v).dbl))
#define TYPE_BOX3_FIELD (   _v)    (*((_v).b3))
#define TYPE_FLOAT_TAB_FIELD (   _v)    (((_v).f_tab))
#define TYPE_INT_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_RGBA_TAB_FIELD (   _v)    (((_v).p_tab))
#define TYPE_POINT3_TAB_FIELD (   _v)    (((_v).p_tab))
#define TYPE_FRGBA_TAB_FIELD (   _v)    (((_v).p4_tab))
#define TYPE_POINT4_TAB_FIELD (   _v)    (((_v).p4_tab))
#define TYPE_BOOL_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_ANGLE_TAB_FIELD (   _v)    (((_v).f_tab))
#define TYPE_PCNT_FRAC_TAB_FIELD (   _v)    (((_v).f_tab))
#define TYPE_WORLD_TAB_FIELD (   _v)    (((_v).f_tab))
#define TYPE_STRING_TAB_FIELD (   _v)    (((_v).s_tab))
#define TYPE_FILENAME_TAB_FIELD (   _v)    (((_v).s_tab))
#define TYPE_HSV_TAB_FIELD (   _v)    (((_v).p_tab))
#define TYPE_COLOR_CHANNEL_TAB_FIELD (   _v)    (((_v).f_tab))
#define TYPE_TIMEVALUE_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_RADIOBTN_INDEX_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_MTL_TAB_FIELD (   _v)    (((_v).mtl_tab))
#define TYPE_TEXMAP_TAB_FIELD (   _v)    (((_v).tex_tab))
#define TYPE_BITMAP_TAB_FIELD (   _v)    (((_v).bm_tab))
#define TYPE_INODE_TAB_FIELD (   _v)    (((_v).n_tab))
#define TYPE_REFTARG_TAB_FIELD (   _v)    (((_v).r_tab))
#define TYPE_INDEX_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_ENUM_TAB_FIELD (   _v)    (((_v).i_tab))
#define TYPE_MATRIX3_TAB_FIELD (   _v)    (((_v).m3_tab))
#define TYPE_ANGAXIS_TAB_FIELD (   _v)    (((_v).aa_tab))
#define TYPE_QUAT_TAB_FIELD (   _v)    (((_v).q_tab))
#define TYPE_BITARRAY_TAB_FIELD (   _v)    (((_v).bits_tab))
#define TYPE_CLASS_TAB_FIELD (   _v)    (((_v).cd_tab))
#define TYPE_RAY_TAB_FIELD (   _v)    (((_v).ray_tab))
#define TYPE_POINT2_TAB_FIELD (   _v)    (((_v).p2_tab))
#define TYPE_MESH_TAB_FIELD (   _v)    (((_v).msh_tab))
#define TYPE_OBJECT_TAB_FIELD (   _v)    (((_v).obj_tab))
#define TYPE_CONTROL_TAB_FIELD (   _v)    (((_v).ctrl_tab))
#define TYPE_INTERVAL_TAB_FIELD (   _v)    (((_v).intvl_tab))
#define TYPE_POINT_TAB_FIELD (   _v)    (((_v).pt_tab))
#define TYPE_TSTRT_TAB_FIELD (   _v)    (((_v).tstr_tab))
#define TYPE_IOBJECT_TAB_FIELD (   _v)    (((_v).iobj_tab))
#define TYPE_INTERFACE_TAB_FIELD (   _v)    (((_v).fpi_tab))
#define TYPE_HWND_TAB_FIELD (   _v)    (((_v).hwnd_tab))
#define TYPE_NAME_TAB_FIELD (   _v)    (((_v).s_tab))
#define TYPE_COLOR_TAB_FIELD (   _v)    (((_v).clr_tab))
#define TYPE_ACOLOR_TAB_FIELD (   _v)    (((_v).aclr_tab))
#define TYPE_FPVALUE_TAB_FIELD (   _v)    (((_v).fpv_tab))
#define TYPE_VALUE_TAB_FIELD (   _v)    (((_v).v_tab))
#define TYPE_DWORD_TAB_FIELD (   _v)    (((_v).d_tab))
#define TYPE_bool_TAB_FIELD (   _v)    (((_v).b_tab))
#define TYPE_INTPTR_TAB_FIELD (   _v)    (((_v).intptr_tab))
#define TYPE_INT64_TAB_FIELD (   _v)    (((_v).i64_tab))
#define TYPE_DOUBLE_TAB_FIELD (   _v)    (((_v).dbl_tab))
#define TYPE_BOX3_TAB_FIELD (   _v)    (((_v).b3_tab))
#define TYPE_FLOAT_BP_FIELD (   _v)    (((_v).fptr))
#define TYPE_INT_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_BOOL_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_ANGLE_BP_FIELD (   _v)    (((_v).fptr))
#define TYPE_PCNT_FRAC_BP_FIELD (   _v)    (((_v).fptr))
#define TYPE_WORLD_BP_FIELD (   _v)    (((_v).fptr))
#define TYPE_COLOR_CHANNEL_BP_FIELD (   _v)    (((_v).fptr))
#define TYPE_TIMEVALUE_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_RADIOBTN_INDEX_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_INDEX_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_ENUM_BP_FIELD (   _v)    (((_v).iptr))
#define TYPE_DWORD_BP_FIELD (   _v)    (((_v).dptr))
#define TYPE_bool_BP_FIELD (   _v)    (((_v).bptr))
#define TYPE_INTPTR_BP_FIELD (   _v)    (((_v).intptrptr))
#define TYPE_INT64_BP_FIELD (   _v)    (((_v).i64ptr))
#define TYPE_DOUBLE_BP_FIELD (   _v)    (((_v).dblptr))
#define TYPE_FLOAT_BR_FIELD (   _v)    (*((_v).fptr))
#define TYPE_INT_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_RGBA_BR_FIELD (   _v)    (*((_v).p))
#define TYPE_POINT3_BR_FIELD (   _v)    (*((_v).p))
#define TYPE_FRGBA_BR_FIELD (   _v)    (*((_v).p4))
#define TYPE_POINT4_BR_FIELD (   _v)    (*((_v).p4))
#define TYPE_BOOL_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_ANGLE_BR_FIELD (   _v)    (*((_v).fptr))
#define TYPE_PCNT_FRAC_BR_FIELD (   _v)    (*((_v).fptr))
#define TYPE_WORLD_BR_FIELD (   _v)    (*((_v).fptr))
#define TYPE_HSV_BR_FIELD (   _v)    (*((_v).p))
#define TYPE_COLOR_CHANNEL_BR_FIELD (   _v)    (*((_v).fptr))
#define TYPE_TIMEVALUE_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_RADIOBTN_INDEX_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_BITMAP_BR_FIELD (   _v)    (*((_v).bm))
#define TYPE_INDEX_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_ENUM_BR_FIELD (   _v)    (*((_v).iptr))
#define TYPE_REFTARG_BR_FIELD (   _v)    (*((_v).r))
#define TYPE_MATRIX3_BR_FIELD (   _v)    (*((_v).m))
#define TYPE_ANGAXIS_BR_FIELD (   _v)    (*((_v).aa))
#define TYPE_QUAT_BR_FIELD (   _v)    (*((_v).q))
#define TYPE_BITARRAY_BR_FIELD (   _v)    (*((_v).bits))
#define TYPE_RAY_BR_FIELD (   _v)    (*((_v).ray))
#define TYPE_POINT2_BR_FIELD (   _v)    (*((_v).p2))
#define TYPE_MESH_BR_FIELD (   _v)    (*((_v).msh))
#define TYPE_INTERVAL_BR_FIELD (   _v)    (*((_v).intvl))
#define TYPE_POINT_BR_FIELD (   _v)    (*((_v).pt))
#define TYPE_TSTR_BR_FIELD (   _v)    (*((_v).tstr))
#define TYPE_COLOR_BR_FIELD (   _v)    (*((_v).clr))
#define TYPE_ACOLOR_BR_FIELD (   _v)    (*((_v).aclr))
#define TYPE_FPVALUE_BR_FIELD (   _v)    (*((_v).fpv))
#define TYPE_DWORD_BR_FIELD (   _v)    (*((_v).dptr))
#define TYPE_bool_BR_FIELD (   _v)    (*((_v).bptr))
#define TYPE_INTPTR_BR_FIELD (   _v)    (*((_v).intptrptr))
#define TYPE_INT64_BR_FIELD (   _v)    (*((_v).i64ptr))
#define TYPE_DOUBLE_BR_FIELD (   _v)    (*((_v).dblptr))
#define TYPE_BOX3_BR_FIELD (   _v)    (*((_v).b3))
#define TYPE_FLOAT_TAB_BR_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_INT_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_RGBA_TAB_BR_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_POINT3_TAB_BR_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_FRGBA_TAB_BR_FIELD (   _v)    (*((_v).p4_tab))
#define TYPE_POINT4_TAB_BR_FIELD (   _v)    (*((_v).p4_tab))
#define TYPE_BOOL_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_ANGLE_TAB_BR_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_PCNT_FRAC_TAB_BR_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_WORLD_TAB_BR_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_STRING_TAB_BR_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_FILENAME_TAB_BR_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_HSV_TAB_BR_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_COLOR_CHANNEL_TAB_BR_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_TIMEVALUE_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_RADIOBTN_INDEX_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_MTL_TAB_BR_FIELD (   _v)    (*((_v).mtl_tab))
#define TYPE_TEXMAP_TAB_BR_FIELD (   _v)    (*((_v).tex_tab))
#define TYPE_BITMAP_TAB_BR_FIELD (   _v)    (*((_v).bm_tab))
#define TYPE_INODE_TAB_BR_FIELD (   _v)    (*((_v).n_tab))
#define TYPE_REFTARG_TAB_BR_FIELD (   _v)    (*((_v).r_tab))
#define TYPE_INDEX_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_ENUM_TAB_BR_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_MATRIX3_TAB_BR_FIELD (   _v)    (*((_v).m3_tab))
#define TYPE_ANGAXIS_TAB_BR_FIELD (   _v)    (*((_v).aa_tab))
#define TYPE_QUAT_TAB_BR_FIELD (   _v)    (*((_v).q_tab))
#define TYPE_BITARRAY_TAB_BR_FIELD (   _v)    (*((_v).bits_tab))
#define TYPE_CLASS_TAB_BR_FIELD (   _v)    (*((_v).cd_tab))
#define TYPE_RAY_TAB_BR_FIELD (   _v)    (*((_v).ray_tab))
#define TYPE_POINT2_TAB_BR_FIELD (   _v)    (*((_v).p2_tab))
#define TYPE_MESH_TAB_BR_FIELD (   _v)    (*((_v).msh_tab))
#define TYPE_OBJECT_TAB_BR_FIELD (   _v)    (*((_v).obj_tab))
#define TYPE_CONTROL_TAB_BR_FIELD (   _v)    (*((_v).ctrl_tab))
#define TYPE_INTERVAL_TAB_BR_FIELD (   _v)    (*((_v).intvl_tab))
#define TYPE_POINT_TAB_BR_FIELD (   _v)    (*((_v).pt_tab))
#define TYPE_HWND_TAB_BR_FIELD (   _v)    (*((_v).hwnd_tab))
#define TYPE_TSTR_TAB_BR_FIELD (   _v)    (*((_v).tstr_tab))
#define TYPE_IOBJECT_TAB_BR_FIELD (   _v)    (*((_v).iobj_tab))
#define TYPE_INTERFACE_TAB_BR_FIELD (   _v)    (*((_v).fpi_tab))
#define TYPE_NAME_TAB_BR_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_COLOR_TAB_BR_FIELD (   _v)    (*((_v).clr_tab))
#define TYPE_ACOLOR_TAB_BR_FIELD (   _v)    (*((_v).aclr_tab))
#define TYPE_FPVALUE_TAB_BR_FIELD (   _v)    (*((_v).fpv_tab))
#define TYPE_VALUE_TAB_BR_FIELD (   _v)    (*((_v).v_tab))
#define TYPE_DWORD_TAB_BR_FIELD (   _v)    (*((_v).d_tab))
#define TYPE_bool_TAB_BR_FIELD (   _v)    (*((_v).b_tab))
#define TYPE_INTPTR_TAB_BR_FIELD (   _v)    (*((_v).intptr_tab))
#define TYPE_INT64_TAB_BR_FIELD (   _v)    (*((_v).i64_tab))
#define TYPE_DOUBLE_TAB_BR_FIELD (   _v)    (*((_v).dbl_tab))
#define TYPE_BOX3_TAB_BR_FIELD (   _v)    (*((_v).b3_tab))
#define TYPE_RGBA_BV_FIELD (   _v)    (*((_v).p))
#define TYPE_POINT3_BV_FIELD (   _v)    (*((_v).p))
#define TYPE_HSV_BV_FIELD (   _v)    (*((_v).p))
#define TYPE_FRGBA_BV_FIELD (   _v)    (*((_v).p4))
#define TYPE_POINT4_BV_FIELD (   _v)    (*((_v).p4))
#define TYPE_BITMAP_BV_FIELD (   _v)    (*((_v).bm))
#define TYPE_MATRIX3_BV_FIELD (   _v)    (*((_v).m))
#define TYPE_ANGAXIS_BV_FIELD (   _v)    (*((_v).aa))
#define TYPE_QUAT_BV_FIELD (   _v)    (*((_v).q))
#define TYPE_BITARRAY_BV_FIELD (   _v)    (*((_v).bits))
#define TYPE_RAY_BV_FIELD (   _v)    (*((_v).ray))
#define TYPE_POINT2_BV_FIELD (   _v)    (*((_v).p2))
#define TYPE_MESH_BV_FIELD (   _v)    (*((_v).msh))
#define TYPE_INTERVAL_BV_FIELD (   _v)    (*((_v).intvl))
#define TYPE_POINT_BV_FIELD (   _v)    (*((_v).pt))
#define TYPE_TSTR_BV_FIELD (   _v)    (*((_v).tstr))
#define TYPE_COLOR_BV_FIELD (   _v)    (*((_v).clr))
#define TYPE_ACOLOR_BV_FIELD (   _v)    (*((_v).aclr))
#define TYPE_FPVALUE_BV_FIELD (   _v)    (*((_v).fpv))
#define TYPE_CLASS_BV_FIELD (   _v)    (*((_v).cd))
#define TYPE_BOX3_BV_FIELD (   _v)    (*((_v).b3))
#define TYPE_FLOAT_TAB_BV_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_INT_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_RGBA_TAB_BV_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_POINT3_TAB_BV_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_FRGBA_TAB_BV_FIELD (   _v)    (*((_v).p4_tab))
#define TYPE_POINT4_TAB_BV_FIELD (   _v)    (*((_v).p4_tab))
#define TYPE_BOOL_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_ANGLE_TAB_BV_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_PCNT_FRAC_TAB_BV_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_WORLD_TAB_BV_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_STRING_TAB_BV_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_FILENAME_TAB_BV_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_HSV_TAB_BV_FIELD (   _v)    (*((_v).p_tab))
#define TYPE_COLOR_CHANNEL_TAB_BV_FIELD (   _v)    (*((_v).f_tab))
#define TYPE_TIMEVALUE_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_RADIOBTN_INDEX_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_MTL_TAB_BV_FIELD (   _v)    (*((_v).mtl_tab))
#define TYPE_TEXMAP_TAB_BV_FIELD (   _v)    (*((_v).tex_tab))
#define TYPE_BITMAP_TAB_BV_FIELD (   _v)    (*((_v).bm_tab))
#define TYPE_INODE_TAB_BV_FIELD (   _v)    (*((_v).n_tab))
#define TYPE_REFTARG_TAB_BV_FIELD (   _v)    (*((_v).r_tab))
#define TYPE_INDEX_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_ENUM_TAB_BV_FIELD (   _v)    (*((_v).i_tab))
#define TYPE_MATRIX3_TAB_BV_FIELD (   _v)    (*((_v).m3_tab))
#define TYPE_ANGAXIS_TAB_BV_FIELD (   _v)    (*((_v).aa_tab))
#define TYPE_QUAT_TAB_BV_FIELD (   _v)    (*((_v).q_tab))
#define TYPE_BITARRAY_TAB_BV_FIELD (   _v)    (*((_v).bits_tab))
#define TYPE_CLASS_TAB_BV_FIELD (   _v)    (*((_v).cd_tab))
#define TYPE_RAY_TAB_BV_FIELD (   _v)    (*((_v).ray_tab))
#define TYPE_POINT2_TAB_BV_FIELD (   _v)    (*((_v).p2_tab))
#define TYPE_MESH_TAB_BV_FIELD (   _v)    (*((_v).msh_tab))
#define TYPE_OBJECT_TAB_BV_FIELD (   _v)    (*((_v).obj_tab))
#define TYPE_CONTROL_TAB_BV_FIELD (   _v)    (*((_v).ctrl_tab))
#define TYPE_INTERVAL_TAB_BV_FIELD (   _v)    (*((_v).intvl_tab))
#define TYPE_POINT_TAB_BV_FIELD (   _v)    (*((_v).pt_tab))
#define TYPE_HWND_TAB_BV_FIELD (   _v)    (*((_v).hwnd_tab))
#define TYPE_TSTR_TAB_BV_FIELD (   _v)    (*((_v).tstr_tab))
#define TYPE_IOBJECT_TAB_BV_FIELD (   _v)    (*((_v).iobj_tab))
#define TYPE_INTERFACE_TAB_BV_FIELD (   _v)    (*((_v).fpi_tab))
#define TYPE_NAME_TAB_BV_FIELD (   _v)    (*((_v).s_tab))
#define TYPE_COLOR_TAB_BV_FIELD (   _v)    (*((_v).clr_tab))
#define TYPE_ACOLOR_TAB_BV_FIELD (   _v)    (*((_v).aclr_tab))
#define TYPE_FPVALUE_TAB_BV_FIELD (   _v)    (*((_v).fpv_tab))
#define TYPE_VALUE_TAB_BV_FIELD (   _v)    (*((_v).v_tab))
#define TYPE_DWORD_TAB_BV_FIELD (   _v)    (*((_v).d_tab))
#define TYPE_bool_TAB_BV_FIELD (   _v)    (*((_v).b_tab))
#define TYPE_INTPTR_TAB_BV_FIELD (   _v)    (*((_v).intptr_tab))
#define TYPE_INT64_TAB_BV_FIELD (   _v)    (*((_v).i64_tab))
#define TYPE_DOUBLE_TAB_BV_FIELD (   _v)    (*((_v).dbl_tab))
#define TYPE_BOX3_TAB_BV_FIELD (   _v)    (*((_v).b3_tab))
#define TYPE_FLOAT_RSLT
#define TYPE_INT_RSLT
#define TYPE_RGBA_RSLT
#define TYPE_POINT3_RSLT
#define TYPE_FRGBA_RSLT
#define TYPE_POINT4_RSLT
#define TYPE_BOOL_RSLT
#define TYPE_ANGLE_RSLT
#define TYPE_PCNT_FRAC_RSLT
#define TYPE_WORLD_RSLT
#define TYPE_STRING_RSLT
#define TYPE_FILENAME_RSLT
#define TYPE_HSV_RSLT
#define TYPE_COLOR_CHANNEL_RSLT
#define TYPE_TIMEVALUE_RSLT
#define TYPE_RADIOBTN_INDEX_RSLT
#define TYPE_MTL_RSLT
#define TYPE_TEXMAP_RSLT
#define TYPE_BITMAP_RSLT
#define TYPE_INODE_RSLT
#define TYPE_REFTARG_RSLT
#define TYPE_INDEX_RSLT
#define TYPE_ENUM_RSLT
#define TYPE_MATRIX3_RSLT
#define TYPE_VOID_RSLT
#define TYPE_INTERVAL_RSLT
#define TYPE_ANGAXIS_RSLT
#define TYPE_QUAT_RSLT
#define TYPE_RAY_RSLT
#define TYPE_POINT2_RSLT
#define TYPE_BITARRAY_RSLT
#define TYPE_CLASS_RSLT
#define TYPE_MESH_RSLT
#define TYPE_OBJECT_RSLT
#define TYPE_CONTROL_RSLT
#define TYPE_POINT_RSLT
#define TYPE_TSTR_RSLT
#define TYPE_IOBJECT_RSLT
#define TYPE_INTERFACE_RSLT
#define TYPE_HWND_RSLT
#define TYPE_NAME_RSLT
#define TYPE_COLOR_RSLT
#define TYPE_ACOLOR_RSLT
#define TYPE_FPVALUE_RSLT
#define TYPE_VALUE_RSLT
#define TYPE_DWORD_RSLT
#define TYPE_bool_RSLT
#define TYPE_INTPTR_RSLT
#define TYPE_INT64_RSLT
#define TYPE_DOUBLE_RSLT
#define TYPE_BOX3_RSLT
#define TYPE_FLOAT_TAB_RSLT
#define TYPE_INT_TAB_RSLT
#define TYPE_RGBA_TAB_RSLT
#define TYPE_POINT3_TAB_RSLT
#define TYPE_FRGBA_TAB_RSLT
#define TYPE_POINT4_TAB_RSLT
#define TYPE_BOOL_TAB_RSLT
#define TYPE_ANGLE_TAB_RSLT
#define TYPE_PCNT_FRAC_TAB_RSLT
#define TYPE_WORLD_TAB_RSLT
#define TYPE_STRING_TAB_RSLT
#define TYPE_FILENAME_TAB_RSLT
#define TYPE_HSV_TAB_RSLT
#define TYPE_COLOR_CHANNEL_TAB_RSLT
#define TYPE_TIMEVALUE_TAB_RSLT
#define TYPE_RADIOBTN_INDEX_TAB_RSLT
#define TYPE_MTL_TAB_RSLT
#define TYPE_TEXMAP_TAB_RSLT
#define TYPE_BITMAP_TAB_RSLT
#define TYPE_INODE_TAB_RSLT
#define TYPE_REFTARG_TAB_RSLT
#define TYPE_INDEX_TAB_RSLT
#define TYPE_ENUM_TAB_RSLT
#define TYPE_MATRIX3_TAB_RSLT
#define TYPE_INTERVAL_TAB_RSLT
#define TYPE_ANGAXIS_TAB_RSLT
#define TYPE_QUAT_TAB_RSLT
#define TYPE_RAY_TAB_RSLT
#define TYPE_POINT2_TAB_RSLT
#define TYPE_BITARRAY_TAB_RSLT
#define TYPE_CLASS_TAB_RSLT
#define TYPE_MESH_TAB_RSLT
#define TYPE_OBJECT_TAB_RSLT
#define TYPE_CONTROL_TAB_RSLT
#define TYPE_POINT_TAB_RSLT
#define TYPE_TSTR_TAB_RSLT
#define TYPE_IOBJECT_TAB_RSLT
#define TYPE_INTERFACE_TAB_RSLT
#define TYPE_HWND_TAB_RSLT
#define TYPE_NAME_TAB_RSLT
#define TYPE_COLOR_TAB_RSLT
#define TYPE_ACOLOR_TAB_RSLT
#define TYPE_FPVALUE_TAB_RSLT
#define TYPE_VALUE_TAB_RSLT
#define TYPE_DWORD_TAB_RSLT
#define TYPE_bool_TAB_RSLT
#define TYPE_INTPTR_TAB_RSLT
#define TYPE_INT64_TAB_RSLT
#define TYPE_DOUBLE_TAB_RSLT
#define TYPE_BOX3_TAB_RSLT
#define TYPE_FLOAT_BP_RSLT
#define TYPE_INT_BP_RSLT
#define TYPE_BOOL_BP_RSLT
#define TYPE_ANGLE_BP_RSLT
#define TYPE_PCNT_FRAC_BP_RSLT
#define TYPE_WORLD_BP_RSLT
#define TYPE_COLOR_CHANNEL_BP_RSLT
#define TYPE_TIMEVALUE_BP_RSLT
#define TYPE_RADIOBTN_INDEX_BP_RSLT
#define TYPE_INDEX_BP_RSLT
#define TYPE_ENUM_BP_RSLT
#define TYPE_DWORD_BP_RSLT
#define TYPE_bool_BP_RSLT
#define TYPE_INTPTR_BP_RSLT
#define TYPE_INT64_BP_RSLT
#define TYPE_DOUBLE_BP_RSLT
#define TYPE_FLOAT_BR_RSLT   &
#define TYPE_INT_BR_RSLT   &
#define TYPE_RGBA_BR_RSLT   &
#define TYPE_POINT3_BR_RSLT   &
#define TYPE_FRGBA_BR_RSLT   &
#define TYPE_POINT4_BR_RSLT   &
#define TYPE_BOOL_BR_RSLT   &
#define TYPE_ANGLE_BR_RSLT   &
#define TYPE_PCNT_FRAC_BR_RSLT   &
#define TYPE_WORLD_BR_RSLT   &
#define TYPE_HSV_BR_RSLT   &
#define TYPE_COLOR_CHANNEL_BR_RSLT   &
#define TYPE_TIMEVALUE_BR_RSLT   &
#define TYPE_RADIOBTN_INDEX_BR_RSLT   &
#define TYPE_BITMAP_BR_RSLT   &
#define TYPE_INDEX_BR_RSLT   &
#define TYPE_ENUM_BR_RSLT   &
#define TYPE_REFTARG_BR_RSLT   &
#define TYPE_MATRIX3_BR_RSLT   &
#define TYPE_ANGAXIS_BR_RSLT   &
#define TYPE_QUAT_BR_RSLT   &
#define TYPE_BITARRAY_BR_RSLT   &
#define TYPE_RAY_BR_RSLT   &
#define TYPE_POINT2_BR_RSLT   &
#define TYPE_MESH_BR_RSLT   &
#define TYPE_INTERVAL_BR_RSLT   &
#define TYPE_POINT_BR_RSLT   &
#define TYPE_TSTR_BR_RSLT   &
#define TYPE_COLOR_BR_RSLT   &
#define TYPE_ACOLOR_BR_RSLT   &
#define TYPE_FPVALUE_BR_RSLT   &
#define TYPE_DWORD_BR_RSLT   &
#define TYPE_bool_BR_RSLT   &
#define TYPE_INTPTR_BR_RSLT   &
#define TYPE_INT64_BR_RSLT   &
#define TYPE_DOUBLE_BR_RSLT   &
#define TYPE_BOX3_BR_RSLT   &
#define TYPE_FLOAT_TAB_BR_RSLT   &
#define TYPE_INT_TAB_BR_RSLT   &
#define TYPE_RGBA_TAB_BR_RSLT   &
#define TYPE_POINT3_TAB_BR_RSLT   &
#define TYPE_FRGBA_TAB_BR_RSLT   &
#define TYPE_POINT4_TAB_BR_RSLT   &
#define TYPE_BOOL_TAB_BR_RSLT   &
#define TYPE_ANGLE_TAB_BR_RSLT   &
#define TYPE_PCNT_FRAC_TAB_BR_RSLT   &
#define TYPE_WORLD_TAB_BR_RSLT   &
#define TYPE_STRING_TAB_BR_RSLT   &
#define TYPE_FILENAME_TAB_BR_RSLT   &
#define TYPE_HSV_TAB_BR_RSLT   &
#define TYPE_COLOR_CHANNEL_TAB_BR_RSLT   &
#define TYPE_TIMEVALUE_TAB_BR_RSLT   &
#define TYPE_RADIOBTN_INDEX_TAB_BR_RSLT   &
#define TYPE_MTL_TAB_BR_RSLT   &
#define TYPE_TEXMAP_TAB_BR_RSLT   &
#define TYPE_BITMAP_TAB_BR_RSLT   &
#define TYPE_INODE_TAB_BR_RSLT   &
#define TYPE_REFTARG_TAB_BR_RSLT   &
#define TYPE_INDEX_TAB_BR_RSLT   &
#define TYPE_ENUM_TAB_BR_RSLT   &
#define TYPE_MATRIX3_TAB_BR_RSLT   &
#define TYPE_ANGAXIS_TAB_BR_RSLT   &
#define TYPE_QUAT_TAB_BR_RSLT   &
#define TYPE_BITARRAY_TAB_BR_RSLT   &
#define TYPE_CLASS_TAB_BR_RSLT   &
#define TYPE_RAY_TAB_BR_RSLT   &
#define TYPE_POINT2_TAB_BR_RSLT   &
#define TYPE_MESH_TAB_BR_RSLT   &
#define TYPE_OBJECT_TAB_BR_RSLT   &
#define TYPE_CONTROL_TAB_BR_RSLT   &
#define TYPE_INTERVAL_TAB_BR_RSLT   &
#define TYPE_POINT_TAB_BR_RSLT   &
#define TYPE_HWND_TAB_BR_RSLT   &
#define TYPE_TSTR_TAB_BR_RSLT   &
#define TYPE_IOBJECT_TAB_BR_RSLT   &
#define TYPE_INTERFACE_TAB_BR_RSLT   &
#define TYPE_NAME_TAB_BR_RSLT   &
#define TYPE_COLOR_TAB_BR_RSLT   &
#define TYPE_ACOLOR_TAB_BR_RSLT   &
#define TYPE_FPVALUE_TAB_BR_RSLT   &
#define TYPE_VALUE_TAB_BR_RSLT   &
#define TYPE_DWORD_TAB_BR_RSLT   &
#define TYPE_bool_TAB_BR_RSLT   &
#define TYPE_INTPTR_TAB_BR_RSLT   &
#define TYPE_INT64_TAB_BR_RSLT   &
#define TYPE_DOUBLE_TAB_BR_RSLT   &
#define TYPE_BOX3_TAB_BR_RSLT   &
#define TYPE_RGBA_BV_RSLT   &
#define TYPE_POINT3_BV_RSLT   &
#define TYPE_HSV_BV_RSLT   &
#define TYPE_FRGBA_BV_RSLT   &
#define TYPE_POINT4_BV_RSLT   &
#define TYPE_BITMAP_BV_RSLT   &
#define TYPE_MATRIX3_BV_RSLT   &
#define TYPE_ANGAXIS_BV_RSLT   &
#define TYPE_QUAT_BV_RSLT   &
#define TYPE_BITARRAY_BV_RSLT   &
#define TYPE_RAY_BV_RSLT   &
#define TYPE_POINT2_BV_RSLT   &
#define TYPE_MESH_BV_RSLT   &
#define TYPE_INTERVAL_BV_RSLT   &
#define TYPE_POINT_BV_RSLT   &
#define TYPE_TSTR_BV_RSLT   &
#define TYPE_COLOR_BV_RSLT   &
#define TYPE_ACOLOR_BV_RSLT   &
#define TYPE_FPVALUE_BV_RSLT   &
#define TYPE_CLASS_BV_RSLT   &
#define TYPE_BOX3_BV_RSLT   &
#define TYPE_FLOAT_TAB_BV_RSLT   &
#define TYPE_INT_TAB_BV_RSLT   &
#define TYPE_RGBA_TAB_BV_RSLT   &
#define TYPE_POINT3_TAB_BV_RSLT   &
#define TYPE_FRGBA_TAB_BV_RSLT   &
#define TYPE_POINT4_TAB_BV_RSLT   &
#define TYPE_BOOL_TAB_BV_RSLT   &
#define TYPE_ANGLE_TAB_BV_RSLT   &
#define TYPE_PCNT_FRAC_TAB_BV_RSLT   &
#define TYPE_WORLD_TAB_BV_RSLT   &
#define TYPE_STRING_TAB_BV_RSLT   &
#define TYPE_FILENAME_TAB_BV_RSLT   &
#define TYPE_HSV_TAB_BV_RSLT   &
#define TYPE_COLOR_CHANNEL_TAB_BV_RSLT   &
#define TYPE_TIMEVALUE_TAB_BV_RSLT   &
#define TYPE_RADIOBTN_INDEX_TAB_BV_RSLT   &
#define TYPE_MTL_TAB_BV_RSLT   &
#define TYPE_TEXMAP_TAB_BV_RSLT   &
#define TYPE_BITMAP_TAB_BV_RSLT   &
#define TYPE_INODE_TAB_BV_RSLT   &
#define TYPE_REFTARG_TAB_BV_RSLT   &
#define TYPE_INDEX_TAB_BV_RSLT   &
#define TYPE_ENUM_TAB_BV_RSLT   &
#define TYPE_MATRIX3_TAB_BV_RSLT   &
#define TYPE_ANGAXIS_TAB_BV_RSLT   &
#define TYPE_QUAT_TAB_BV_RSLT   &
#define TYPE_BITARRAY_TAB_BV_RSLT   &
#define TYPE_CLASS_TAB_BV_RSLT   &
#define TYPE_RAY_TAB_BV_RSLT   &
#define TYPE_POINT2_TAB_BV_RSLT   &
#define TYPE_MESH_TAB_BV_RSLT   &
#define TYPE_OBJECT_TAB_BV_RSLT   &
#define TYPE_CONTROL_TAB_BV_RSLT   &
#define TYPE_INTERVAL_TAB_BV_RSLT   &
#define TYPE_POINT_TAB_BV_RSLT   &
#define TYPE_HWND_TAB_BV_RSLT   &
#define TYPE_TSTR_TAB_BV_RSLT   &
#define TYPE_IOBJECT_TAB_BV_RSLT   &
#define TYPE_INTERFACE_TAB_BV_RSLT   &
#define TYPE_NAME_TAB_BV_RSLT   &
#define TYPE_COLOR_TAB_BV_RSLT   &
#define TYPE_ACOLOR_TAB_BV_RSLT   &
#define TYPE_FPVALUE_TAB_BV_RSLT   &
#define TYPE_VALUE_TAB_BV_RSLT   &
#define TYPE_DWORD_TAB_BV_RSLT   &
#define TYPE_bool_TAB_BV_RSLT   &
#define TYPE_INTPTR_TAB_BV_RSLT   &
#define TYPE_INT64_TAB_BV_RSLT   &
#define TYPE_DOUBLE_TAB_BV_RSLT   &
#define TYPE_BOX3_TAB_BV_RSLT   &
#define TYPE_FLOAT_TYPE   float
#define TYPE_INT_TYPE   int
#define TYPE_RGBA_TYPE   Point3
#define TYPE_POINT3_TYPE   Point3
#define TYPE_FRGBA_TYPE   Point4
#define TYPE_POINT4_TYPE   Point4
#define TYPE_BOOL_TYPE   BOOL
#define TYPE_ANGLE_TYPE   float
#define TYPE_PCNT_FRAC_TYPE   float
#define TYPE_WORLD_TYPE   float
#define TYPE_STRING_TYPE   const MCHAR*
#define TYPE_FILENAME_TYPE   const MCHAR*
#define TYPE_HSV_TYPE   Point3
#define TYPE_COLOR_CHANNEL_TYPE   float
#define TYPE_TIMEVALUE_TYPE   int
#define TYPE_RADIOBTN_INDEX_TYPE   int
#define TYPE_MTL_TYPE   Mtl*
#define TYPE_TEXMAP_TYPE   Texmap*
#define TYPE_BITMAP_TYPE   PBBitmap*
#define TYPE_INODE_TYPE   INode*
#define TYPE_REFTARG_TYPE   ReferenceTarget*
#define TYPE_INDEX_TYPE   int
#define TYPE_ENUM_TYPE   int
#define TYPE_MATRIX3_TYPE   Matrix*
#define TYPE_VOID_TYPE   void
#define TYPE_INTERVAL_TYPE   Interval*
#define TYPE_ANGAXIS_TYPE   AngAxis*
#define TYPE_QUAT_TYPE   Quat*
#define TYPE_RAY_TYPE   Ray*
#define TYPE_POINT2_TYPE   Point2*
#define TYPE_BITARRAY_TYPE   BitArray*
#define TYPE_CLASS_TYPE   ClassID*
#define TYPE_MESH_TYPE   Mesh*
#define TYPE_OBJECT_TYPE   Object*
#define TYPE_CONTROL_TYPE   Control*
#define TYPE_POINT_TYPE   POINT*
#define TYPE_TSTR_TYPE   MSTR*
#define TYPE_IOBJECT_TYPE   IObject*
#define TYPE_INTERFACE_TYPE   FPInterface*
#define TYPE_HWND_TYPE   HWND
#define TYPE_NAME_TYPE   const MCHAR*
#define TYPE_COLOR_TYPE   Color*
#define TYPE_ACOLOR_TYPE   AColor*
#define TYPE_FPVALUE_TYPE   FPValue*
#define TYPE_VALUE_TYPE   Value*
#define TYPE_DWORD_TYPE   DWORD
#define TYPE_bool_TYPE   bool
#define TYPE_INTPTR_TYPE   INT_PTR
#define TYPE_INT64_TYPE   INT64
#define TYPE_DOUBLE_TYPE   double
#define TYPE_BOX3_TYPE   Box3*
#define TYPE_FLOAT_TAB_TYPE   Tab<float>*
#define TYPE_INT_TAB_TYPE   Tab<int>*
#define TYPE_RGBA_TAB_TYPE   Tab<Point3>*
#define TYPE_POINT3_TAB_TYPE   Tab<Point3>*
#define TYPE_FRGBA_TAB_TYPE   Tab<Point4>*
#define TYPE_POINT4_TAB_TYPE   Tab<Point4>*
#define TYPE_BOOL_TAB_TYPE   Tab<BOOL>*
#define TYPE_ANGLE_TAB_TYPE   Tab<float>*
#define TYPE_PCNT_FRAC_TAB_TYPE   Tab<float>*
#define TYPE_WORLD_TAB_TYPE   Tab<float>*
#define TYPE_STRING_TAB_TYPE   Tab<const MCHAR*>*
#define TYPE_FILENAME_TAB_TYPE   Tab<const MCHAR*>*
#define TYPE_HSV_TAB_TYPE   Tab<Point3>*
#define TYPE_COLOR_CHANNEL_TAB_TYPE   Tab<float>*
#define TYPE_TIMEVALUE_TAB_TYPE   Tab<int>*
#define TYPE_RADIOBTN_INDEX_TAB_TYPE   Tab<int>*
#define TYPE_MTL_TAB_TYPE   Tab<Mtl*>*
#define TYPE_TEXMAP_TAB_TYPE   Tab<Texmap*>*
#define TYPE_BITMAP_TAB_TYPE   Tab<PBBitmap*>*
#define TYPE_INODE_TAB_TYPE   Tab<INode*>*
#define TYPE_REFTARG_TAB_TYPE   Tab<ReferenceTarget*>*
#define TYPE_INDEX_TAB_TYPE   Tab<int>*
#define TYPE_ENUM_TAB_TYPE   Tab<int>*
#define TYPE_MATRIX3_TAB_TYPE   Tab<Matrix*>*
#define TYPE_VOID_TAB_TYPE   Tab<void>*
#define TYPE_INTERVAL_TAB_TYPE   Tab<Interval*>*
#define TYPE_ANGAXIS_TAB_TYPE   Tab<AngAxis*>*
#define TYPE_QUAT_TAB_TYPE   Tab<Quat*>*
#define TYPE_RAY_TAB_TYPE   Tab<Ray*>*
#define TYPE_POINT2_TAB_TYPE   Tab<Point2*>*
#define TYPE_BITARRAY_TAB_TYPE   Tab<BitArray*>*
#define TYPE_CLASS_TAB_TYPE   Tab<ClassID*>*
#define TYPE_MESH_TAB_TYPE   Tab<Mesh*>*
#define TYPE_OBJECT_TAB_TYPE   Tab<Object*>*
#define TYPE_CONTROL_TAB_TYPE   Tab<Control*>*
#define TYPE_POINT_TAB_TYPE   Tab<POINT*>*
#define TYPE_TSTR_TAB_TYPE   Tab<MSTR*>*
#define TYPE_IOBJECT_TAB_TYPE   Tab<IObject*>*
#define TYPE_INTERFACE_TAB_TYPE   Tab<FPInterface*>*
#define TYPE_HWND_TAB_TYPE   Tab<HWND>*
#define TYPE_NAME_TAB_TYPE   Tab<const MCHAR*>*
#define TYPE_COLOR_TAB_TYPE   Tab<Color*>*
#define TYPE_ACOLOR_TAB_TYPE   Tab<AColor*>*
#define TYPE_FPVALUE_TAB_TYPE   Tab<FPValue*>*
#define TYPE_VALUE_TAB_TYPE   Tab<Value*>*
#define TYPE_DWORD_TAB_TYPE   Tab<DWORD>*
#define TYPE_bool_TAB_TYPE   Tab<bool>*
#define TYPE_INTPTR_TAB_TYPE   Tab<INT_PTR>*
#define TYPE_INT64_TAB_TYPE   Tab<INT64>*
#define TYPE_DOUBLE_TAB_TYPE   Tab<double>*
#define TYPE_BOX3_TAB_TYPE   Tab<Box3*>*
#define TYPE_FLOAT_BP_TYPE   float*
#define TYPE_INT_BP_TYPE   int*
#define TYPE_BOOL_BP_TYPE   int*
#define TYPE_ANGLE_BP_TYPE   float*
#define TYPE_PCNT_FRAC_BP_TYPE   float*
#define TYPE_WORLD_BP_TYPE   float*
#define TYPE_COLOR_CHANNEL_BP_TYPE   float*
#define TYPE_TIMEVALUE_BP_TYPE   int*
#define TYPE_RADIOBTN_INDEX_BP_TYPE   int*
#define TYPE_INDEX_BP_TYPE   int*
#define TYPE_ENUM_BP_TYPE   int*
#define TYPE_DWORD_BP_TYPE   DWORD*
#define TYPE_bool_BP_TYPE   bool*
#define TYPE_INTPTR_BP_TYPE   INT_PTR*
#define TYPE_INT64_BP_TYPE   INT64*
#define TYPE_DOUBLE_BP_TYPE   double*
#define TYPE_FLOAT_BR_TYPE   float&
#define TYPE_INT_BR_TYPE   int&
#define TYPE_RGBA_BR_TYPE   Point3&
#define TYPE_POINT3_BR_TYPE   Point3&
#define TYPE_FRGBA_BR_TYPE   Point4&
#define TYPE_POINT4_BR_TYPE   Point4&
#define TYPE_BOOL_BR_TYPE   int&
#define TYPE_ANGLE_BR_TYPE   float&
#define TYPE_PCNT_FRAC_BR_TYPE   float&
#define TYPE_WORLD_BR_TYPE   float&
#define TYPE_HSV_BR_TYPE   Point3&
#define TYPE_COLOR_CHANNEL_BR_TYPE   float&
#define TYPE_TIMEVALUE_BR_TYPE   int&
#define TYPE_RADIOBTN_INDEX_BR_TYPE   int&
#define TYPE_BITMAP_BR_TYPE   PBBitmap&
#define TYPE_INDEX_BR_TYPE   int&
#define TYPE_ENUM_BR_TYPE   int&
#define TYPE_REFTARG_BR_TYPE   ReferenceTarget&
#define TYPE_MATRIX3_BR_TYPE   Matrix3&
#define TYPE_ANGAXIS_BR_TYPE   AngAxis&
#define TYPE_QUAT_BR_TYPE   Quat&
#define TYPE_BITARRAY_BR_TYPE   BitArray&
#define TYPE_RAY_BR_TYPE   Ray&
#define TYPE_POINT2_BR_TYPE   Point2&
#define TYPE_MESH_BR_TYPE   Mesh&
#define TYPE_INTERVAL_BR_TYPE   Interval&
#define TYPE_POINT_BR_TYPE   POINT&
#define TYPE_TSTR_BR_TYPE   MSTR&
#define TYPE_COLOR_BR_TYPE   Color&
#define TYPE_ACOLOR_BR_TYPE   AColor&
#define TYPE_FPVALUE_BR_TYPE   FPValue&
#define TYPE_DWORD_BR_TYPE   DWORD&
#define TYPE_bool_BR_TYPE   bool&
#define TYPE_INTPTR_BR_TYPE   INT_PTR&
#define TYPE_INT64_BR_TYPE   INT64&
#define TYPE_DOUBLE_BR_TYPE   double&
#define TYPE_BOX3_BR_TYPE   Box3&
#define TYPE_FLOAT_TAB_BR_TYPE   Tab<float>&
#define TYPE_INT_TAB_BR_TYPE   Tab<int>&
#define TYPE_RGBA_TAB_BR_TYPE   Tab<Point3>&
#define TYPE_POINT3_TAB_BR_TYPE   Tab<Point3>&
#define TYPE_FRGBA_TAB_BR_TYPE   Tab<Point4>&
#define TYPE_POINT4_TAB_BR_TYPE   Tab<Point4>&
#define TYPE_BOOL_TAB_BR_TYPE   Tab<BOOL>&
#define TYPE_ANGLE_TAB_BR_TYPE   Tab<float>&
#define TYPE_PCNT_FRAC_TAB_BR_TYPE   Tab<float>&
#define TYPE_WORLD_TAB_BR_TYPE   Tab<float>&
#define TYPE_STRING_TAB_BR_TYPE   Tab<const MCHAR*>&
#define TYPE_FILENAME_TAB_BR_TYPE   Tab<const MCHAR*>&
#define TYPE_HSV_TAB_BR_TYPE   Tab<Point3>&
#define TYPE_COLOR_CHANNEL_TAB_BR_TYPE   Tab<float>&
#define TYPE_TIMEVALUE_TAB_BR_TYPE   Tab<int>&
#define TYPE_RADIOBTN_INDEX_TAB_BR_TYPE   Tab<int>&
#define TYPE_MTL_TAB_BR_TYPE   Tab<Mtl*>&
#define TYPE_TEXMAP_TAB_BR_TYPE   Tab<Texmap*>&
#define TYPE_BITMAP_TAB_BR_TYPE   Tab<PBBitmap*>&
#define TYPE_INODE_TAB_BR_TYPE   Tab<INode*>&
#define TYPE_REFTARG_TAB_BR_TYPE   Tab<ReferenceTarget*>&
#define TYPE_INDEX_TAB_BR_TYPE   Tab<int>&
#define TYPE_ENUM_TAB_BR_TYPE   Tab<int>&
#define TYPE_MATRIX3_TAB_BR_TYPE   Tab<Matrix*>&
#define TYPE_VOID_TAB_BR_TYPE   Tab<void>&
#define TYPE_INTERVAL_TAB_BR_TYPE   Tab<Interval*>&
#define TYPE_ANGAXIS_TAB_BR_TYPE   Tab<AngAxis*>&
#define TYPE_QUAT_TAB_BR_TYPE   Tab<Quat*>&
#define TYPE_RAY_TAB_BR_TYPE   Tab<Ray*>&
#define TYPE_POINT2_TAB_BR_TYPE   Tab<Point2*>&
#define TYPE_BITARRAY_TAB_BR_TYPE   Tab<BitArray*>&
#define TYPE_CLASS_TAB_BR_TYPE   Tab<ClassID*>&
#define TYPE_MESH_TAB_BR_TYPE   Tab<Mesh*>&
#define TYPE_OBJECT_TAB_BR_TYPE   Tab<Object*>&
#define TYPE_CONTROL_TAB_BR_TYPE   Tab<Control*>&
#define TYPE_POINT_TAB_BR_TYPE   Tab<POINT*>&
#define TYPE_TSTR_TAB_BR_TYPE   Tab<MSTR*>&
#define TYPE_IOBJECT_TAB_BR_TYPE   Tab<IObject*>&
#define TYPE_INTERFACE_TAB_BR_TYPE   Tab<FPInterface*>&
#define TYPE_HWND_TAB_BR_TYPE   Tab<HWND>&
#define TYPE_NAME_TAB_BR_TYPE   Tab<const MCHAR*>&
#define TYPE_COLOR_TAB_BR_TYPE   Tab<Color*>&
#define TYPE_ACOLOR_TAB_BR_TYPE   Tab<AColor*>&
#define TYPE_FPVALUE_TAB_BR_TYPE   Tab<FPValue*>&
#define TYPE_VALUE_TAB_BR_TYPE   Tab<Value*>&
#define TYPE_DWORD_TAB_BR_TYPE   Tab<DWORD>&
#define TYPE_bool_TAB_BR_TYPE   Tab<bool>&
#define TYPE_INTPTR_TAB_BR_TYPE   Tab<INT_PTR>&
#define TYPE_INT64_TAB_BR_TYPE   Tab<INT64>&
#define TYPE_DOUBLE_TAB_BR_TYPE   Tab<double>&
#define TYPE_BOX3_TAB_BR_TYPE   Tab<Box3>&
#define TYPE_RGBA_BV_TYPE   Point3
#define TYPE_POINT3_BV_TYPE   Point3
#define TYPE_HSV_BV_TYPE   Point3
#define TYPE_FRGBA_BV_TYPE   Point4
#define TYPE_POINT4_BV_TYPE   Point4
#define TYPE_BITMAP_BV_TYPE   PBBitmap
#define TYPE_MATRIX3_BV_TYPE   Matrix3
#define TYPE_ANGAXIS_BV_TYPE   AngAxis
#define TYPE_QUAT_BV_TYPE   Quat
#define TYPE_BITARRAY_BV_TYPE   BitArray
#define TYPE_RAY_BV_TYPE   Ray
#define TYPE_POINT2_BV_TYPE   Point2
#define TYPE_MESH_BV_TYPE   Mesh
#define TYPE_INTERVAL_BV_TYPE   Interval
#define TYPE_POINT_BV_TYPE   POINT
#define TYPE_TSTR_BV_TYPE   MSTR
#define TYPE_COLOR_BV_TYPE   Color
#define TYPE_ACOLOR_BV_TYPE   AColor
#define TYPE_FPVALUE_BV_TYPE   FPValue
#define TYPE_CLASS_BV_TYPE   ClassID
#define TYPE_BOX3_BV_TYPE   Box3
#define TYPE_FLOAT_TAB_BV_TYPE   Tab<float>
#define TYPE_INT_TAB_BV_TYPE   Tab<int>
#define TYPE_RGBA_TAB_BV_TYPE   Tab<Point3>
#define TYPE_POINT3_TAB_BV_TYPE   Tab<Point3>
#define TYPE_FRGBA_TAB_BV_TYPE   Tab<Point4>
#define TYPE_POINT4_TAB_BV_TYPE   Tab<Point4>
#define TYPE_BOOL_TAB_BV_TYPE   Tab<BOOL>
#define TYPE_ANGLE_TAB_BV_TYPE   Tab<float>
#define TYPE_PCNT_FRAC_TAB_BV_TYPE   Tab<float>
#define TYPE_WORLD_TAB_BV_TYPE   Tab<float>
#define TYPE_STRING_TAB_BV_TYPE   Tab<const MCHAR*>
#define TYPE_FILENAME_TAB_BV_TYPE   Tab<const MCHAR*>
#define TYPE_HSV_TAB_BV_TYPE   Tab<Point3>
#define TYPE_COLOR_CHANNEL_TAB_BV_TYPE   Tab<float>
#define TYPE_TIMEVALUE_TAB_BV_TYPE   Tab<int>
#define TYPE_RADIOBTN_INDEX_TAB_BV_TYPE   Tab<int>
#define TYPE_MTL_TAB_BV_TYPE   Tab<Mtl*>
#define TYPE_TEXMAP_TAB_BV_TYPE   Tab<Texmap*>
#define TYPE_BITMAP_TAB_BV_TYPE   Tab<PBBitmap*>
#define TYPE_INODE_TAB_BV_TYPE   Tab<INode*>
#define TYPE_REFTARG_TAB_BV_TYPE   Tab<ReferenceTarget*>
#define TYPE_INDEX_TAB_BV_TYPE   Tab<int>
#define TYPE_ENUM_TAB_BV_TYPE   Tab<int>
#define TYPE_MATRIX3_TAB_BV_TYPE   Tab<Matrix*>
#define TYPE_VOID_TAB_BV_TYPE   Tab<void>
#define TYPE_INTERVAL_TAB_BV_TYPE   Tab<Interval*>
#define TYPE_ANGAXIS_TAB_BV_TYPE   Tab<AngAxis*>
#define TYPE_QUAT_TAB_BV_TYPE   Tab<Quat*>
#define TYPE_RAY_TAB_BV_TYPE   Tab<Ray*>
#define TYPE_POINT2_TAB_BV_TYPE   Tab<Point2*>
#define TYPE_BITARRAY_TAB_BV_TYPE   Tab<BitArray*>
#define TYPE_CLASS_TAB_BV_TYPE   Tab<ClassID*>
#define TYPE_MESH_TAB_BV_TYPE   Tab<Mesh*>
#define TYPE_OBJECT_TAB_BV_TYPE   Tab<Object*>
#define TYPE_CONTROL_TAB_BV_TYPE   Tab<Control*>
#define TYPE_POINT_TAB_BV_TYPE   Tab<POINT*>
#define TYPE_TSTR_TAB_BV_TYPE   Tab<MSTR*>
#define TYPE_IOBJECT_TAB_BV_TYPE   Tab<IObject*>
#define TYPE_INTERFACE_TAB_BV_TYPE   Tab<FPInterface*>
#define TYPE_HWND_TAB_BV_TYPE   Tab<HWND>
#define TYPE_NAME_TAB_BV_TYPE   Tab<const MCHAR*>
#define TYPE_COLOR_TAB_BV_TYPE   Tab<Color*>
#define TYPE_ACOLOR_TAB_BV_TYPE   Tab<AColor*>
#define TYPE_FPVALUE_TAB_BV_TYPE   Tab<FPValue*>
#define TYPE_VALUE_TAB_BV_TYPE   Tab<Value*>
#define TYPE_DWORD_TAB_BV_TYPE   Tab<DWORD>
#define TYPE_bool_TAB_BV_TYPE   Tab<bool>
#define TYPE_INTPTR_TAB_BV_TYPE   Tab<INT_PTR>
#define TYPE_INT64_TAB_BV_TYPE   Tab<INT64>
#define TYPE_DOUBLE_TAB_BV_TYPE   Tab<double>
#define TYPE_BOX3_TAB_BV_TYPE   Tab<Box3*>

Typedef Documentation

typedef int FPStatus
typedef short FunctionID

ID for individual functions within an interface (local)

typedef short EnumID

Enumeration Type Documentation

anonymous enum
Enumerator
f_category 
f_predicates 
f_isEnabled 
f_isChecked 
f_isVisible 
f_iconRes 
f_icon 
f_buttonText 
f_toolTip 
f_menuText 
f_ui 
f_shortCut 
f_macroEmitter 
f_range 
f_validator 
f_inOut 
f_keyArgDefault 
f_index 
827  {
828  // Action options
829  f_category = -(1<<30), // category name, as internal MCHAR* and localizable string resID, defaults to interface name
830  f_predicates, // supply 3 functionIDs for isEnabled, isChecked, isVisible predicates
831  f_isEnabled, // isEnabled predicate functionID
832  f_isChecked, // isChecked predicate functionID
833  f_isVisible, // isVisible predicate functionID
834  f_iconRes, // icon as resource ID
835  f_icon, // icon as UI .bmp filename, index pair, as per CUI icon specifications
836  f_buttonText, // button text string resID, defaults to function description
837  f_toolTip, // tooltip string resID, defaults to function description
838  f_menuText, // menu item text string resID, defaults to buttonText or function description
839  f_ui, // UI spec if paramMap2-implemented UI (pmap blockID, mapID, control type, button or checkbutton resID, hilight col if chkbtn)
840  f_shortCut, // default keyboard short cut, as pair: virt ACCEL flags word, keycode (first two items in Win32 ACCEL struct)
841  f_macroEmitter, // provide callback object to handle macro emmission
842  // param options
843  f_range, // valid range, two type-specific vals
844  f_validator, // validator object, FPValidator*
845  f_inOut, // in, out flags FPP_IN_PARM, FPP_OUT_PARAM or both, defaults to both
846  f_keyArgDefault, // marks this as an optional keyArg param and gives default value which must me of type to match param type
847  f_index, // no args, of present indicates values used as indexes, client can map own origin to always 0-origin internally
848 };
Definition: ifnpub.h:831
Definition: ifnpub.h:832
Definition: ifnpub.h:840
Definition: ifnpub.h:843
Definition: ifnpub.h:839
Definition: ifnpub.h:846
Definition: ifnpub.h:838
Definition: ifnpub.h:837
Definition: ifnpub.h:836
Definition: ifnpub.h:834
Definition: ifnpub.h:833
Definition: ifnpub.h:841
Definition: ifnpub.h:835
Definition: ifnpub.h:845
Definition: ifnpub.h:844
Definition: ifnpub.h:830
Definition: ifnpub.h:847
Definition: ifnpub.h:829

Function Documentation

FPInterface* GetFPInterface ( BaseInterface bi)
inline
65 { return reinterpret_cast<FPInterface*>( bi->GetInterface(FPINTERFACE_ID)); }
#define FPINTERFACE_ID
Definition: ifnpub.h:60
Definition: ifnpub.h:131
UtilExport BaseInterface * GetInterface(Interface_ID id)
FPInterfaceDesc* GetFPInterfaceDesc ( BaseInterface bi)
inline
66 { return reinterpret_cast<FPInterfaceDesc*>( bi->GetInterface(FPINTERFACEDESC_ID)); }
#define FPINTERFACEDESC_ID
Definition: ifnpub.h:62
Definition: ifnpub.h:324
UtilExport BaseInterface * GetInterface(Interface_ID id)
FPMixinInterface* GetFPMixinInterface ( BaseInterface bi)
inline
67 { return reinterpret_cast<FPMixinInterface*>(bi->GetInterface(FPMIXININTERFACE_ID)); }
#define FPMIXININTERFACE_ID
Definition: ifnpub.h:61
Definition: ifnpub.h:558
UtilExport BaseInterface * GetInterface(Interface_ID id)