3ds Max C++ API Reference
MSCustAttribDef Class Reference

#include <mxsCustomAttributes.h>

+ Inheritance diagram for MSCustAttribDef:

Public Types

enum  version_handling_behavior { never_update , always_update , update_when_load_version_greater_than_current_version , update_when_load_version_greater_than_or_equal_to_current_version }
 

Public Member Functions

ScripterExport MSCustAttribDef (Class_ID &attrib_id)
 
ScripterExport ~MSCustAttribDef ()
 
ScripterExport void init (int local_count, Value **inits, HashTable *local_scope, HashTable *handlers, Array *pblock_defs, Array *iremap_param_names, Array *rollouts, CharStream *source)
 
BOOL is_kind_of (ValueMetaClass *c)
 
void collect ()
 
void gc_trace ()
 
void sprin1 (CharStream *s)
 
bool is_custAttribDef ()
 
ScripterExport MSCustAttribDef * unique_clone ()
 
Value * apply (Value **arg_list, int count, CallContext *cc=NULL)
 
RefTargetHandle Create (BOOL loading)
 
Value * get_property (Value **arg_list, int count)
 
Value * set_property (Value **arg_list, int count)
 
 def_property (name)
 
- Public Member Functions inherited from MSPluginClass
 MSPluginClass (Value *name, MAXSuperClass *supcls, creator_fn cfn)
 
 ~MSPluginClass ()
 
void init (int iLocal_count, Value **inits, HashTable *pLocal_scope, HashTable *pHandlers, Array *pBlock_defs, Array *iremap_param_names, Array *pRollouts, MouseTool *pCreate_tool)
 
BOOL is_kind_of (ValueMetaClass *c)
 
void gc_trace ()
 
void collect ()
 
Value * apply (Value **arglist, int count, CallContext *cc=NULL)
 
void SetClassID (Value *cidv)
 
void SetExtension (Value *cls)
 
bool ValidateIfExtendingClass (bool forceRevalidate=false)
 
void SetVersion (Value *ver)
 
void StopEditing (int stop_flags=0)
 
void RestartEditing ()
 
void call_handler (Value *handler, Value **arg_list, int count, TimeValue t, BOOL disable_on_error=FALSE)
 
Value * _call_handler (Value *handler, Value **arg_list, int count, TimeValue t, BOOL disable_on_error=FALSE)
 
void install_alternate (ReferenceTarget *ref)
 
void build_paramblk_descs ()
 
void redefine (MSPlugin *val, HashTable *old_locals, Array *old_pblock_defs)
 
Array * find_pblock_def (Value *pName, Array *pBlock_defs)
 
virtual BOOL OkToCreate (Interface *i)
 
const MCHAR * ClassName ()
 
const MCHAR * NonLocalizedClassName ()
 
const MCHAR * InternalName ()
 
SClass_ID SuperClassID ()
 
Class_ID ClassID ()
 
const MCHAR * Category ()
 
HINSTANCE HInstance ()
 
BOOL IsManipulator ()
 
BOOL CanManipulate (ReferenceTarget *hTarget)
 
BOOL CanManipulateNode (INode *pNode)
 
Manipulator * CreateManipulator (ReferenceTarget *hTarget, INode *pNode)
 
Manipulator * CreateManipulator (INode *pNode)
 
Value * get_property (Value **arg_list, int count)
 
Value * set_property (Value **arg_list, int count)
 
 def_prop_getter (name)
 
- Public Member Functions inherited from MAXClass
 MAXClass ()
 
ScripterExport MAXClass (const MCHAR *cname, Class_ID cid, SClass_ID sid, MAXSuperClass *sclass, short cflags,...)
 
ScripterExport ~MAXClass ()
 
ClassDesc * complete_init ()
 
Value * classOf_vf (Value **arg_list, int count)
 
Value * superClassOf_vf (Value **arg_list, int count)
 
Value * isKindOf_vf (Value **arg_list, int count)
 
void export_to_scripter ()
 
parm_desc * get_parm_desc (ReferenceTarget *ref, Value *key)
 
ScripterExport BOOL build_parm_descs (ReferenceTarget *ref)
 
ScripterExport void apply_keyword_parms (ReferenceTarget *ref, Value **key_arg_list, int count)
 
ScripterExport void initialize_object (ReferenceTarget *ref)
 
Value * get_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Interval &valid)
 
