11BEGIN_MOOTOOLS_NAMESPACE
16#define COMMON_IMPORT_COPY_EMBED_TO_DIR MAKE_CUSTOM_ID('C', 'Y', 'E', 'M')
17#define COMMON_IMPORT_FROM_MEMORY_DATA MAKE_CUSTOM_ID('I', 'M', 'M', 'D')
18#define COMMON_EXPORT_TO_MEMORY MAKE_CUSTOM_ID('E', 'X', 'M', 'M')
19#define COMMON_EXPORT_MEMORY_DATA MAKE_CUSTOM_ID('E', 'M', 'M', 'D')
25#define FBX_EXPORT_OPTION_EMBEDDED_MEDIA MAKE_CUSTOM_ID('E', 'M', 'B', 'D')
26#define FBX_IO_OPTION_PASSWORD MAKE_CUSTOM_ID('P', 'S', 'W', 'D')
27#define FBX_EXPORT_OPTION_SAVE_MATID MAKE_CUSTOM_ID('M', 'T', 'I', 'D')
28#define FBX_EXPORT_OPTION_FBX_VERSION MAKE_CUSTOM_ID('F', 'X', 'V', 'S')
29#define FBX_EXPORT_OPTION_FBX_ASCII MAKE_CUSTOM_ID('F', 'X', 'I', 'I')
30#define FBX_EXPORT_CONVERT_MATERIAL_TO_STANDARD MAKE_CUSTOM_ID('C', 'V', 'S', 'T')
31#define FBX_EXPORT_KEEP_PBR_FORMAT MAKE_CUSTOM_ID('K', 'P', 'P', 'B')
32#define FBX_EXPORT_PBR_FORMAT MAKE_CUSTOM_ID('C', 'V', 'P', 'B')
55#define JT_IO_OPTION_SIEMENS_ID MAKE_CUSTOM_ID('S', 'I', 'E', 'M')
56#define JT_IO_OPTION_FLAGS MAKE_CUSTOM_ID('J', 'T', 'F', 'G')
57#define JT_IMPORT_OPTION_SPECIFIC_LOD MAKE_CUSTOM_ID('S', 'L', 'O', 'D')
63 JT_UNDEFINED_FLAGS = 0x00,
70 JT_PRIVATE_FLAGS = 0xFF000000,
71 JT_UPDATE_STORE = 0x01000000,
72 JT_DO_UPDATE = 0x02000000,
79#define SKP_IMPORT_TRIANGULATE MAKE_CUSTOM_ID('T', 'R', 'I', 'A')
80#define SKP_IMPORT_FORCE_AFFINE_UV MAKE_CUSTOM_ID('A', 'F', 'U', 'V')
81#define SKP_IMPORT_FORCE_TEXTURE_FORMAT MAKE_CUSTOM_ID('T', 'X', 'T', 'F')
82#define SKP_IMPORT_COLLAPSE_LIVECOMPONENT MAKE_CUSTOM_ID('L', 'V', 'C', 'L')
83#define SKP_IMPORT_COLLAPSE_DEFINITION MAKE_CUSTOM_ID('S', 'M', 'Y', 'D')
84#define SKP_IMPORT_COLLAPSE_GROUP MAKE_CUSTOM_ID('S', 'M', 'Y', 'G')
85#define SKP_IMPORT_SKIP_CURVE MAKE_CUSTOM_ID('S', 'K', 'C', 'R')
86#define SKP_IMPORT_TRACK_SKPID MAKE_CUSTOM_ID('S', 'K', 'T', 'K')
87#define SKP_EXPORT_VERSION MAKE_CUSTOM_ID('S', 'K', 'V', 'R')
103 SKP_DEFAULT_VERSION = SKP_MOST_RECENT,
110#define GLTF_IMPORT_WELD_POINTS MAKE_CUSTOM_ID('W', 'E', 'L', 'D')
111#define GLTF_EXPORT_OPTION_EMBEDDED_MEDIA MAKE_CUSTOM_ID('E', 'M', 'B', 'D')
112#define GLTF_EXPORT_JPEG_COMPRESSION MAKE_CUSTOM_ID('J', 'G', 'C', 'M')
113#define GLTF_EXPORT_JPEG_MODE MAKE_CUSTOM_ID('J', 'G', 'M', 'D')
119#define OBJ_IO_FILE_ENCODING MAKE_CUSTOM_ID('W', 'V', 'E', 'N')
124#define PRIVATE_IO_SPECIFIC_OPTIONS MAKE_CUSTOM_ID('S', 'P', 'C', 'I')
141 unsigned int swapmode;
150 virtual void InitFromSavedPrefs(
const CCustomData& data);
177 unsigned int swapmode;
221 virtual void InitFromSavedPrefs(
const CCustomData& data);
238 virtual void CloseParser();
240 #ifndef MOOTOOLS_NO_UI
244 IoShowDialog MustShowDialog();
251 C3DIo(
unsigned int fileclass,
unsigned int flags,
CXWnd *pParent =
NULL);
263 static bool ReleaseParser(
bool readingParser,
unsigned int parser,
void *parserData);
264 static bool CanUpdate(
unsigned int inputFormat,
unsigned int outputFormat);
270#ifndef MOOTOOLS_NO_UI
280 return Read(
false, options);
285 return Save(
false, scene, options);
293void RegisterIOPlugins();
313 virtual IoShowDialog MustShowDialog()
315 return CFileParser::MustShowDialog();
323#ifndef MOOTOOLS_NO_UI
338#ifndef MOOTOOLS_NO_UI
344 io->SetIoError(IO_FILE_UNKNOWN_FILE_TYPE);
362 virtual bool CanUpdate(
unsigned int parserClass = UNKNOWN_CLASS,
void *parserData =
NULL)
const
369 io->SetIoError(IO_FILE_UNKNOWN_FILE_TYPE);
387END_MOOTOOLS_NAMESPACE
@ SCENE_IMPORT_DEFAULT
Use default parser flags.
Definition 3DType.h:292
@ SCENE_EXPORT_DEFAULT
Use default parser flags.
Definition 3DType.h:241
UP_AXIS_MODE
Definition 3DType.h:360
FbxExportVersion
Definition Io3dmgr.h:37
@ FBX_MOST_RECENT
The native fbx version of the Fbx SDK.
Definition Io3dmgr.h:47
SkpExportVersion
Definition Io3dmgr.h:92
JTIoFlags
Definition Io3dmgr.h:62
@ JT_IMPORT_LOAD_LOD
Load a specific lod meshes, which is defined by JT_IO_SPECIFIC_LOD.
Definition Io3dmgr.h:67
@ JT_IMPORT_CONCATENATE
Concatenate meshes that are part of the same assembly.
Definition Io3dmgr.h:66
CXTString< TCHAR > CXString
CXString depend on the target OS. Could be CXStringW (Windows) or CXStringA (Linux / Macos)
Definition XString.h:118
C3DIo class handles reading / writing / updating 3D file.
Definition Io3dmgr.h:233
static void InitLoadOptionsFromPrefsData(unsigned int fileClass, CSceneImportOptions &options, const CCustomData &savedPrefs)
Load some default load options that might have been saved in preferences.
static bool CanUpdate(unsigned int inputFormat, unsigned int outputFormat)
Determine in outputformat can handle inputformat update mode (ie gtlf -> glb)
bool GetSaveOptionsPrefs(CSceneExportOptions &options) const
Load some default save options that might have been saved in preferences.
static bool CanUpdate(unsigned int fileclass, C3DScene *scene=NULL)
Determine if a fileclass is able to update file, and if scene is provided checks that the scene conta...
bool GetLoadOptionsPrefs(CSceneImportOptions &options) const
Load some default load options that might have been saved in preferences.
static void InitSaveOptionsFromPrefsData(unsigned int fileClass, CSceneExportOptions &options, const CCustomData &savedPrefs)
Load some default load options that might have been saved in preferences.
Class for reading / writing a specific file format. If is called by C3DIo when extension has been rec...
Definition Io3dmgr.h:302
virtual bool Save(const CXString &filename, C3DScene *scene, CSceneExportOptions &options)
Last way to check possible mutual exclusive flags considering the scene before export (ie embed media...
Definition Io3dmgr.h:342
void SetScene(C3DScene *scene)
This is the scene to save. When update or save is called, this scene has been prepared accordingly to...
Definition Io3dmgr.h:310
C3DScene * GetScene()
When reading, this is the read scene, when saving, this is the input scene or the scene prepared with...
Definition Io3dmgr.h:311
virtual C3DScene * Read(const CXString &filename, CSceneImportOptions &options)
Definition Io3dmgr.h:327
The class allows to get access to the scene graph, node hierarchy, material.
Definition 3DScene.h:306
The class defines an x, y, z 3D point which can use int, float or double.
Definition 3DPoint.h:27
CCustomData is a handly class for storing any kind of data.
Definition CustomData.h:106
Definition IoCommon.h:150
A given extension may match several formats. In case of conflict CFileNameSpec is a way to indicate t...
Definition FileInfo.h:156
Definition IoCommon.h:130
This class is used to provide some specific options when exporting a 3D scene.
Definition Io3dmgr.h:157
longuint neededflags
Fill by the parser. A combination of SCENE_EXPORT_FLAGS that are absolutely required.
Definition Io3dmgr.h:179
bool saveInDifferentPath
Simple way to know if the saved scene is saved in a different location than the original file....
Definition Io3dmgr.h:208
bool textureLocalPathOnly
Default: false. Textures are made local to the target scene path. texturePath is ignored.
Definition Io3dmgr.h:199
unsigned int textureNameLimit
Default: 0 (inactive). Max number of characters for filename (ie textures when moved)....
Definition Io3dmgr.h:200
longuint defaultflags
Fill by the parser. A combination of SCENE_EXPORT_FLAGS that could be used or are better to use,...
Definition Io3dmgr.h:180
CXString filename
The output filename.
Definition Io3dmgr.h:192
UNIT_MODE targetunit
define the I/O required unit
Definition Io3dmgr.h:181
CXString previousFilename
The original file path of the scene, which can differs if the file is converted.
Definition Io3dmgr.h:207
xStringEncoding nameEncoding
Default: xStringDefaultEncoding. Force name to have a specific encoding which guarantee that the text...
Definition Io3dmgr.h:191
xStringEncoding textureNameEncoding
Default: xStringDefaultEncoding. Force texture name to have a specific encoding which guarantee that ...
Definition Io3dmgr.h:201
CXString texturePath
To be defined. Target path for texture unless textureLocalPathOnly is set to true....
Definition Io3dmgr.h:198
unsigned int materialNameLimit
Default: 0 (inactive). Max number of characters for node names. Use SCENE_OPTIONS_MAKE_NAME to define...
Definition Io3dmgr.h:190
bool saveInDifferentFormat
Simple way to know if the saved scene is saved in a different location than the original file....
Definition Io3dmgr.h:209
longuint flags
Definition Io3dmgr.h:173
int faceLimit
Max number of point & face supported by the I/O.
Definition Io3dmgr.h:185
CXString GetUniqueTextureFilename(const CXString &fullTexturePath, const CXString &suffix=CXString(), bool fileMustNotExist=false)
Return a name that comply the io specification (name limit, encoding...). The name is always differen...
static CSceneExportOptions * Create(unsigned int flags=SCENE_EXPORT_DEFAULT)
Create and allocate a CSceneExportOptions that can be deleted using Delete(). Use xNew internally.
unsigned int nameLimit
Default: 0 (inactive). Max number of characters for node names. Use SCENE_OPTIONS_MAKE_NAME to define...
Definition Io3dmgr.h:189
This class is used to provide some specific options when loading scene file.
Definition Io3dmgr.h:133
longuint flags
User control on importation (one or more SCENE_IMPORT_FLAGS)
Definition Io3dmgr.h:138