3ds Max C++ API Reference
sceneio.h File Reference
#include "mxsMaxFileVersion.h"
#include "../ScripterExport.h"
#include "../kernel/value.h"
#include "../../maxtypes.h"
#include "../../tab.h"
#include "../../ioapi.h"

Classes

class  ValueLoadCallback
 
class  ValueLoader
 
class  ValueLoadPLCB
 
class  CallbackScript
 

Macros

#define OPENSCRIPT_CHUNK   0x0010
 
#define SAVESCRIPT_CHUNK   0x0020
 
#define PSGLOBALS_CHUNK   0x0030
 
#define MSPLUGINCLASS_CHUNK   0x0040
 
#define MSPLUGINCLASSHDR_CHUNK   0x0050
 
#define LENGTH_CHUNK   0x0060
 
#define CALLBACKSCRIPT_A_CHUNK   0x0070
 
#define CALLBACKSCRIPT_W_CHUNK   0x0071
 
#define CUSTATTRIBDEF_CHUNK   0x0080
 
#define SOURCE_A_CHUNK   0x00a0
 
#define SOURCE_W_CHUNK   0x00a1
 
#define MCB_SCRIPT_IS_FILE   0x0001
 
#define MCB_PERSISTENT   0x0002
 
#define MCB_HAS_ID   0x0004
 
#define MCB_INVALID   0x0008
 
#define MCB_SCENE_FILE_EMBEDDED   0x0010
 

Typedefs

typedef Value *(* load_fn) (ILoad *iload, USHORT chunkID, ValueLoader *vl)
 

Enumerations

enum  LoadableClassID {
  Undefined_Chunk = 0 , Boolean_Chunk , Ok_Chunk , Integer_Chunk ,
  Float_Chunk , String_A_Chunk , Name_A_Chunk , Array_Chunk ,
  Point3Value_Chunk , QuatValue_Chunk , RayValue_Chunk , AngAxisValue_Chunk ,
  EulerAnglesValue_Chunk , Matrix3Value_Chunk , Point2Value_Chunk , ColorValue_Chunk ,
  MSTime_Chunk , MSInterval_Chunk , MAXWrapper_Chunk , Unsupplied_Chunk ,
  Struct_Chunk , Point4Value_Chunk , Empty_Chunk , Integer64_Chunk ,
  DoubleValue_Chunk , String_W_Chunk , Name_W_Chunk , NoValue_Chunk ,
  IntegerPtr_Chunk , Box3Value_Chunk , MXSDictionaryValue_Chunk , DataPair_Chunk ,
  HIGH_CLASS_CHUNK
}
 

Functions

ScripterExport Valueload_value (ILoad *iload, ValueLoader *vload)
 
void save_persistent_callback_scripts (ISave *isave)
 
IOResult load_persistent_callback_script (ILoad *iload)
 

Variables

Tab< ValueLoader * > value_loaders
 
Tab< CallbackScript * > * callback_scripts []
 

Macro Definition Documentation

◆ OPENSCRIPT_CHUNK

#define OPENSCRIPT_CHUNK   0x0010

◆ SAVESCRIPT_CHUNK

#define SAVESCRIPT_CHUNK   0x0020

◆ PSGLOBALS_CHUNK

#define PSGLOBALS_CHUNK   0x0030

◆ MSPLUGINCLASS_CHUNK

#define MSPLUGINCLASS_CHUNK   0x0040

◆ MSPLUGINCLASSHDR_CHUNK

#define MSPLUGINCLASSHDR_CHUNK   0x0050

◆ LENGTH_CHUNK

#define LENGTH_CHUNK   0x0060

◆ CALLBACKSCRIPT_A_CHUNK

#define CALLBACKSCRIPT_A_CHUNK   0x0070

◆ CALLBACKSCRIPT_W_CHUNK

#define CALLBACKSCRIPT_W_CHUNK   0x0071

◆ CUSTATTRIBDEF_CHUNK

#define CUSTATTRIBDEF_CHUNK   0x0080

◆ SOURCE_A_CHUNK

#define SOURCE_A_CHUNK   0x00a0

◆ SOURCE_W_CHUNK

#define SOURCE_W_CHUNK   0x00a1

◆ MCB_SCRIPT_IS_FILE

#define MCB_SCRIPT_IS_FILE   0x0001

◆ MCB_PERSISTENT