void set_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Value *val)
 
ParamDef * get_parm_def (Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=NULL)
 
void set_max_property (ReferenceTarget *ref, ParamDef *pd, int tabIndex, ParamBlockDesc2 *pbd, TimeValue t, Value *val)
 
Value * get_max_property (ReferenceTarget *ref, ParamDef *pd, int tabIndex, ParamBlockDesc2 *pbd, TimeValue t, Interval &valid)
 
 def_generic (get_props, "getPropNames")
 
 def_generic (create_instance, "createInstance")
 
 def_generic (show_interfaces, "showInterfaces")
 
 def_generic (get_interfaces, "getInterfaces")
 
 def_generic (get_interface, "getInterface")
 
Class_ID get_max_class_id ()
 
 def_property (category)
 
 def_prop_getter (classID)
 
 def_prop_getter (superclassID)
 
 def_property (creatable)
 
void to_fpvalue (FPValue &v)
 
Value * Category ()
 
- Public Member Functions inherited from Value
virtual ScripterExport ValueMetaClass * local_base_class ()
 
virtual Value * eval ()
 
virtual Value * eval_no_wrapper ()
 
virtual ScripterExport Value * apply_no_alloc_frame (Value **arglist, int count, CallContext *cc=NULL)
 
virtual Value * map (node_map &m)
 
virtual Value * map_path (PathName *path, node_map &m)
 
virtual Value * find_first (BOOL(*test_fn)(INode *node, int level, const void *arg), const void *test_arg)
 
virtual Value * get_path (PathName *path)
 
virtual ScripterExport void sprint (CharStream *stream)
 
virtual void prin1 ()
 
virtual void print ()
 
virtual ScripterExport Value * delete_vf (Value **arglist, int arg_count)
 
virtual ScripterExport Value * clearSelection_vf (Value **arglist, int arg_count)
 
virtual float to_float ()
 
virtual double to_double ()
 
virtual const MCHAR * to_string ()
 
virtual MSTR to_mstr ()
 
virtual MSTR to_filename ()
 
virtual int to_int ()
 
virtual INT64 to_int64 ()
 
virtual INT_PTR to_intptr ()
 
virtual BOOL to_bool ()
 
virtual BitArray & to_bitarray ()
 
virtual Point4 to_point4 ()
 
virtual Point3 to_point3 ()
 
virtual Point2 to_point2 ()
 
virtual AColor to_acolor ()
 
virtual COLORREF to_colorref ()
 
virtual INode * to_node ()
 
virtual Ray to_ray ()
 
virtual Interval to_interval ()
 
virtual Quat to_quat ()
 
virtual AngAxis to_angaxis ()
 
virtual Matrix3 & to_matrix3 ()
 
virtual Box3 to_box3 ()
 
virtual float * to_eulerangles ()
 
virtual Mtl * to_mtl ()
 
virtual Texmap * to_texmap ()
 
virtual MtlBase * to_mtlbase ()
 
virtual Modifier * to_modifier ()
 
virtual TimeValue to_timevalue ()
 
virtual Control * to_controller ()
 
virtual Atmospheric * to_atmospheric ()
 
virtual Effect * to_effect ()
 
virtual IMultiPassCameraEffect * to_mpassCamEffect ()
 
virtual ShadowType * to_shadowtype ()
 
virtual FilterKernel * to_filter ()
 
virtual INode * to_rootnode ()
 
virtual ITrackViewNode * to_trackviewnode ()
 
virtual NURBSIndependentPoint * to_nurbsindependentpoint ()
 
virtual NURBSPoint * to_nurbspoint ()
 
virtual NURBSObject * to_nurbsobject ()
 
virtual NURBSControlVertex * to_nurbscontrolvertex ()
 
virtual NURBSCurve * to_nurbscurve ()
 
virtual NURBSCVCurve * to_nurbscvcurve ()
 
virtual NURBSSurface * to_nurbssurface ()
 
virtual NURBSTexturePoint * to_nurbstexturepoint ()
 
virtual NURBSSet * to_nurbsset ()
 
virtual ReferenceTarget * to_reftarg ()
 
virtual Mesh * to_mesh ()
 
virtual BezierShape * to_beziershape ()
 
virtual Thunk * to_thunk ()
 
virtual Renderer * to_renderer ()
 
virtual Box2 & to_box2 ()
 
