fbxglobalcamerasettings.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_FILEIO_GLOBAL_CAMERA_SETTINGS_H_
00014 #define _FBXSDK_FILEIO_GLOBAL_CAMERA_SETTINGS_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/base/fbxstring.h>
00019 #include <fbxsdk/core/base/fbxerror.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00023 class FbxNode;
00024 class FbxManager;
00025 class FbxScene;
00026 class FbxCamera;
00027 class FbxCameraSwitcher;
00028 class FbxGlobalCameraSettingsProperties;
00029 
00030 #define PRODUCER_PERSPECTIVE "Producer Perspective"
00031 #define PRODUCER_TOP "Producer Top"
00032 #define PRODUCER_FRONT "Producer Front"
00033 #define PRODUCER_BACK "Producer Back"
00034 #define PRODUCER_RIGHT "Producer Right"
00035 #define PRODUCER_LEFT "Producer Left"
00036 #define PRODUCER_BOTTOM "Producer Bottom"
00037 #define CAMERA_SWITCHER "Camera Switcher"
00038 
00039 
00046 class FBXSDK_DLL FbxGlobalCameraSettings
00047 {
00048     FBXSDK_FRIEND_NEW();
00053     public:
00061         bool SetDefaultCamera(char* pCameraName);
00062 
00066         char* GetDefaultCamera() const;
00067 
00069         void RestoreDefaultSettings();
00070 
00076         enum EViewingMode
00077         {
00078             eStandard,  
00079             eXRay,      
00080             eModelsOnly 
00081         };
00082 
00086         void SetDefaultViewingMode(EViewingMode pViewingMode);
00087 
00091         EViewingMode GetDefaultViewingMode() const;
00092 
00094 
00101 
00104         void CreateProducerCameras();
00105 
00108         void DestroyProducerCameras();
00109 
00114         bool IsProducerCamera(FbxCamera* pCamera) const;
00115 
00130         FbxCameraSwitcher* GetCameraSwitcher() const;
00131 
00135         void                SetCameraSwitcher(FbxCameraSwitcher* pSwitcher);
00136 
00140         FbxCamera* GetCameraProducerPerspective() const;
00141 
00145         FbxCamera* GetCameraProducerTop() const;
00146 
00150         FbxCamera* GetCameraProducerBottom() const;
00151 
00155         FbxCamera* GetCameraProducerFront() const;
00156 
00160         FbxCamera* GetCameraProducerBack() const;
00161 
00165         FbxCamera* GetCameraProducerRight() const;
00166 
00170         FbxCamera* GetCameraProducerLeft() const;
00171 
00173 
00177         const FbxGlobalCameraSettings& operator=(const FbxGlobalCameraSettings& pGlobalCameraSettings);
00178 
00184 
00188         FbxError& GetError();
00189 
00195         enum EErrorCode
00196         {
00197             eNullParameter,
00198             eUnknownCameraName,
00199             eErrorCount
00200         };
00201 
00205         EErrorCode GetLastErrorID() const;
00206 
00210         const char* GetLastErrorString() const;
00211 
00213 
00215     //
00216     //  WARNING!
00217     //
00218     //  Anything beyond these lines may not be documented accurately and is
00219     //  subject to change without notice.
00220     //
00222 
00223     #ifndef DOXYGEN_SHOULD_SKIP_THIS
00224         bool CopyProducerCamera(FbxString pCameraName, const FbxCamera* pCamera) const;
00225         int  GetProducerCamerasCount() const { return 7; }
00226     private:
00227         FbxGlobalCameraSettings(FbxManager& pManager, FbxScene& pScene);
00228         ~FbxGlobalCameraSettings();
00229 
00230         FbxGlobalCameraSettingsProperties* mPH;
00231 
00232         friend class FbxScene;
00233 
00234     #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00235 
00236 };
00237 
00238 #include <fbxsdk/fbxsdk_nsend.h>
00239 
00240 #endif /* _FBXSDK_FILEIO_GLOBAL_CAMERA_SETTINGS_H_ */