#define MCB_PERSISTENT   0x0002

◆ MCB_HAS_ID

#define MCB_HAS_ID   0x0004

◆ MCB_INVALID

#define MCB_INVALID   0x0008

◆ MCB_SCENE_FILE_EMBEDDED

#define MCB_SCENE_FILE_EMBEDDED   0x0010

Typedef Documentation

◆ load_fn

typedef Value*(* load_fn) (ILoad *iload, USHORT chunkID, ValueLoader *vl)

Enumeration Type Documentation

◆ LoadableClassID

Enumerator
Undefined_Chunk 
Boolean_Chunk 
Ok_Chunk 
Integer_Chunk 
Float_Chunk 
String_A_Chunk 
Name_A_Chunk 
Array_Chunk 
Point3Value_Chunk 
QuatValue_Chunk 
RayValue_Chunk 
AngAxisValue_Chunk 
EulerAnglesValue_Chunk 
Matrix3Value_Chunk 
Point2Value_Chunk 
ColorValue_Chunk 
MSTime_Chunk 
MSInterval_Chunk 
MAXWrapper_Chunk 
Unsupplied_Chunk 
Struct_Chunk 
Point4Value_Chunk 
Empty_Chunk 
Integer64_Chunk 
DoubleValue_Chunk 
String_W_Chunk 
Name_W_Chunk 
NoValue_Chunk 
IntegerPtr_Chunk 
Box3Value_Chunk 
MXSDictionaryValue_Chunk 
DataPair_Chunk 
HIGH_CLASS_CHUNK 
42 {
54 
55  // add more here...
56 
57  HIGH_CLASS_CHUNK // must be last
58 };
@ DataPair_Chunk
Definition: sceneio.h:53
@ AngAxisValue_Chunk
Definition: sceneio.h:46
@ Integer64_Chunk
Definition: sceneio.h:50
@ Box3Value_Chunk
Definition: sceneio.h:52
@ String_A_Chunk
Definition: sceneio.h:44
@ Point4Value_Chunk
Definition: sceneio.h:50
@ Point3Value_Chunk
Definition: sceneio.h:45
@ MAXWrapper_Chunk
Definition: sceneio.h:49
@ Boolean_Chunk
Definition: sceneio.h:43
@ ColorValue_Chunk
Definition: sceneio.h:48
@ Ok_Chunk
Definition: sceneio.h:43
@ RayValue_Chunk
Definition: sceneio.h:46
@ Matrix3Value_Chunk
Definition: sceneio.h:47
@ Unsupplied_Chunk
Definition: sceneio.h:49
@ Empty_Chunk
Definition: sceneio.h:50
@ Integer_Chunk
Definition: sceneio.h:44
@ Undefined_Chunk
Definition: sceneio.h:43
@ Array_Chunk
Definition: sceneio.h:45
@ Name_W_Chunk
Definition: sceneio.h:51
@ String_W_Chunk
Definition: sceneio.h:51
@ NoValue_Chunk
Definition: sceneio.h:52
@ Float_Chunk
Definition: sceneio.h:44
@ DoubleValue_Chunk
Definition: sceneio.h:51
@ EulerAnglesValue_Chunk
Definition: sceneio.h:47
@ QuatValue_Chunk
Definition: sceneio.h:46
@ Struct_Chunk
Definition: sceneio.h:49
@ Point2Value_Chunk
Definition: sceneio.h:47
@ MXSDictionaryValue_Chunk
Definition: sceneio.h:53
@ Name_A_Chunk
Definition: sceneio.h:45
@ MSTime_Chunk
Definition: sceneio.h:48
@ IntegerPtr_Chunk
Definition: sceneio.h:52
@ MSInterval_Chunk
Definition: sceneio.h:48
@ HIGH_CLASS_CHUNK
Definition: sceneio.h:57

Function Documentation

◆ load_value()

ScripterExport Value* load_value ( ILoad iload,
ValueLoader vload 
)

◆ save_persistent_callback_scripts()

void save_persistent_callback_scripts ( ISave isave)

◆ load_persistent_callback_script()

IOResult load_persistent_callback_script ( ILoad iload)

Variable Documentation

◆ value_loaders

Tab<ValueLoader*> value_loaders
extern

◆ callback_scripts

Tab<CallbackScript*>* callback_scripts[]
extern