virtual NURBSTextureSurface * to_nurbstexturesurface ()
 
virtual NURBSDisplay * to_nurbsdisplay ()
 
virtual TessApprox * to_tessapprox ()
 
virtual Value * widen_to (Value *arg, Value **arg_list)
 
virtual BOOL comparable (Value *arg)
 
virtual BOOL special_case_compare (Value *arg, bool &specialCaseCompareResult)
 
virtual ScripterExport Value * deep_copy (HashTable *remapper)
 
virtual BOOL is_const ()
 
ScripterExport Value * _get_property (Value *prop)
 
virtual ScripterExport Value * _set_property (Value *prop, Value *val)
 
virtual Value * get_container_property (Value *prop, Value *cur_prop)
 
virtual Value * set_container_property (Value *prop, Value *val, Value *cur_prop)
 
virtual BOOL _is_collection ()
 
virtual BOOL _is_charstream ()
 
virtual BOOL _is_rolloutcontrol ()
 
virtual BOOL _is_rolloutthunk ()
 
virtual BOOL _is_function ()
 
virtual BOOL _is_selection ()
 
virtual BOOL _is_thunk ()
 
virtual BOOL _is_indirect_thunk ()
 
virtual SelectionIterator * selection_iterator ()
 
virtual ScripterExport IOResult Save (ISave *isave)
 
virtual void drop_MAX_refs ()
 
virtual BaseInterface * GetInterface (Interface_ID id)
 
ScripterExport Value * make_heap_permanent ()
 
ScripterExport Value * make_heap_static ()
 
ScripterExport Value * get_heap_ptr ()
 
ScripterExport Value * get_stack_heap_ptr ()
 
ScripterExport Value * migrate_to_heap ()
 
ScripterExport Value * get_live_ptr ()
 
virtual BOOL object_supports_case_sensitive_names ()
 
ScripterExport Value * _get_property (Value *prop, Value *prop_name_as_parsed)
 
ScripterExport Value * _set_property (Value *prop, Value *val, Value *prop_name_as_parsed)
 
virtual ScripterExport Value * get_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
virtual ScripterExport Value * set_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
 
ScripterExport Value * invoke_getter_case_sensitive_property (Value *target, getter_vf getter, Value **arg_list, int count, const TCHAR *case_sensitive_name, const TCHAR *nested_prop_case_sensitive_name)
 
ScripterExport Value * invoke_setter_case_sensitive_property (Value *target, setter_vf setter, Value **arg_list, int count, const TCHAR *case_sensitive_name, const TCHAR *nested_prop_case_sensitive_name)
 
- Public Member Functions inherited from Collectable
ScripterExport Collectable ()
 
virtual ScripterExport ~Collectable ()
 
ScripterExport void * operator new (size_t sz, char flag)
 
ScripterExport void * operator new (size_t sz)
 
ScripterExport void operator delete (void *val)
 
ScripterExport void operator delete (void *val, char flag)
 
ScripterExport bool derives_from_Animatable ()
 
virtual BOOL derives_from_MAXWrapper ()
 
ScripterExport void make_collectable ()
 
void make_permanent ()
 
void make_static ()
 
int is_marked ()
 
int is_not_marked ()
 
int is_garbage ()
 
int is_permanent ()
 
void mark_in_use ()
 
void unmark_in_use ()
 
int has_heap_copy ()
 
int is_in_heap ()
 
int is_on_stack ()
 

Static Public Member Functions

static MSCustAttribDef * intern (Class_ID &attrib_id)
 
static ScripterExport MSCustAttribDef * find (Class_ID &attrib_id)
 
static IOResult save_custattrib_defs (ISave *isave)
 
static IOResult load_custattrib_defs (ILoad *iload)
 
- Static Public Member Functions inherited from MSPluginClass
static MSPluginClass * intern (Value *name, MAXSuperClass *supcls, creator_fn cfn)
 
static int lookup_assetType (Value *name)
 
static MAX_DEPRECATED ParamType2 lookup_type (Value *name)
 
static ScripterExport ParamType2 lookup_paramType_from_name (Value *name)
 
static ScripterExport const Name * lookup_name_from_paramType (ParamType2 type)
 
static void save_class_defs (ISave *isave)
 
static IOResult load_class_def (ILoad *iload)
 
static void post_load (ILoad *iload, int which)
 
- Static Public Member Functions inherited from MAXClass
static void free_classes ()
 
