3ds Max C++ API Reference
Loading...
Searching...
No Matches
MAXClass Class Reference

#include <C:/adskgit/3dsmax/3dsmax/3dswin/src/maxsdk/include/maxscript/maxwrapper/mxsobjects.h>

Inheritance diagram for MAXClass:

Public Member Functions

 MAXClass ()
ScripterExport MAXClass (const MCHAR *cname, Class_ID cid, SClass_ID sid, MAXSuperClass *sclass, short cflags,...)
ScripterExport ~MAXClass ()
ClassDesccomplete_init ()
ValueclassOf_vf (Value **arg_list, int count) override
ValuesuperClassOf_vf (Value **arg_list, int count) override
ValueisKindOf_vf (Value **arg_list, int count) override
BOOL is_kind_of (ValueMetaClass *c) override
void collect () override
void gc_trace () override
ScripterExport void sprin1 (CharStream *s) override
void export_to_scripter () override
ScripterExport Valueapply (Value **arglist, int count, CallContext *cc=nullptr) override
IOResult Save (ISave *isave) override
parm_descget_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)
Valueget_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Interval &valid)
void set_max_property (ReferenceTarget *ref, parm_desc *pd, TimeValue t, Value *val)
ParamDefget_parm_def (Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=nullptr)
void set_max_property (ReferenceTarget *ref, ParamDef *pd, int tabIndex, ParamBlockDesc2 *pbd, TimeValue t, Value *val)
Valueget_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 () override
 def_property (category)
 def_prop_getter (classID)
 def_prop_getter (superclassID)
 def_property (creatable)
void to_fpvalue (FPValue &v) override
ValueCategory ()
Valueget_property (Value **arg_list, int count) override
Valueset_property (Value **arg_list, int count) override
Public Member Functions inherited from Value
virtual ScripterExport ValueMetaClasslocal_base_class ()
virtual Valueeval ()
virtual Valueeval_no_wrapper ()
virtual ScripterExport Valueapply_no_alloc_frame (Value **arglist, int count, CallContext *cc=nullptr)
virtual Valuemap (node_map &m)
virtual Valuemap_path (PathName *path, node_map &m)
virtual Valuefind_first (BOOL(*test_fn)(INode *node, int level, const void *arg), const void *test_arg)
virtual Valueget_path (PathName *path)
virtual ScripterExport void sprint (CharStream *stream)
virtual void prin1 ()
virtual void print ()
virtual Valuedelete_vf (Value **arglist, int arg_count)
virtual ValueclearSelection_vf (Value **arglist, int arg_count)
virtual float to_float ()
virtual double to_double ()
virtual const MCHARto_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 INodeto_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 Mtlto_mtl ()
virtual Texmapto_texmap ()
virtual MtlBaseto_mtlbase ()
virtual Modifierto_modifier ()
virtual TimeValue to_timevalue ()
virtual Controlto_controller ()
virtual Atmosphericto_atmospheric ()
virtual Effectto_effect ()
virtual IMultiPassCameraEffectto_mpassCamEffect ()
virtual ShadowTypeto_shadowtype ()
virtual FilterKernelto_filter ()
virtual INodeto_rootnode ()
virtual ITrackViewNodeto_trackviewnode ()
virtual NURBSIndependentPointto_nurbsindependentpoint ()
virtual NURBSPointto_nurbspoint ()
virtual NURBSObjectto_nurbsobject ()
virtual NURBSControlVertexto_nurbscontrolvertex ()
virtual NURBSCurveto_nurbscurve ()
virtual NURBSCVCurveto_nurbscvcurve ()
virtual NURBSSurfaceto_nurbssurface ()
virtual NURBSTexturePointto_nurbstexturepoint ()
virtual NURBSSetto_nurbsset ()
virtual ReferenceTargetto_reftarg ()
virtual Meshto_mesh ()
virtual BezierShapeto_beziershape ()
virtual Thunkto_thunk ()
virtual Rendererto_renderer ()
virtual Box2 & to_box2 ()
virtual NURBSTextureSurfaceto_nurbstexturesurface ()
virtual NURBSDisplayto_nurbsdisplay ()
virtual TessApproxto_tessapprox ()
virtual Valuewiden_to (Value *arg, Value **arg_list)
virtual BOOL comparable (Value *arg)
virtual BOOL special_case_compare (Value *arg, bool &specialCaseCompareResult)
virtual ScripterExport bool ValuesEqual (Value *other, bool strictCompare)
virtual ScripterExport Valuedeep_copy (HashTable *remapper)
virtual BOOL is_const ()
ScripterExport Value_get_property (Value *prop)
virtual ScripterExport Value_set_property (Value *prop, Value *val)
virtual Valueget_container_property (Value *prop, Value *cur_prop)
virtual Valueset_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 SelectionIteratorselection_iterator ()
virtual void drop_MAX_refs ()
virtual BaseInterfaceGetInterface (Interface_ID id)
ScripterExport Valuemake_heap_permanent ()
ScripterExport Valuemake_heap_static ()
ScripterExport Valueget_heap_ptr ()
ScripterExport Valueget_stack_heap_ptr ()
ScripterExport Valuemigrate_to_heap ()
ScripterExport Valueget_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 Valueget_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
virtual ScripterExport Valueset_case_sensitive_property (Value **arg_list, int count, const TCHAR *case_sensitive_name)
ScripterExport Valueinvoke_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 Valueinvoke_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 voidoperator new (size_t sz, char flag)
ScripterExport voidoperator 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 void free_classes ()
static ScripterExport MAXClasslookup_class (const Class_ID *cid, SClass_ID scid, bool make_new_if_missing=true)
static MAXClasslookup_class (const Class_ID &cid, SClass_ID scid, bool make_new_if_missing=true)
static void setup ()
static ScripterExport Valuemake_wrapper_for (ReferenceTarget *ref)
static ScripterExport Valuemake_node_for (ReferenceTarget *ref)
static ValueLoad (ILoad *iload, USHORT chunkID, ValueLoader *vload)
static ScripterExport Valueget_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 ParamDefget_parm_def (ClassDesc2 *cd2, Value *prop, ParamBlockDesc2 *&pbd, int &tabIndex, ReferenceTarget *ref=nullptr)
Static Public Member Functions inherited from Collectable
static ScripterExport void for_all_values (void(*map_fn)(Value *val), ValueMapper *mapper=nullptr, ValueMetaClass *c=nullptr)
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

