Go to the documentation of this file.00001 #ifndef __FBFBXOPTIONS_H__
00002 #define __FBFBXOPTIONS_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00047 #include <kaydaradef.h>
00048 #ifndef FBSDK_DLL
00049
00052 #define FBSDK_DLL K_DLLIMPORT
00053 #endif
00054
00055 #include <fbsdk/fbcomponent.h>
00056
00057 #ifdef FBSDKUseNamespace
00058 namespace FBSDKNamespace {
00059 #endif
00060
00061
00063
00066 enum FBElementAction {
00067 kFBElementActionSave ,
00068 kFBElementActionAppend ,
00069 kFBElementActionMerge ,
00070 kFBElementActionDiscard,
00071 };
00072 FB_DEFINE_ENUM( FBSDK_DLL, ElementAction );
00073
00076 enum FBTakeSpanOnLoad {
00077 kFBLeaveAsIs ,
00078 kFBImportFromFile,
00079 kFBFrameAnimation,
00080 };
00081 FB_DEFINE_ENUM( FBSDK_DLL, TakeSpanOnLoad );
00082
00085 enum FBCharacterLoadAnimationMethod {
00086 kFBCharacterLoadConnect ,
00087 kFBCharacterLoadCopy ,
00088 kFBCharacterLoadRetarget ,
00089 kFBCharacterLoadPlotIfSampled ,
00090 kFBCharacterLoadPlot
00091 };
00092 FB_DEFINE_ENUM(FBSDK_DLL, CharacterLoadAnimationMethod);
00093
00094 enum FBFileFormatAndVersion
00095 {
00096 kFBFBX2010,
00097 kFBFBX2011,
00098 kFBDefaultFormatAndVersion = kFBFBX2011
00099 };
00100 FB_DEFINE_ENUM(FBSDK_DLL, FileFormatAndVersion);
00101
00103
00105 enum FBOptionsContext {
00106 kFBOptionsContextSave ,
00107 kFBOptionsContextSaveSelection ,
00108 kFBOptionsContextLoad ,
00109 kFBOptionsContextMultiLoad ,
00110 kFBOptionsContextMerge,
00111 };
00112
00113 __FB_FORWARD( FBFbxOptions );
00114
00116 class FBSDK_DLL FBFbxOptions : public FBComponent {
00117 __FBClassDeclare( FBFbxOptions, FBComponent );
00118 public:
00126 FBFbxOptions( bool pLoad, const char * pFilePathToLoad = NULL, HIObject pObject = NULL);
00127
00133 void SetAll( FBElementAction pElementAction, bool pAnimation );
00134
00140 void SaveToString(FBString& pString, FBOptionsContext context );
00141
00147 void SetFromString( const char* pString, FBOptionsContext context );
00148
00153 FBPropertyBool UpdateRecentFiles;
00154
00159 FBPropertyTakeSpanOnLoad TakeSpan;
00160
00161
00162
00168 FBPropertyFileFormatAndVersion FileFormatAndVersion;
00169 FBPropertyBool EmbedMedia;
00170 FBPropertyBool SaveSelectedModelsOnly;
00171 FBPropertyBool KeepTransformHierarchy;
00172 FBPropertyBool UseASCIIFormat;
00173 FBPropertyInt CacheSize;
00174 FBPropertyBool CompressArray;
00175 FBPropertyInt CompressMinSize;
00176 FBPropertyInt CompressLevel;
00177
00178
00179
00183 FBPropertyBool BaseCameras;
00184 FBPropertyBool CameraSwitcherSettings;
00185 FBPropertyBool CurrentCameraSettings;
00186 FBPropertyBool GlobalLightingSettings;
00187 FBPropertyBool TransportSettings;
00188
00189
00193 FBPropertyBool FileReference;
00194 FBPropertyBool FileReferenceEdit;
00195 FBPropertyString NamespaceList;
00196
00197
00201 FBPropertyBool RemoveEmptyLayer;
00202 FBPropertyBool ConsiderMuteSolo;
00203
00204
00208 FBPropertyElementAction Actors;
00209 FBPropertyElementAction ActorFaces;
00210 FBPropertyElementAction Audio;
00211 FBPropertyElementAction Bones;
00212 FBPropertyElementAction Cameras;
00213 FBPropertyElementAction Characters;
00214 FBPropertyElementAction CharacterFaces;
00215 FBPropertyElementAction CharacterExtensions;
00216 FBPropertyElementAction Constraints;
00217 FBPropertyElementAction Devices;
00218 FBPropertyElementAction FileReferences;
00219 FBPropertyElementAction Groups;
00220 FBPropertyElementAction KeyingGroups;
00221 FBPropertyElementAction Lights;
00222 FBPropertyElementAction Materials;
00223 FBPropertyElementAction Models;
00224 FBPropertyElementAction Notes;
00225 FBPropertyElementAction OpticalData;
00226 FBPropertyElementAction PhysicalProperties;
00227 FBPropertyElementAction Poses;
00228 FBPropertyElementAction Scripts;
00229 FBPropertyElementAction Sets;
00230 FBPropertyElementAction Shaders;
00231 FBPropertyElementAction Solvers;
00232 FBPropertyElementAction Story;
00233 FBPropertyElementAction Textures;
00234 FBPropertyElementAction Video;
00235
00236
00237
00242 FBPropertyBool ActorFacesAnimation;
00243 FBPropertyBool BonesAnimation;
00244 FBPropertyBool CamerasAnimation;
00245 FBPropertyBool CharactersAnimation;
00246 FBPropertyBool CharacterFacesAnimation;
00247 FBPropertyBool ConstraintsAnimation;
00248 FBPropertyBool DevicesAnimation;
00249 FBPropertyBool LightsAnimation;
00250 FBPropertyBool MaterialsAnimation;
00251 FBPropertyBool ModelsAnimation;
00252 FBPropertyBool NotesAnimation;
00253 FBPropertyBool PhysicalPropertiesAnimation;
00254 FBPropertyBool ShadersAnimation;
00255 FBPropertyBool SolversAnimation;
00256 FBPropertyBool StoryAnimation;
00257 FBPropertyBool TexturesAnimation;
00258
00259
00263 FBPropertyBool SaveCharacter;
00264 FBPropertyBool SaveControlSet;
00265 FBPropertyBool SaveCharacterExtensions;
00266 FBPropertyBool ClearSelectionBeforeSave;
00267
00268
00269
00270
00274 FBPropertyCharacterLoadAnimationMethod TransferMethod;
00275 FBPropertyBool ProcessAnimationOnExtension;
00276 FBPropertyBool ReplaceControlSet;
00277 FBPropertyBool ResetDOF;
00278 FBPropertyBool ResetHierarchy;
00279 FBPropertyBool RemoveConstraintReference;
00280 FBPropertyBool CopyCharacterExtensions;
00281 FBPropertyBool RetargetOnBaseLayer;
00282 FBPropertyBool IgnoreConflicts;
00283
00284
00288 FBPropertyBool ShowFileDialog;
00289 FBPropertyBool ShowOptionsDialog;
00290 FBPropertyBool SetPropertyStaticIfPossible;
00291
00292
00297
00301 int GetTakeCount() const;
00302
00306 bool GetTakeSelect(int pTakeIndex) const;
00307
00312 void SetTakeSelect(int pTakeIndex, bool pSelect);
00313
00317 const char* GetTakeName(int pTakeIndex) const;
00318
00323 void SetTakeName(int pTakeIndex, const char* pName);
00324
00328 const char* GetTakeDescription(int pTakeIndex) const;
00329
00334 void SetTakeDescription(int pTakeIndex, const char* pDescription);
00335
00339 const char* GetTakeDestinationName(int pTakeIndex) const;
00340
00345 void SetTakeDestinationName(int pTakeIndex, const char* pDestinationName);
00347
00351 void SetNamespaceList(const FBStringList& pNamespaceList);
00352
00356 FBStringList GetNamespaceList();
00357 };
00358
00359 #ifdef FBSDKUseNamespace
00360 }
00361 #endif
00362
00363 #endif