static ScripterExport MAXClass * lookup_class (Class_ID *cid, SClass_ID scid, bool make_new_if_missing=true)
 
static void setup ()
 
static ScripterExport Value * make_wrapper_for (ReferenceTarget *ref)
 
static ScripterExport Value * make_node_for (ReferenceTarget *ref)
 
static ScripterExport Value * get_pb2_property (IParamBlock2 *pb, ParamDef *pd, int tabIndex, TimeValue t, Interval &valid)
 
static void set_pb2_property (IParamBlock2 *pb, ParamDef *pd, int tabIndex, TimeValue t, Value *val)
 
static ParamDef * get_parm_def (ClassDesc2 *cd2, Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=NULL)
 
- Static Public Member Functions inherited from Collectable
static ScripterExport void for_all_values (void(*map_fn)(Value *val), ValueMapper *mapper=NULL, ValueMetaClass *c=NULL)
 
static void mark ()
 
static void sweep ()
 
static void setup (size_t)
 
static ScripterExport void gc ()
 
static void coalesce_free_list ()
 
static void close_down ()
 
static void drop_maxwrapper_refs ()
 
static ScripterExport void push_alloc_stack_frame ()
 
static ScripterExport void pop_alloc_stack_frame ()
 
static ScripterExport ULONGLONG get_num_values_created ()
 
static ScripterExport bool validate_value_linkages ()
 

Public Attributes

Value * defData
 
MSTR source
 
- Public Attributes inherited from MSPluginClass
Value * class_name
 
Value * nonLocalized_class_name
 
HINSTANCE hInstance
 
ClassDesc * extend_cd
 
MAXClass * extend_maxclass
 
creator_fn obj_creator
 
HashTable * local_scope
 
Value ** local_inits
 
int local_count
 
HashTable * handlers
 
Array * rollouts
 
MouseTool * create_tool
 
Array * pblock_defs
 
Array * remap_param_names
 
Array * loading_pblock_defs
 
Tab< ParamBlockDesc2 * > pbds
 
ReferenceTarget * alternate
 
Tab< ParamRef > sub_texmaps
 
Tab< ParamRef > sub_mtls
 
int version
 
DWORD mpc_flags
 
DWORD rollup_state
 
- Public Attributes inherited from MAXClass
Value * name
 
Class_ID class_id
 
SClass_ID sclass_id
 
ClassDesc * cd
 
ClassDesc2 * cd2
 
short md_flags
 
int n_parms
 
parm_desc * parms
 
MAXSuperClass * superclass
 
short paramblock_ref_no
 
Value * category
 
HashTable * interfaces
 
- Public Attributes inherited from Value
ValueMetaClass * tag
 
- Public Attributes inherited from Collectable
Collectable * next
 
Collectable * prev
 
byte flags
 
byte flags2
 
short flags3
 

Static Public Attributes

static ScripterExport version_handling_behavior sceneLoadVersionHandling
 
static ScripterExport version_handling_behavior sceneMergeVersionHandling
 
- Static Public Attributes inherited from MSPluginClass
static HashTable * msp_classes
 
static MSPlugin * creating
 
static bool loading
 
static bool loadingLoadingScene
 
- Static Public Attributes inherited from MAXClass
static class_table * classes
 
static int n_classes
 
static BOOL class_table_dirty
 
- Static Public Attributes inherited from Collectable
static CRITICAL_SECTION heap_update
 
static Collectable * collectable_list
 
static Collectable * permanent_list
 
static free_mem * free_list [GC_NUM_SUBLISTS]
 
static size_t heap_allocated
 
static size_t heap_size
 
static ScripterExport collectable_state state
 
static ScripterExport bool fullCollectNextHoldFlush
 
static bool gc_light
 
static bool in_gc
 
static HANDLE hGCCompletedEvent
 

Friends

class MSCustAttrib
 
ScripterExport bool HaveScriptedCustAttribDefs ()
 
Value * ca_getSceneDefs_cf (Value **arg_list, int count)
 
Value * ca_deleteDef_cf (Value **arg_list, int count)
 

Additional Inherited Members

- Protected Member Functions inherited from MSPluginClass
 MSPluginClass ()
 
void ctor_init ()
 
- Protected Attributes inherited from MSPluginClass
bool validate_ExtendingClass_failed
 