Valuename
Class_ID class_id
SClass_ID sclass_id
ClassDesccd
ClassDesc2cd2
short md_flags
int n_parms
parm_descparms
MAXSuperClasssuperclass
short paramblock_ref_no
Valuecategory
HashTableinterfaces
Public Attributes inherited from Value
ValueMetaClasstag
Public Attributes inherited from Collectable
Collectablenext
Collectableprev
byte flags
byte flags2
short flags3

Static Public Attributes

static class_tableclasses
static int n_classes
static BOOL class_table_dirty
Static Public Attributes inherited from Collectable
static CRITICAL_SECTION heap_update
static Collectablecollectable_list
static Collectablepermanent_list
static free_memfree_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

Additional Inherited Members

Static Protected Attributes inherited from Value
static ScripterExport Valuekeyarg_marker_value

Constructor & Destructor Documentation

◆ MAXClass() [1/2]

MAXClass ( )
inline
565{ }

◆ MAXClass() [2/2]

ScripterExport MAXClass ( const MCHAR * cname,
Class_ID cid,
SClass_ID sid,
MAXSuperClass * sclass,
short cflags,
... )

◆ ~MAXClass()

Member Function Documentation

◆ free_classes()

void free_classes ( )
static

◆ lookup_class() [1/2]

ScripterExport MAXClass * lookup_class ( const Class_ID * cid,
SClass_ID scid,
bool make_new_if_missing = true )
static

◆ lookup_class() [2/2]

MAXClass * lookup_class ( const Class_ID & cid,
SClass_ID scid,
bool make_new_if_missing = true )
inlinestatic
561 {
562 return lookup_class(&cid, scid, make_new_if_missing);
563 }
static ScripterExport MAXClass * lookup_class(const Class_ID *cid, SClass_ID scid, bool make_new_if_missing=true)

◆ complete_init()

ClassDesc * complete_init ( )

◆ setup()

void setup ( )
static

◆ classOf_vf()

Value * classOf_vf ( Value ** arg_list,
int count )
override

◆ superClassOf_vf()

Value * superClassOf_vf ( Value ** arg_list,
int count )
override

◆ isKindOf_vf()

Value * isKindOf_vf ( Value ** arg_list,
int count )
override

◆ is_kind_of()

BOOL is_kind_of ( ValueMetaClass * c)
inlineoverridevirtual

Reimplemented from Value.

Reimplemented in MSCustAttribDef, and MSPluginClass.

574{ return (c == class_tag(MAXClass)) ? 1 : Value::is_kind_of(c); }
MAXClass()
Definition mxsobjects.h:565
virtual ScripterExport BOOL is_kind_of(ValueMetaClass *c)
#define class_tag(_cls)
Definition value.h:602

◆ collect()

void collect ( )
overridevirtual

Implements Collectable.

Reimplemented in MSCustAttribDef, and MSPluginClass.

◆ gc_trace()

void gc_trace ( )
overridevirtual

Reimplemented from Collectable.

Reimplemented in MSCustAttribDef, and MSPluginClass.

◆ sprin1()

ScripterExport void sprin1 ( CharStream * s)
overridevirtual

Reimplemented from Value.

Reimplemented in MSCustAttribDef.

