fbxsdk/scene/geometry/fbxcamerastereo.h Source File
 
 
 
fbxsdk/scene/geometry/fbxcamerastereo.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_SCENE_GEOMETRY_CAMERA_STEREO_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_CAMERA_STEREO_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxcamera.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00030 class FBXSDK_DLL FbxCameraStereo : public FbxCamera
00031 {
00032     FBXSDK_OBJECT_DECLARE(FbxCameraStereo, FbxCamera);
00033 
00034 public:
00036     virtual FbxNodeAttribute::EType GetAttributeType() const;
00037 
00039     void Reset();
00040 
00043     enum EStereoType
00044     {
00045         eNone,          
00046         eConverged,     
00047         eOffAxis,       
00048         eParallel       
00049     };
00050 
00056     FbxCamera* GetLeftCamera() const;
00057 
00063     FbxCamera* GetRightCamera() const;
00064 
00071     bool SetLeftCamera(FbxCamera* pCamera);
00072 
00079     bool SetRightCamera(FbxCamera* pCamera);
00080 
00085     FbxAMatrix GetLeftCameraLocalMatrix() const;
00086 
00091     FbxAMatrix GetLeftCameraGlobalMatrix() const;
00092 
00097     FbxAMatrix GetRightCameraLocalMatrix() const;
00098 
00103     FbxAMatrix GetRightCameraGlobalMatrix() const;
00104 
00110     double ReevaluateLeftCameraFilmOffsetX() const;
00111 
00117     double ReevaluateRightCameraFilmOffsetX() const;
00118 
00120     //
00121     // Properties
00122     //
00124 
00125     // -----------------------------------------------------------------------
00126     // Stereo and Stereo Adjustments
00127     // -----------------------------------------------------------------------
00128 
00136     FbxPropertyT<EStereoType>                    Stereo;
00137 
00145     FbxPropertyT<FbxDouble>                       InteraxialSeparation;
00146 
00154     FbxPropertyT<FbxDouble>                       ZeroParallax;
00155 
00165     FbxPropertyT<FbxDouble>                       ToeInAdjust;
00166 
00174     FbxPropertyT<FbxDouble>                       FilmOffsetRightCam;
00175 
00183     FbxPropertyT<FbxDouble>                       FilmOffsetLeftCam;
00184 
00192     FbxPropertyT<FbxReference>                     RightCamera;
00193 
00201     FbxPropertyT<FbxReference>                     LeftCamera;
00202 
00210     FbxPropertyT<FbxString>                        PrecompFileName;
00211 
00219     FbxPropertyT<FbxString>                        RelativePrecompFileName;
00220 
00228     bool ConnectProperties();
00229 
00230 /*****************************************************************************************************************************
00231 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00232 *****************************************************************************************************************************/
00233 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00234 protected:
00235     virtual void ConstructProperties(bool pForceSet);
00236 
00237     virtual FbxStringList GetTypeFlags() const;
00238 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00239 };
00240 
00241 inline EFbxType FbxTypeOf(const FbxCameraStereo::EStereoType&){ return eFbxEnum; }
00242 
00243 #include <fbxsdk/fbxsdk_nsend.h>
00244 
00245 #endif /* _FBXSDK_SCENE_GEOMETRY_CAMERA_STEREO_H_ */