- Static Protected Attributes inherited from Value
static ScripterExport Value * keyarg_marker_value
 

Member Enumeration Documentation

◆ version_handling_behavior

Enumerator
never_update 
always_update 
update_when_load_version_greater_than_current_version 
update_when_load_version_greater_than_or_equal_to_current_version 
48  {
49  never_update, // never update existing scripted attribute defs, regardless of version numbers
50  always_update, // always update existing scripted attribute defs with load def, regardless of version numbers
51  update_when_load_version_greater_than_current_version, // update existing scripted attribute def if load version > existing version
52  update_when_load_version_greater_than_or_equal_to_current_version, // update existing scripted attribute def if load version >= existing version
53  };
@ never_update
Definition: mxsCustomAttributes.h:49
@ always_update
Definition: mxsCustomAttributes.h:50
@ update_when_load_version_greater_than_current_version
Definition: mxsCustomAttributes.h:51
@ update_when_load_version_greater_than_or_equal_to_current_version
Definition: mxsCustomAttributes.h:52

Constructor & Destructor Documentation

◆ MSCustAttribDef()

◆ ~MSCustAttribDef()

Member Function Documentation

◆ intern()

static MSCustAttribDef* intern ( Class_ID &  attrib_id)
static

◆ init()

ScripterExport void init ( int  local_count,
Value **  inits,
HashTable *  local_scope,
HashTable *  handlers,
Array *  pblock_defs,
Array *  iremap_param_names,
Array *  rollouts,
CharStream *  source 
)

◆ find()

static ScripterExport MSCustAttribDef* find ( Class_ID &  attrib_id)
static

◆ is_kind_of()

BOOL is_kind_of ( ValueMetaClass *  c)
inlinevirtual

Reimplemented from MAXClass.

73 { return (c == class_tag(MSCustAttribDef)) ? 1 : MSPluginClass::is_kind_of(c); }
Definition: mxsCustomAttributes.h:37
BOOL is_kind_of(ValueMetaClass *c)
Definition: mxsPlugin.h:173
#define class_tag(_cls)
Definition: value.h:548

◆ collect()

void collect ( )
virtual

Reimplemented from MAXClass.

◆ gc_trace()

void gc_trace ( )
virtual

Reimplemented from MAXClass.

◆ sprin1()

void sprin1 ( CharStream *  s)
virtual

Reimplemented from MAXClass.

◆ is_custAttribDef()

bool is_custAttribDef ( )
inlinevirtual

Reimplemented from MSPluginClass.

79 { return true; }

◆ unique_clone()

ScripterExport MSCustAttribDef* unique_clone ( )

◆ apply()

Value* apply ( Value **  arg_list,
int  count,
CallContext *  cc = NULL 
)
inlinevirtual

Reimplemented from MAXClass.

83 { return Value::apply(arg_list, count, cc); } // CustAttribDef's are not applyable
virtual ScripterExport Value * apply(Value **arglist, int count, CallContext *cc=NULL)

◆ save_custattrib_defs()

static IOResult save_custattrib_defs ( ISave *  isave)
static

◆ load_custattrib_defs()

static IOResult load_custattrib_defs ( ILoad *  iload)
static

◆ Create()

RefTargetHandle Create ( BOOL  loading)
virtual

Reimplemented from MSPluginClass.

◆ get_property()

Value* get_property ( Value **  arg_list,
int  count 
)
virtual

Reimplemented from MAXClass.

◆ set_property()

Value* set_property ( Value **  arg_list,
int  count 
)
virtual

Reimplemented from MAXClass.

◆ def_property()

def_property ( name  )

Friends And Related Function Documentation

◆ MSCustAttrib

friend class MSCustAttrib
friend

◆ HaveScriptedCustAttribDefs

ScripterExport bool HaveScriptedCustAttribDefs ( )
friend

◆ ca_getSceneDefs_cf

Value* ca_getSceneDefs_cf ( Value **  arg_list,
int  count 
)
friend

◆ ca_deleteDef_cf

Value* ca_deleteDef_cf ( Value **  arg_list,
int  count 
)
friend

Member Data Documentation

◆ sceneLoadVersionHandling

ScripterExport version_handling_behavior sceneLoadVersionHandling
static

◆ sceneMergeVersionHandling

ScripterExport version_handling_behavior sceneMergeVersionHandling
static

◆ defData

Value* defData

◆ source

MSTR source