3ds Max C++ API Reference
Loading...
Searching...
No Matches
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
#define MCB_PROCESSED   0x0020

Typedefs

using load_fn = Value* (*)(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 ,
  MAXClass_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

◆ MCB_PROCESSED

#define MCB_PROCESSED   0x0020

Typedef Documentation

◆ load_fn

using load_fn = Value* (*)(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 
MAXClass_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
@ MAXClass_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 )
extern

◆ save_persistent_callback_scripts()

void save_persistent_callback_scripts ( ISave * isave)
extern

◆ load_persistent_callback_script()

IOResult load_persistent_callback_script ( ILoad * iload)
extern

Variable Documentation

◆ value_loaders

Tab<ValueLoader*> value_loaders
extern

◆ callback_scripts

Tab<CallbackScript*>* callback_scripts[]
extern