◆ export_to_scripter()

void export_to_scripter ( )
overridevirtual

Reimplemented from Value.

◆ apply()

ScripterExport Value * apply ( Value ** arglist,
int count,
CallContext * cc = nullptr )
overridevirtual

Reimplemented from Value.

Reimplemented in MSCustAttribDef, and MSPluginClass.

◆ make_wrapper_for()

ScripterExport Value * make_wrapper_for ( ReferenceTarget * ref)
static

◆ make_node_for()

ScripterExport Value * make_node_for ( ReferenceTarget * ref)
static

◆ Save()

IOResult Save ( ISave * isave)
overridevirtual

Reimplemented from Value.

◆ Load()

Value * Load ( ILoad * iload,
USHORT chunkID,
ValueLoader * vload )
static

◆ get_parm_desc()

parm_desc * get_parm_desc ( ReferenceTarget * ref,
Value * key )

◆ build_parm_descs()

ScripterExport BOOL build_parm_descs ( ReferenceTarget * ref)

◆ apply_keyword_parms()

ScripterExport void apply_keyword_parms ( ReferenceTarget * ref,
Value ** key_arg_list,
int count )

◆ initialize_object()

ScripterExport void initialize_object ( ReferenceTarget * ref)

◆ get_max_property() [1/2]

Value * get_max_property ( ReferenceTarget * ref,
parm_desc * pd,
TimeValue t,
Interval & valid )

◆ set_max_property() [1/2]

void set_max_property ( ReferenceTarget * ref,
parm_desc * pd,
TimeValue t,
Value * val )

◆ get_parm_def() [1/2]

ParamDef * get_parm_def ( Value * prop,
ParamBlockDesc2 *& pbd,
int & tabIndex,
ReferenceTarget * ref = nullptr )

◆ set_max_property() [2/2]

void set_max_property ( ReferenceTarget * ref,
ParamDef * pd,
int tabIndex,
ParamBlockDesc2 * pbd,
TimeValue t,
Value * val )

◆ get_max_property() [2/2]

Value * get_max_property ( ReferenceTarget * ref,
ParamDef * pd,
int tabIndex,
ParamBlockDesc2 * pbd,
TimeValue t,
Interval & valid )

◆ get_pb2_property()

ScripterExport Value * get_pb2_property ( IParamBlock2 * pb,
ParamDef * pd,
int tabIndex,
TimeValue t,
Interval & valid )
static

◆ set_pb2_property()

void set_pb2_property ( IParamBlock2 * pb,
ParamDef * pd,
int tabIndex,
TimeValue t,
Value * val )
static

◆ get_parm_def() [2/2]

ParamDef * get_parm_def ( ClassDesc2 * cd2,
Value * prop,
ParamBlockDesc2 *& pbd,
int & tabIndex,
ReferenceTarget * ref = nullptr )
static

◆ def_generic() [1/5]

def_generic ( get_props ,
"getPropNames"  )

◆ def_generic() [2/5]

def_generic ( create_instance ,
"createInstance"  )

◆ def_generic() [3/5]

def_generic ( show_interfaces ,
"showInterfaces"  )

◆ def_generic() [4/5]

def_generic ( get_interfaces ,
"getInterfaces"  )

◆ def_generic() [5/5]

def_generic ( get_interface ,
"getInterface"  )

◆ get_max_class_id()

Class_ID get_max_class_id ( )
inlineoverridevirtual

Reimplemented from Value.

610{ return class_id; }
Class_ID class_id
Definition mxsobjects.h:543

◆ def_property() [1/2]

def_property ( category )

◆ def_prop_getter() [1/2]

def_prop_getter ( classID )

◆ def_prop_getter() [2/2]

def_prop_getter ( superclassID )

◆ def_property() [2/2]

def_property ( creatable )

◆ to_fpvalue()

void to_fpvalue ( FPValue & v)
overridevirtual

Reimplemented from Value.

◆ Category()

Value * Category ( )

◆ get_property()

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

Reimplemented from Value.

Reimplemented in MSCustAttribDef, and MSPluginClass.

◆ set_property()

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

Reimplemented from Value.

Reimplemented in MSCustAttribDef, and MSPluginClass.

Member Data Documentation

◆ name

Value* name

◆ class_id

Class_ID class_id

◆ sclass_id

SClass_ID sclass_id

◆ cd

ClassDesc* cd

◆ cd2

ClassDesc2* cd2

◆ md_flags

short md_flags

◆ n_parms

int n_parms

◆ parms

parm_desc* parms

◆ superclass

MAXSuperClass* superclass

◆ paramblock_ref_no

short paramblock_ref_no

◆ category

Value* category

◆ interfaces

HashTable* interfaces

◆ classes

class_table* classes
static

◆ n_classes

int n_classes
static

◆ class_table_dirty

BOOL class_table_dirty
static