fbxsdk/fileio/fbxglobalcamerasettings.h Source File
 
 
 
fbxsdk/fileio/fbxglobalcamerasettings.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 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 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00022 class FbxStatus;
00023 class FbxManager;
00024 class FbxScene;
00025 class FbxCamera;
00026 class FbxCameraSwitcher;
00027 
00028 #define FBXSDK_CAMERA_PERSPECTIVE       "Producer Perspective"
00029 #define FBXSDK_CAMERA_TOP                       "Producer Top"
00030 #define FBXSDK_CAMERA_FRONT                     "Producer Front"
00031 #define FBXSDK_CAMERA_BACK                      "Producer Back"
00032 #define FBXSDK_CAMERA_RIGHT                     "Producer Right"
00033 #define FBXSDK_CAMERA_LEFT                      "Producer Left"
00034 #define FBXSDK_CAMERA_BOTTOM            "Producer Bottom"
00035 #define FBXSDK_CAMERA_SWITCHER          "Camera Switcher"
00036 
00043 class FBXSDK_DLL FbxGlobalCameraSettings
00044 {
00045     FBXSDK_FRIEND_NEW();
00046 
00047 public:
00051                 enum EViewingMode
00052                 {
00053                         eStandard,      //<! Standard view mode.
00054                         eXRay,          //<! X ray view mode.
00055                         eModelsOnly     //<! Model only view mode.
00056                 };
00057 
00064                 bool SetDefaultCamera(const char* pCameraName, FbxStatus* pStatus=NULL);
00065 
00068                 const char* GetDefaultCamera() const;
00069 
00071                 void RestoreDefaultSettings();
00072 
00075                 void SetDefaultViewingMode(EViewingMode pViewingMode);
00076 
00079                 EViewingMode GetDefaultViewingMode() const;
00081 
00087                 void CreateProducerCameras();
00088 
00090                 void DestroyProducerCameras();
00091 
00095                 bool IsProducerCamera(FbxCamera* pCamera) const;
00096 
00099                 FbxCamera* GetCameraProducerPerspective() const;
00100 
00103                 FbxCamera* GetCameraProducerFront() const;
00104 
00107                 FbxCamera* GetCameraProducerBack() const;
00108 
00111                 FbxCamera* GetCameraProducerLeft() const;
00112 
00115                 FbxCamera* GetCameraProducerRight() const;
00116 
00119                 FbxCamera* GetCameraProducerTop() const;
00120 
00123                 FbxCamera* GetCameraProducerBottom() const;
00124 
00131                 FbxCameraSwitcher* GetCameraSwitcher() const;
00132 
00135                 void SetCameraSwitcher(FbxCameraSwitcher* pSwitcher);
00137 
00140     const FbxGlobalCameraSettings& operator=(const FbxGlobalCameraSettings& pGlobalCameraSettings);
00141 
00142 /*****************************************************************************************************************************
00143 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00144 *****************************************************************************************************************************/
00145 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00146     bool CopyProducerCamera(const char* pCameraName, const FbxCamera* pCamera) const;
00147 
00148 private:
00149     FbxGlobalCameraSettings(FbxManager& pManager, FbxScene& pScene);
00150     ~FbxGlobalCameraSettings();
00151 
00152         FbxScene*                       mScene;
00153     FbxString                   mDefaultCamera;
00154     EViewingMode                mDefaultViewingMode;
00155     FbxCamera*                  mCameraPerspective;
00156     FbxCamera*                  mCameraFront;
00157     FbxCamera*                  mCameraBack;
00158     FbxCamera*                  mCameraLeft;
00159     FbxCamera*                  mCameraRight;
00160     FbxCamera*                  mCameraTop;
00161     FbxCamera*                  mCameraBottom;
00162     FbxCameraSwitcher*  mCameraSwitcher;
00163 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00164 };
00165 
00166 #include <fbxsdk/fbxsdk_nsend.h>
00167 
00168 #endif /* _FBXSDK_FILEIO_GLOBAL_CAMERA_SETTINGS_H_ */