added everything
This commit is contained in:
207
lib/maxsdk70/include/maxscrpt/maxmats.h
Executable file
207
lib/maxsdk70/include/maxscrpt/maxmats.h
Executable file
@@ -0,0 +1,207 @@
|
||||
/*
|
||||
* MAXMaterials.h - MAX material & map wrapper classes
|
||||
*
|
||||
* Copyright <20> John Wainwright 1996
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _H_MAXMATERIALS
|
||||
#define _H_MAXMATERIALS
|
||||
|
||||
#include "Max.h"
|
||||
#include "MaxObj.h"
|
||||
|
||||
#if 0 // HEY!! add material library access
|
||||
virtual int LoadMaterialLib(const TCHAR *name)=0;
|
||||
virtual int SaveMaterialLib(const TCHAR *name)=0;
|
||||
virtual MtlBaseLib& GetMaterialLibrary()=0;
|
||||
static Class_ID mtlBaseLibClassID(MTLBASE_LIB_CLASS_ID,0);
|
||||
#endif
|
||||
|
||||
/* -------------------------- MAXMaterial -------------------------- */
|
||||
|
||||
visible_class (MAXMaterial)
|
||||
|
||||
class MAXMaterial : public MAXWrapper
|
||||
{
|
||||
public:
|
||||
Mtl* mat; /* the MAX-side material */
|
||||
|
||||
MAXMaterial() {};
|
||||
MAXMaterial(Mtl* imat);
|
||||
static ScripterExport Value* intern(Mtl* imat);
|
||||
|
||||
static Value* make(MAXClass* cls, Value** arg_list, int count);
|
||||
|
||||
BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXMaterial)) ? 1 : MAXWrapper::is_kind_of(c); }
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
TCHAR* class_name();
|
||||
|
||||
#include "defimpfn.h"
|
||||
Value* copy_vf(Value** arg_list, int count) { return MAXWrapper::copy_no_undo(arg_list, count); }
|
||||
|
||||
def_property ( name );
|
||||
def_property ( effectsChannel );
|
||||
def_property ( showInViewport );
|
||||
Value* get_property(Value** arg_list, int count);
|
||||
Value* set_property(Value** arg_list, int count);
|
||||
|
||||
Mtl* to_mtl() { check_for_deletion(); return mat; }
|
||||
MtlBase* to_mtlbase() { check_for_deletion(); return mat; }
|
||||
void to_fpvalue(FPValue& v) { v.mtl = mat; v.type = TYPE_MTL; }
|
||||
};
|
||||
|
||||
/* ---------------------- MAXMultiMaterial ----------------------- */
|
||||
|
||||
visible_class (MAXMultiMaterial)
|
||||
|
||||
class MAXMultiMaterial : public MAXMaterial
|
||||
{
|
||||
public:
|
||||
|
||||
MAXMultiMaterial() {};
|
||||
MAXMultiMaterial(MultiMtl* imat);
|
||||
static ScripterExport Value* intern(MultiMtl* imat);
|
||||
|
||||
static Value* make(MAXClass* cls, Value** arg_list, int count);
|
||||
|
||||
BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXMultiMaterial)) ? 1 : MAXMaterial::is_kind_of(c); }
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
TCHAR* class_name();
|
||||
|
||||
def_generic (get, "get");
|
||||
def_generic (put, "put");
|
||||
Value* copy_vf(Value** arg_list, int count) { return MAXWrapper::copy_no_undo(arg_list, count); }
|
||||
|
||||
ScripterExport Value* map(node_map& m);
|
||||
|
||||
def_property( numsubs );
|
||||
def_property( count );
|
||||
|
||||
Mtl* to_mtl() { return mat; }
|
||||
MtlBase* to_mtlbase() { check_for_deletion(); return mat; }
|
||||
void to_fpvalue(FPValue& v) { v.mtl = mat; v.type = TYPE_MTL; }
|
||||
};
|
||||
|
||||
/* ---------------------- Material Library ----------------------- */
|
||||
|
||||
applyable_class (MAXMaterialLibrary)
|
||||
|
||||
class MAXMaterialLibrary : public MAXWrapper
|
||||
{
|
||||
public:
|
||||
MtlBaseLib new_lib;
|
||||
MtlBaseLib& lib;
|
||||
|
||||
MAXMaterialLibrary(MtlBaseLib& ilib);
|
||||
MAXMaterialLibrary(MtlBaseLib* ilib);
|
||||
MAXMaterialLibrary();
|
||||
static ScripterExport Value* intern(MtlBaseLib& ilib);
|
||||
static ScripterExport Value* intern(MtlBaseLib* ilib);
|
||||
|
||||
classof_methods (MAXMaterialLibrary, MAXWrapper);
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
MtlBase* get_mtlbase(int index);
|
||||
MtlBase* find_mtlbase(TCHAR* name);
|
||||
TCHAR* class_name();
|
||||
|
||||
/* operations */
|
||||
|
||||
ScripterExport Value* map(node_map& m);
|
||||
|
||||
#include "defimpfn.h"
|
||||
# include "arraypro.h"
|
||||
Value* copy_vf(Value** arg_list, int count) { return MAXWrapper::copy_no_undo(arg_list, count); }
|
||||
|
||||
/* built-in property accessors */
|
||||
|
||||
def_property ( count );
|
||||
};
|
||||
|
||||
/* ------------------------- MAXTexture ------------------------ */
|
||||
|
||||
visible_class (MAXTexture)
|
||||
|
||||
class MAXTexture : public MAXWrapper
|
||||
{
|
||||
public:
|
||||
Texmap* map; /* the MAX-side map */
|
||||
|
||||
MAXTexture(Texmap* imap);
|
||||
static ScripterExport Value* intern(Texmap* imap);
|
||||
|
||||
static Value* make(MAXClass* cls, Value** arg_list, int count);
|
||||
|
||||
BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXTexture)) ? 1 : MAXWrapper::is_kind_of(c); }
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
TCHAR* class_name();
|
||||
|
||||
#include "defimpfn.h"
|
||||
# include "texmapro.h"
|
||||
Value* copy_vf(Value** arg_list, int count) { return MAXWrapper::copy_no_undo(arg_list, count); }
|
||||
|
||||
def_property( name );
|
||||
|
||||
Texmap* to_texmap() { check_for_deletion(); return map; }
|
||||
MtlBase* to_mtlbase() { check_for_deletion(); return map; }
|
||||
void to_fpvalue(FPValue& v) { v.tex = map; v.type = TYPE_TEXMAP; }
|
||||
};
|
||||
|
||||
/* -------------------------- MAXMtlBase -------------------------- */
|
||||
|
||||
// a generic wrapper for MtlBase classes such as UVGen, XYZGen, TexOut, etc.
|
||||
|
||||
visible_class (MAXMtlBase)
|
||||
|
||||
class MAXMtlBase : public MAXWrapper
|
||||
{
|
||||
public:
|
||||
MtlBase* mtl; /* the MAX-side mtlbase */
|
||||
|
||||
MAXMtlBase(MtlBase* imtl);
|
||||
static ScripterExport Value* intern(MtlBase* imtl);
|
||||
|
||||
static Value* make(MAXClass* cls, Value** arg_list, int count);
|
||||
|
||||
BOOL is_kind_of(ValueMetaClass* c) { return (c == class_tag(MAXMtlBase)) ? 1 : MAXWrapper::is_kind_of(c); }
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
TCHAR* class_name() { return _T("MapSupportClass"); }
|
||||
Value* copy_vf(Value** arg_list, int count) { return MAXWrapper::copy_no_undo(arg_list, count); }
|
||||
|
||||
MtlBase* to_mtlbase() { check_for_deletion(); return mtl; }
|
||||
};
|
||||
|
||||
/* ------------------ MEdit materials virtual array -------------------- */
|
||||
|
||||
visible_class (MAXMeditMaterials)
|
||||
|
||||
class MAXMeditMaterials : public Value
|
||||
{
|
||||
public:
|
||||
MAXMeditMaterials() { tag = &MAXMeditMaterials_class; }
|
||||
|
||||
classof_methods (MAXMeditMaterials, Value);
|
||||
void collect() { delete this; }
|
||||
ScripterExport void sprin1(CharStream* s);
|
||||
MtlBase* get_mtl(int index);
|
||||
MtlBase* find_mtl(TCHAR* name);
|
||||
static void setup();
|
||||
|
||||
// operations
|
||||
ScripterExport Value* map(node_map& m);
|
||||
|
||||
#include "defimpfn.h"
|
||||
# include "arraypro.h"
|
||||
|
||||
// built-in property accessors
|
||||
def_property ( count );
|
||||
};
|
||||
|
||||
extern ScripterExport MAXMeditMaterials medit_materials;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user