Open Reality Reference Guide
 
Loading...
Searching...
No Matches
fbfbxoptions.h
1#ifndef __FBFBXOPTIONS_H__
2#define __FBFBXOPTIONS_H__
3/**************************************************************************
4 Copyright (c) 1994 - 2009 Autodesk, Inc. and/or its licensors.
5 All Rights Reserved.
6
7 The coded instructions, statements, computer programs, and/or related
8 material (collectively the "Data") in these files contain unpublished
9 information proprietary to Autodesk, Inc. and/or its licensors, which is
10 protected by Canada and United States of America federal copyright law
11 and by international treaties.
12
13 The Data may not be disclosed or distributed to third parties, in whole
14 or in part, without the prior written consent of Autodesk, Inc.
15 ("Autodesk").
16
17 THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
18 ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
19 WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR
20 ARISING BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES
21 OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
22 PURPOSE OR USE. WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT
23 WARRANT THAT THE OPERATION OF THE DATA WILL BE UNINTERRUPTED OR ERROR
24 FREE.
25
26 IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
27 OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR
28 EXPENSES OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE
29 DAMAGES OR OTHER SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS
30 OF PROFITS, REVENUE OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR
31 DAMAGES OF ANY KIND), HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF
32 LIABILITY, WHETHER DERIVED FROM CONTRACT, TORT (INCLUDING, BUT NOT
33 LIMITED TO, NEGLIGENCE), OR OTHERWISE, ARISING OUT OF OR RELATING TO THE
34 DATA OR ITS USE OR ANY OTHER PERFORMANCE, WHETHER OR NOT AUTODESK HAS
35 BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS OR DAMAGE.
36
37**************************************************************************/
38
47#include <kaydaradef.h>
48#ifndef FBSDK_DLL
52 #define FBSDK_DLL K_DLLIMPORT
53#endif
54
55#include <fbsdk/fbcomponent.h>
56
57#ifdef FBSDKUseNamespace
58 namespace FBSDKNamespace {
59#endif
60
61
63
66enum FBElementAction {
67 kFBElementActionSave ,
68 kFBElementActionAppend ,
69 kFBElementActionMerge ,
70 kFBElementActionDiscard,
71};
72FB_DEFINE_ENUM( FBSDK_DLL, ElementAction ); // FBPropertyElementAction
73
76enum FBTakeSpanOnLoad {
77 kFBLeaveAsIs ,
78 kFBImportFromFile,
79 kFBFrameAnimation,
80};
81FB_DEFINE_ENUM( FBSDK_DLL, TakeSpanOnLoad ); // FBPropertyTakeSpanOnLoad
82
85enum FBCharacterLoadAnimationMethod {
86 kFBCharacterLoadConnect ,
87 kFBCharacterLoadCopy ,
88 kFBCharacterLoadRetarget ,
89 kFBCharacterLoadPlotIfSampled ,
90 kFBCharacterLoadPlot
91};
92FB_DEFINE_ENUM(FBSDK_DLL, CharacterLoadAnimationMethod);
93
95enum FBModelSelection {
96 kFBNone,
97 kFBCreateModels,
98 kFBSelectedModels,
99 kFBSelectedModelAndChildren,
100 kFBPrefixGroupContainingModel,
101 kFBInHierarchy,
102 kFBAllModels,
103};
104FB_DEFINE_ENUM(FBSDK_DLL, ModelSelection); // FBPropertyModelSelection
105
106enum FBFileFormatAndVersion
107{
108 kFBFBX2010,
109 kFBFBX2011,
110 kFBFBX2012,
111 kFBFBX2013,
112 kFBFBX2014_2015,
113 kFBFBX2016,
114 kFBFBX2018,
115 kFBFBX2019,
116 kFBFBX2020,
117 kFBDefaultFormatAndVersion = kFBFBX2020
118};
119FB_DEFINE_ENUM(FBSDK_DLL, FileFormatAndVersion);
120
122
124enum FBOptionsContext {
125 kFBOptionsContextSave ,
126 kFBOptionsContextSaveSelection ,
127 kFBOptionsContextLoad ,
128 kFBOptionsContextMultiLoad ,
129 kFBOptionsContextMerge,
130};
131
133
137public:
145 FBFbxOptions( bool pLoad, const char * pFilePathToLoad = NULL, HIObject pObject = NULL);
146
152 void SetAll( FBElementAction pElementAction, bool pAnimation );
153
159 void SaveToString(FBString& pString, FBOptionsContext context );
160
166 void SetFromString( const char* pString, FBOptionsContext context );
167
173
178 FBPropertyTakeSpanOnLoad TakeSpan;
180
181
187 FBPropertyFileFormatAndVersion FileFormatAndVersion;
197
198
208
216
223
227 FBPropertyElementAction Actors;
228 FBPropertyElementAction ActorFaces;
229 FBPropertyElementAction Audio;
230 FBPropertyElementAction Bones;
231 FBPropertyElementAction Cameras;
232 FBPropertyElementAction Characters;
233 FBPropertyElementAction CharacterFaces;
234 FBPropertyElementAction CharacterExtensions;
235 FBPropertyElementAction Constraints;
236 FBPropertyElementAction Devices;
237 FBPropertyElementAction FileReferences;
238 FBPropertyElementAction Groups;
239 FBPropertyElementAction KeyingGroups;
240 FBPropertyElementAction Lights;
241 FBPropertyElementAction Materials;
242 FBPropertyElementAction Models;
243 FBPropertyElementAction Notes;
244 FBPropertyElementAction OpticalData;
245 FBPropertyElementAction PhysicalProperties;
246 FBPropertyElementAction Poses;
247 FBPropertyElementAction Scripts;
248 FBPropertyElementAction Sets;
249 FBPropertyElementAction Shaders;
250 FBPropertyElementAction Solvers;
251 FBPropertyElementAction Story;
252 FBPropertyElementAction Textures;
253 FBPropertyElementAction Video;
255
256
278
287
288
289
293 FBPropertyCharacterLoadAnimationMethod TransferMethod;
303
311
316
320 int GetTakeCount() const;
321
325 bool GetTakeSelect(int pTakeIndex) const;
326
331 void SetTakeSelect(int pTakeIndex, bool pSelect);
332
336 const char* GetTakeName(int pTakeIndex) const;
337
342 void SetTakeName(int pTakeIndex, const char* pName);
343
347 const char* GetTakeDescription(int pTakeIndex) const;
348
353 void SetTakeDescription(int pTakeIndex, const char* pDescription);
354
358 const char* GetTakeDestinationName(int pTakeIndex) const;
359
364 void SetTakeDestinationName(int pTakeIndex, const char* pDestinationName);
366
374
380 void SetTakeKeyRange(int pTakeIndex, FBTimeSpan pKeyTimeSpan);
382
387 void SetNamespaceList(const FBStringList& pNamespaceList);
388
393
394
401
428 void SetMultiLoadNamespaceList( const FBStringList& pMultiLoadNamespaceList );
429
436};
437
438#ifdef FBSDKUseNamespace
439 }
440#endif
441
442#endif
Template class to contain an array of items.
Definition fbarray.h:78
MotionBuilder SDK base class.
Customize file loading and saving.
FBPropertyElementAction Models
Read Write Property: Handling of the Models elements.
FBPropertyBool CharacterFacesAnimation
Read Write Property: Handling of the Character Faces animation.
FBPropertyBool BaseCameras
Read Write Property: Consider base camera settings.
FBPropertyElementAction Shaders
Read Write Property: Handling of the Shaders elements.
FBPropertyElementAction Lights
Read Write Property: Handling of the Lights elements.
FBPropertyElementAction Notes
Read Write Property: Handling of the Notes elements.
void SetObjectsToSave(FBArrayTemplate< FBComponent * > *pObjectsToSave)
Sets the list of objects that will be saved.
FBPropertyBool ReplaceControlSet
Read Write Property: Set to true if the character extensions (and their children) should be saved whe...
FBPropertyBool SaveCharacterExtensions
Read Write Property: Set to true if the character extensions (and their children) should be saved whe...
FBPropertyInt CompressMinSize
Read Write Property: Indicate if the minimum item size for compressing arrays.
FBPropertyElementAction Constraints
Read Write Property: Handling of the Constraints elements.
FBTimeSpan GetTakeKeyRange(int pTakeIndex)
Get take key range.
FBPropertyBool PhysicalPropertiesAnimation
Read Write Property: Handling of the Physical Properties animation.
FBPropertyInt CompressLevel
Read Write Property: The allowed level range for Compression is [0-9] where 0 equals no compression a...
FBPropertyElementAction Poses
Read Write Property: Handling of the Poses elements.
void SaveToString(FBString &pString, FBOptionsContext context)
Serialize all options to a string Serialize all options to a string specifying a context.
FBPropertyElementAction KeyingGroups
Read Write Property: Handling of the Keying Groups elements.
FBPropertyElementAction Scripts
Read Write Property: Handling of the Scripts elements.
const char * GetTakeName(int pTakeIndex) const
Take Original Name.
FBPropertyElementAction Textures
Read Write Property: Handling of the Textures elements.
FBPropertyBool ConsiderMuteSolo
Read Write property: Consider the mute/solo settings to identify identical layer when merging.
FBPropertyBool CompressArray
Read Write Property: Indicate if the perform compression on the arrays values.
FBPropertyBool RemoveConstraintReference
Read Write Property: Set to true if we should remove constraint reference.
FBPropertyElementAction ActorFaces
Read Write Property: Handling of the Actor Faces elements.
void SetTakeDestinationName(int pTakeIndex, const char *pDestinationName)
Take Destination Name upon save or load.
FBPropertyBool LightsAnimation
Read Write Property: Handling of the Lights animation.
FBPropertyBool ProcessAnimationOnExtension
Read Write Property: Set to true if animation on character extensions should also be transferred.
FBPropertyCharacterLoadAnimationMethod TransferMethod
Read Write Property: How should the animation should be transfered on the target rig.
FBPropertyElementAction Solvers
Read Write Property: Handling of the Solvers elements.
FBPropertyElementAction Devices
Read Write Property: Handling of the Devices elements.
FBPropertyBool ModelsAnimation
Read Write Property: Handling of the Models animation.
FBPropertyBool StoryAnimation
Read Write Property: Handling of the Story animation (animatable properties on story objects).
FBPropertyBool UpdateRecentFiles
Read Write Property: Set to true to update recent file list.
FBPropertyBool ConstraintsAnimation
Read Write Property: Handling of the Constraints animation.
FBPropertyBool ResetDOF
Read Write Property: Set to true if we should change the limits on the target rig.
FBPropertyElementAction Bones
Read Write Property: Handling of the Bones elements.
void SetNamespaceList(const FBStringList &pNamespaceList)
SetNamespaceList upon save or load On Load, if the SetMultiLoadNamespaceList method is also called,...
void SetFromString(const char *pString, FBOptionsContext context)
Set all options from string Set all parameters from a formatted string (previously serialized with Sa...
void SetAll(FBElementAction pElementAction, bool pAnimation)
Set All Options.
FBPropertyBool IgnoreConflicts
Read Write Property: Set to true to ignore conflicts between objects in character extensions and obje...
const char * GetTakeDescription(int pTakeIndex) const
Take Description.
FBPropertyBool TransportSettings
Read Write Property: Consider transport control settings.
FBPropertyElementAction Story
Read Write Property: Handling of the Story elements.
FBPropertyBool TexturesAnimation
Read Write Property: Handling of the Textures animation.
FBPropertyBool ActorFacesAnimation
Read Write Property: Handling of the Actor Faces animation.
FBStringList GetNamespaceList()
GetNamespaceList upon save or load.
void SetTakeDescription(int pTakeIndex, const char *pDescription)
Take Description.
FBPropertyElementAction Actors
Read Write Property: Handling of the Actors elements.
FBPropertyBool UseASCIIFormat
Read Write Property: Indicate if the resulting FBX file will be in binary or ASCII mode.
FBPropertyBool SaveCharacter
Read Write Property: Set to true if the character should be saved when call FBApplication::SaveCharac...
FBPropertyBool SaveControlSet
Read Write Property: Set to true if the rig (and its children) should be saved when call FBApplicatio...
FBPropertyElementAction PhysicalProperties
Read Write Property: Handling of the Physical Properties elements.
FBPropertyBool ResetHierarchy
Read Write Property: Set to true if we should reset the character hierarchy.
bool GetTakeSelect(int pTakeIndex) const
Return if true if the take will be saved or Loaded.
FBStringList GetMultiLoadNamespaceList()
Returns the list of namespaces that will be used when merging multiple scenes (see FBApplication::Fil...
FBPropertyBool GlobalLightingSettings
Read Write Property: Consider global Lighting settings.
FBPropertyElementAction OpticalData
Read Write Property: Handling of the Optical Data elements.
FBPropertyBool ShowFileDialog
Read Write Property: Set to true if want to pop up dialog for FileName, Format, Embed,...
FBPropertyElementAction Materials
Read Write Property: Handling of the Materials elements.
FBPropertyBool SaveSelectedModelsOnly
Read Write Property: Indicate that only the selected models will be saved.
FBPropertyBool BonesAnimation
Read Write Property: Handling of the Bones animation.
FBPropertyBool CurrentCameraSettings
Read Write Property: Consider current camera settings.
const char * GetTakeDestinationName(int pTakeIndex) const
Take Destination Name upon save or load.
FBPropertyBool RetargetOnBaseLayer
Read Write Property: If the transfer method is retarget, set this parameter to control where the reta...
void SetTakeSelect(int pTakeIndex, bool pSelect)
Return if true if the take will be saved or Loaded.
FBPropertyElementAction Audio
Read Write Property: Handling of the Audio elements.
FBPropertyBool ShowOptionsDialog
Read Write Property: Set to true if want to pop up options dialog for detail settings.
FBPropertyBool NotesAnimation
Read Write Property: Handling of the Notes animation.
FBPropertyBool CharactersAnimation
Read Write Property: Handling of the Characters animation.
FBPropertyInt CacheSize
Read Write Property: The Cached buffer size used to accelerate IO system.
FBPropertyBool FileReference
Read Write property: Load/Save scene as FileReference.
FBPropertyBool EmbedMedia
Read Write Property: Embed all media in the FBX file itself. When saving in ASCII mode it is not poss...
FBPropertyElementAction Cameras
Read Write Property: Handling of the Cameras elements.
FBPropertyString NamespaceList
Read Write Property: A list of namespaces separated by '~'. On Load, duplicate the loaded objects int...
FBPropertyBool MaterialsAnimation
Read Write Property: Handling of the Materials animation.
FBPropertyTakeSpanOnLoad TakeSpan
Read Write Property: Indicate how the take start and end point should be set. By default it is read f...
FBPropertyBool SolversAnimation
Read Write Property: Handling of the Solvers animation.
FBPropertyBool RemoveEmptyLayer
Read Write property: Remove empty animation layers that are in additive mode, without child or parent...
FBPropertyBool ClearSelectionBeforeSave
Read Write Property: Set to true if the current selected objects shouldn't saved when call FBApplicat...
FBPropertyBool CopyCharacterExtensions
Read Write Property: pCopyMissingExtensions Set to true if the character extensions on the rig in the...
FBPropertyElementAction CharacterExtensions
Read Write Property: Handling of the Character Extensions.
void SetTakeName(int pTakeIndex, const char *pName)
Take Original Name.
FBPropertyBool CameraSwitcherSettings
Read Write Property: Consider camera switcher settings.
FBPropertyBool SetPropertyStaticIfPossible
Read Write Property: Set to false if want to keep properties' animated flag even when they are not re...
FBPropertyElementAction FileReferences
Read Write Property: Handling of the FileReferences elements.
FBPropertyElementAction Characters
Read Write Property: Handling of the Characters elements.
FBPropertyElementAction Sets
Read Write Property: Handling of the Sets elements.
FBPropertyBool CamerasAnimation
Read Write Property: Handling of the Cameras animation.
int GetTakeCount() const
Return the count of takes in the scene to saved or the file to loaded.
FBPropertyElementAction CharacterFaces
Read Write Property: Handling of the Character Faces elements.
FBPropertyBool DevicesAnimation
Read Write Property: Handling of the Devices animation.
FBPropertyBool KeepTransformHierarchy
Read Write Property: Indicate whether we keep transform hierarchy when SaveSelectedModelsOnly is true...
void SetMultiLoadNamespaceList(const FBStringList &pMultiLoadNamespaceList)
Sets the list of namespaces that will be used when merging multiple scenes (see FBApplication::FileMe...
FBPropertyElementAction Video
Read Write Property: Handling of the Video elements.
FBPropertyElementAction Groups
Read Write Property: Handling of the Groups elements.
FBPropertyBool ShadersAnimation
Read Write Property: Handling of the Shaders animation.
FBPropertyFileFormatAndVersion FileFormatAndVersion
Read Write Property: File format and version chosen to save the scene.
FBPropertyBool FileReferenceEdit
Read Write Property: Load/Save the edits made to referenced objects or not.
void SetTakeKeyRange(int pTakeIndex, FBTimeSpan pKeyTimeSpan)
Set take key range.
FBFbxOptions(bool pLoad, const char *pFilePathToLoad=NULL, HIObject pObject=NULL)
Constructor.
Property class: const char * (String).
Basic string class.
Definition fbstring.h:67
String list.
Definition fbstring.h:208
TimeSpan class.
Definition fbtime.h:410
Basic class definitions.
#define __FBClassDeclare(Name, Parent)
For internal use only.
#define FBSDK_DLL
Be sure that FBSDK_DLL is defined only once...
class K_DLLIMPORT FBPropertyBase< int, kFBPT_int > FBPropertyInt
Property: int
class K_DLLIMPORT FBPropertyBase< bool, kFBPT_bool > FBPropertyBool
Property: bool
#define FB_DEFINE_ENUM(DllTag, Type)
Define an enum and give it the ability to be a property.
#define __FB_FORWARD(ClassName)
Forwarding of class and typedef declaration.
Definition fbtypes.h:68