kfbxcamera.h

Go to the documentation of this file.
00001 
00004 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXCAMERA_H
00005 #define FBXFILESDK_KFBXPLUGINS_KFBXCAMERA_H
00006 
00007 /**************************************************************************************
00008 
00009  Copyright (C) 2001 - 2010 Autodesk, Inc. and/or its licensors.
00010  All Rights Reserved.
00011 
00012  The coded instructions, statements, computer programs, and/or related material 
00013  (collectively the "Data") in these files contain unpublished information 
00014  proprietary to Autodesk, Inc. and/or its licensors, which is protected by 
00015  Canada and United States of America federal copyright law and by international 
00016  treaties. 
00017  
00018  The Data may not be disclosed or distributed to third parties, in whole or in
00019  part, without the prior written consent of Autodesk, Inc. ("Autodesk").
00020 
00021  THE DATA IS PROVIDED "AS IS" AND WITHOUT WARRANTY.
00022  ALL WARRANTIES ARE EXPRESSLY EXCLUDED AND DISCLAIMED. AUTODESK MAKES NO
00023  WARRANTY OF ANY KIND WITH RESPECT TO THE DATA, EXPRESS, IMPLIED OR ARISING
00024  BY CUSTOM OR TRADE USAGE, AND DISCLAIMS ANY IMPLIED WARRANTIES OF TITLE, 
00025  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR USE. 
00026  WITHOUT LIMITING THE FOREGOING, AUTODESK DOES NOT WARRANT THAT THE OPERATION
00027  OF THE DATA WILL BE UNINTERRUPTED OR ERROR FREE. 
00028  
00029  IN NO EVENT SHALL AUTODESK, ITS AFFILIATES, PARENT COMPANIES, LICENSORS
00030  OR SUPPLIERS ("AUTODESK GROUP") BE LIABLE FOR ANY LOSSES, DAMAGES OR EXPENSES
00031  OF ANY KIND (INCLUDING WITHOUT LIMITATION PUNITIVE OR MULTIPLE DAMAGES OR OTHER
00032  SPECIAL, DIRECT, INDIRECT, EXEMPLARY, INCIDENTAL, LOSS OF PROFITS, REVENUE
00033  OR DATA, COST OF COVER OR CONSEQUENTIAL LOSSES OR DAMAGES OF ANY KIND),
00034  HOWEVER CAUSED, AND REGARDLESS OF THE THEORY OF LIABILITY, WHETHER DERIVED
00035  FROM CONTRACT, TORT (INCLUDING, BUT NOT LIMITED TO, NEGLIGENCE), OR OTHERWISE,
00036  ARISING OUT OF OR RELATING TO THE DATA OR ITS USE OR ANY OTHER PERFORMANCE,
00037  WHETHER OR NOT AUTODESK HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH LOSS
00038  OR DAMAGE. 
00039 
00040 **************************************************************************************/
00041 #include <fbxfilesdk/fbxfilesdk_def.h>
00042 
00043 #include <fbxfilesdk/kfbxplugins/kfbxnodeattribute.h>
00044 #include <fbxfilesdk/kfbxplugins/kfbxcolor.h>
00045 
00046 #include <fbxfilesdk/kfbxmath/kfbxvector4.h>
00047 
00048 #include <fbxfilesdk/components/kbaselib/klib/kstring.h>
00049 
00050 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00051 
00052 class KFbxTexture;
00053 class KFbxSdkManager;
00054 class KFbxMatrix;
00055 class KFbxXMatrix;
00056 class KTime;
00057 
00065 class KFBX_DLL KFbxCamera : public KFbxNodeAttribute
00066 {
00067     KFBXOBJECT_DECLARE(KFbxCamera,KFbxNodeAttribute);
00068 
00069 public:
00071     virtual EAttributeType GetAttributeType() const;
00072 
00074     void Reset();
00075 
00089     typedef enum
00090     {
00091         ePERSPECTIVE,
00092         eORTHOGONAL
00093     } ECameraProjectionType;
00094 
00095 
00100 
00114         typedef enum
00115         {
00116             eCUSTOM_FORMAT,
00117             eD1_NTSC,
00118             eNTSC,
00119             ePAL,
00120             eD1_PAL,
00121             eHD,
00122             e640x480,
00123             e320x200,
00124             e320x240,
00125             e128x128,
00126             eFULL_SCREEN
00127         } ECameraFormat;
00128 
00135         void SetFormat(ECameraFormat pFormat);
00136 
00140         ECameraFormat GetFormat() const;
00141 
00149         typedef enum
00150         {
00151             eWINDOW_SIZE,
00152             eFIXED_RATIO,
00153             eFIXED_RESOLUTION,
00154             eFIXED_WIDTH,
00155             eFIXED_HEIGHT
00156         } ECameraAspectRatioMode;
00157 
00169         void SetAspect(ECameraAspectRatioMode pRatioMode, double pWidth, double pHeight);
00170 
00174         ECameraAspectRatioMode GetAspectRatioMode() const;
00175 
00181         void SetPixelRatio(double pRatio);
00182 
00186         double GetPixelRatio() const;
00187 
00195         void SetNearPlane(double pDistance);
00196 
00202         double GetNearPlane() const;
00203 
00211         void SetFarPlane(double pDistance);
00212 
00218         double GetFarPlane() const;
00219 
00221 
00231 
00246     typedef enum
00247     {
00248         eCUSTOM_APERTURE_FORMAT = 0,
00249         e16MM_THEATRICAL,
00250         eSUPER_16MM,
00251         e35MM_ACADEMY,
00252         e35MM_TV_PROJECTION,
00253         e35MM_FULL_APERTURE,
00254         e35MM_185_PROJECTION,
00255         e35MM_ANAMORPHIC,
00256         e70MM_PROJECTION,
00257         eVISTAVISION,
00258         eDYNAVISION,
00259         eIMAX
00260     } ECameraApertureFormat;
00261 
00266     void SetApertureFormat(ECameraApertureFormat pFormat);
00267 
00271     ECameraApertureFormat GetApertureFormat() const;
00272 
00281     typedef enum
00282     {
00283         eHORIZONTAL_AND_VERTICAL,
00284         eHORIZONTAL,
00285         eVERTICAL,
00286         eFOCAL_LENGTH
00287     } ECameraApertureMode;
00288 
00292     void SetApertureMode(ECameraApertureMode pMode);
00293 
00297     ECameraApertureMode GetApertureMode() const;
00298 
00304     void SetApertureWidth(double pWidth);
00305 
00309     double GetApertureWidth() const;
00310 
00316     void SetApertureHeight(double pHeight);
00317 
00321     double GetApertureHeight() const;
00322 
00328     void SetSqueezeRatio(double pRatio);
00329 
00333     double GetSqueezeRatio() const;
00334 
00344     typedef enum
00345     {
00346         eNO_FIT,
00347         eVERTICAL_FIT,
00348         eHORIZONTAL_FIT,
00349         eFILL_FIT,
00350         eOVERSCAN_FIT,
00351         eSTRETCH_FIT
00352     } ECameraGateFit;
00353 
00358     double ComputeFieldOfView(double pFocalLength) const;
00359 
00364     double ComputeFocalLength(double pAngleOfView) const;
00365 
00371     typedef enum
00372     {
00373         eROTATE_TRANSLATE,
00374         eTRANSLATE_ROTATE
00375     } ECameraFilmRollOrder;
00376 
00378 
00394 
00401     void SetBackgroundFileName(const char* pFileName);
00402 
00408     char const* GetBackgroundFileName() const;
00409 
00416     void SetBackgroundMediaName(const char* pFileName);
00417 
00423     char const* GetBackgroundMediaName() const;
00424 
00431     void SetForegroundFileName(const char* pFileName);
00432 
00438     char const* GetForegroundFileName() const;
00439 
00446     void SetForegroundMediaName(const char* pFileName);
00447 
00453     char const* GetForegroundMediaName() const;
00454 
00455     
00461     typedef enum
00462     {
00463         eBACKGROUND,
00464         eFOREGROUND,
00465         eBACKGROUND_AND_FOREGROUND
00466     } ECameraPlateDrawingMode;
00467 
00473     void SetBackgroundAlphaTreshold(double pThreshold);
00474 
00480     double GetBackgroundAlphaTreshold() const;
00481 
00482 
00486     void SetFitImage(bool pFitImage);
00487 
00491     bool GetFitImage() const;
00492 
00496     void SetCrop(bool pCrop);
00497 
00501     bool GetCrop() const;
00502 
00506     void SetCenter(bool pCenter);
00507 
00511     bool GetCenter() const;
00512 
00516     void SetKeepRatio(bool pKeepRatio);
00517 
00521     bool GetKeepRatio() const;
00522 
00523 
00529     void SetShowFrontPlate(bool pEnable);
00530 
00536     bool GetShowFrontPlate() const;
00537  
00541     void SetFrontPlateFitImage(bool pFrontPlateFitImage);
00542 
00546     bool GetFrontPlateFitImage() const;
00547 
00551     void SetFrontPlateCrop(bool pFrontPlateCrop);
00552 
00556     bool GetFrontPlateCrop() const;
00557 
00561     void SetFrontPlateCenter(bool pFrontPlateCenter);
00562 
00566     bool GetFrontPlateCenter() const;
00567 
00571     void SetFrontPlateKeepRatio(bool pFrontPlateKeepRatio);
00572 
00576     bool GetFrontPlateKeepRatio() const;
00577 
00581     void SetForegroundOpacity(double pOpacity);
00582 
00586     double GetForegroundOpacity() const;
00587 
00591     void SetForegroundTexture(KFbxTexture* pTexture);
00592 
00596     KFbxTexture* GetForegroundTexture() const;
00597 
00598 
00603     typedef enum
00604     {
00605         eRELATIVE_TO_INTEREST,
00606         eRELATIVE_TO_CAMERA
00607     } ECameraFrontBackPlaneDistanceMode;
00608 
00612     void SetBackPlaneDistanceMode(ECameraFrontBackPlaneDistanceMode pMode);
00613 
00617     ECameraFrontBackPlaneDistanceMode GetBackPlaneDistanceMode() const;
00618 
00625     void SetFrontPlaneDistance(double pDistance);
00626 
00630     double GetFrontPlaneDistance() const;
00631 
00635     void SetFrontPlaneDistanceMode(ECameraFrontBackPlaneDistanceMode pMode);
00636 
00640     ECameraFrontBackPlaneDistanceMode GetFrontPlaneDistanceMode() const;
00641 
00647     typedef enum
00648     {
00649         eDISABLED,
00650         eALWAYS,
00651         eWHEN_MEDIA
00652     } ECameraFrontBackPlaneDisplayMode;
00653     
00659     void SetViewFrustumFrontPlaneMode(ECameraFrontBackPlaneDisplayMode pMode);
00660 
00664     ECameraFrontBackPlaneDisplayMode GetViewFrustumFrontPlaneMode() const;
00665 
00671     void SetViewFrustumBackPlaneMode(ECameraFrontBackPlaneDisplayMode pMode);
00672 
00676     ECameraFrontBackPlaneDisplayMode GetViewFrustumBackPlaneMode() const;
00677     
00679 
00686 
00690     void SetViewCameraInterest(bool pEnable);
00691 
00695     bool GetViewCameraInterest() const;
00696 
00700     void SetViewNearFarPlanes(bool pEnable);
00701 
00705     bool GetViewNearFarPlanes() const;
00706 
00711     typedef enum
00712     {
00713         eROUND = 0,
00714         eSQUARE = 1
00715     } ECameraSafeAreaStyle;
00716 
00718 
00725 
00730     typedef enum
00731     {
00732         eINTERACTIVE,
00733         eAT_RENDER
00734     } ECameraRenderOptionsUsageTime;
00735 
00740     typedef enum
00741     {
00742         eOVERSAMPLING_ANTIALIASING,
00743         eHARDWARE_ANTIALIASING
00744     } ECameraAntialiasingMethod;
00745 
00750     typedef enum
00751     {
00752         eUNIFORM,
00753         eSTOCHASTIC
00754     } ECameraSamplingType;
00755 
00760     typedef enum
00761     {
00762         eCAMERA_INTEREST,
00763         eSPECIFIC_DISTANCE
00764     } ECameraFocusDistanceSource;
00765 
00767 
00772 
00782     bool IsBoundingBoxInView( const KFbxMatrix& pWorldToScreen, 
00783                              const KFbxMatrix& pWorldToCamera, 
00784                              const KFbxVector4 pPoints[8] ) const;
00785 
00794     bool IsPointInView( const KFbxMatrix& pWorldToScreen, const KFbxMatrix& pWorldToCamera, const KFbxVector4& pPoint ) const;
00795 
00802     KFbxMatrix ComputeWorldToScreen(int pPixelWidth, int pPixelHeight, const KFbxXMatrix& pWorldToCamera) const;
00803 
00814     KFbxMatrix ComputePerspective( int pPixelWidth, int pPixelHeight, bool pIncludePostPerspective ) const;
00815 
00817 
00819     //
00820     // Properties
00821     //
00823 
00824     // -----------------------------------------------------------------------
00825     // Geometrical
00826     // -----------------------------------------------------------------------
00827 
00835     KFbxTypedProperty<fbxDouble3>                       Position;
00836 
00844     KFbxTypedProperty<fbxDouble3>                       UpVector;
00845 
00857     KFbxTypedProperty<fbxDouble3>                       InterestPosition;
00858 
00866     KFbxTypedProperty<fbxDouble1>                       Roll;
00867 
00878     KFbxTypedProperty<fbxDouble1>                       OpticalCenterX;
00879 
00890     KFbxTypedProperty<fbxDouble1>                       OpticalCenterY;
00891 
00899     KFbxTypedProperty<fbxDouble3>                       BackgroundColor;
00900 
00908     KFbxTypedProperty<fbxDouble1>                       TurnTable;
00909 
00918     KFbxTypedProperty<fbxBool1>                         DisplayTurnTableIcon;
00919 
00920     // -----------------------------------------------------------------------
00921     // Motion Blur
00922     // -----------------------------------------------------------------------
00923 
00932     KFbxTypedProperty<fbxBool1>                         UseMotionBlur;
00933 
00942     KFbxTypedProperty<fbxBool1>                         UseRealTimeMotionBlur;
00943 
00951     KFbxTypedProperty<fbxDouble1>                       MotionBlurIntensity;
00952 
00953     // -----------------------------------------------------------------------
00954     // Optical
00955     // -----------------------------------------------------------------------
00956 
00965     KFbxTypedProperty<ECameraAspectRatioMode>           AspectRatioMode;
00966 
00974     KFbxTypedProperty<fbxDouble1>                       AspectWidth;
00975 
00983     KFbxTypedProperty<fbxDouble1>                       AspectHeight;
00984 
00992     KFbxTypedProperty<fbxDouble1>                       PixelAspectRatio;
00993 
00998     KFbxTypedProperty<ECameraApertureMode>              ApertureMode;
00999 
01007     KFbxTypedProperty<ECameraGateFit>                   GateFit;
01008 
01020     KFbxTypedProperty<fbxDouble1>                       FieldOfView;
01021 
01022 
01034     KFbxTypedProperty<fbxDouble1>                       FieldOfViewX;
01035 
01047     KFbxTypedProperty<fbxDouble1>                       FieldOfViewY;
01048 
01056     KFbxTypedProperty<fbxDouble1>                       FocalLength;
01057 
01067     KFbxTypedProperty<ECameraFormat>                    CameraFormat;
01068 
01069     // -----------------------------------------------------------------------
01070     // Frame
01071     // -----------------------------------------------------------------------
01072 
01081     KFbxTypedProperty<fbxBool1>                         UseFrameColor;
01082 
01090     KFbxTypedProperty<fbxDouble3>                       FrameColor;
01091 
01092     // -----------------------------------------------------------------------
01093     // On Screen Display
01094     // -----------------------------------------------------------------------
01095 
01103     KFbxTypedProperty<fbxBool1>                         ShowName;
01104 
01112     KFbxTypedProperty<fbxBool1>                         ShowInfoOnMoving;
01113 
01121     KFbxTypedProperty<fbxBool1>                         ShowGrid;
01122 
01130     KFbxTypedProperty<fbxBool1>                         ShowOpticalCenter;
01131 
01139     KFbxTypedProperty<fbxBool1>                         ShowAzimut;
01140 
01148     KFbxTypedProperty<fbxBool1>                         ShowTimeCode;
01149 
01157     KFbxTypedProperty<fbxBool1>                         ShowAudio;
01158 
01166     KFbxTypedProperty<fbxDouble3>                       AudioColor;
01167 
01168     // -----------------------------------------------------------------------
01169     // Clipping Planes
01170     // -----------------------------------------------------------------------
01171 
01179     KFbxTypedProperty<fbxDouble1>                       NearPlane;
01180 
01188     KFbxTypedProperty<fbxDouble1>                       FarPlane;
01189 
01190 
01199     KFbxTypedProperty<fbxBool1>                         AutoComputeClipPlanes;
01200 
01201 
01202     // -----------------------------------------------------------------------
01203     // Camera Film Setting
01204     // -----------------------------------------------------------------------
01205 
01214     KFbxTypedProperty<fbxDouble1>                       FilmWidth;
01215 
01224     KFbxTypedProperty<fbxDouble1>                       FilmHeight;
01225 
01233     KFbxTypedProperty<fbxDouble1>                       FilmAspectRatio;
01234 
01243     KFbxTypedProperty<fbxDouble1>                       FilmSqueezeRatio;
01244 
01252     KFbxTypedProperty<ECameraApertureFormat>            FilmFormat;
01253 
01262     KFbxTypedProperty<fbxDouble1>                       FilmOffsetX;
01263 
01272     KFbxTypedProperty<fbxDouble1>                       FilmOffsetY;
01273 
01281     KFbxTypedProperty<fbxDouble1>                       PreScale;
01282 
01288     KFbxTypedProperty<fbxDouble1>                       FilmTranslateX;
01289 
01295     KFbxTypedProperty<fbxDouble1>                       FilmTranslateY;
01296 
01303     KFbxTypedProperty<fbxDouble1>                       FilmRollPivotX;
01304 
01311     KFbxTypedProperty<fbxDouble1>                       FilmRollPivotY;
01312 
01321     KFbxTypedProperty<fbxDouble1>                       FilmRollValue;
01322 
01330     KFbxTypedProperty<ECameraFilmRollOrder>             FilmRollOrder ;
01331 
01332     // -----------------------------------------------------------------------
01333     // Camera View Widget Option
01334     // -----------------------------------------------------------------------
01335 
01343     KFbxTypedProperty<fbxBool1>                         ViewCameraToLookAt;
01344 
01352     KFbxTypedProperty<fbxBool1>                         ViewFrustumNearFarPlane;
01353 
01361     KFbxTypedProperty<ECameraFrontBackPlaneDisplayMode> ViewFrustumBackPlaneMode;
01362 
01370     KFbxTypedProperty<fbxDouble1>                       BackPlaneDistance;
01371 
01379     KFbxTypedProperty<ECameraFrontBackPlaneDistanceMode>    BackPlaneDistanceMode;
01380 
01388     KFbxTypedProperty<ECameraFrontBackPlaneDisplayMode> ViewFrustumFrontPlaneMode;
01389 
01397     KFbxTypedProperty<fbxDouble1>                       FrontPlaneDistance;
01398 
01406     KFbxTypedProperty<ECameraFrontBackPlaneDistanceMode>    FrontPlaneDistanceMode;
01407 
01408     // -----------------------------------------------------------------------
01409     // Camera Lock Mode
01410     // -----------------------------------------------------------------------
01411 
01419     KFbxTypedProperty<fbxBool1>                         LockMode;
01420 
01428     KFbxTypedProperty<fbxBool1>                         LockInterestNavigation;
01429 
01430     // -----------------------------------------------------------------------
01431     // Background Image Display Options
01432     // -----------------------------------------------------------------------
01433 
01441     KFbxTypedProperty<fbxBool1>                         FitImage;
01442 
01450     KFbxTypedProperty<fbxBool1>                         Crop;
01451 
01459     KFbxTypedProperty<fbxBool1>                         Center;
01460 
01468     KFbxTypedProperty<fbxBool1>                         KeepRatio;
01469 
01477     KFbxTypedProperty<fbxDouble1>                       BackgroundAlphaTreshold;
01478 
01486     KFbxTypedProperty<fbxDouble1>                       BackPlaneOffsetX;
01487 
01495     KFbxTypedProperty<fbxDouble1>                       BackPlaneOffsetY;
01496 
01504     KFbxTypedProperty<fbxDouble1>                       BackPlaneRotation;
01505 
01515     KFbxTypedProperty<fbxDouble1>                       BackPlaneScaleX;
01516 
01526     KFbxTypedProperty<fbxDouble1>                       BackPlaneScaleY;
01527 
01536     KFbxTypedProperty<fbxBool1>                         ShowBackplate;
01537 
01545     KFbxTypedProperty<fbxReference> BackgroundTexture;
01546 
01547 
01548     // -----------------------------------------------------------------------
01549     // Foreground Image Display Options
01550     // -----------------------------------------------------------------------
01551 
01559     KFbxTypedProperty<fbxBool1> FrontPlateFitImage;
01560 
01568     KFbxTypedProperty<fbxBool1> FrontPlateCrop;
01569 
01577     KFbxTypedProperty<fbxBool1> FrontPlateCenter;
01578 
01586     KFbxTypedProperty<fbxBool1> FrontPlateKeepRatio;
01587 
01588 
01597     KFbxTypedProperty<fbxBool1> ShowFrontplate;
01598 
01606     KFbxTypedProperty<fbxDouble1>                       FrontPlaneOffsetX;
01607 
01615     KFbxTypedProperty<fbxDouble1>                       FrontPlaneOffsetY;
01616 
01624     KFbxTypedProperty<fbxDouble1>                       FrontPlaneRotation;
01625 
01633     KFbxTypedProperty<fbxDouble1>                       FrontPlaneScaleX;
01634 
01642     KFbxTypedProperty<fbxDouble1>                       FrontPlaneScaleY;
01643     
01651     KFbxTypedProperty<fbxReference>                     ForegroundTexture;
01652 
01660     KFbxTypedProperty<fbxDouble1>                       ForegroundOpacity;
01661 
01662     // -----------------------------------------------------------------------
01663     // Safe Area
01664     // -----------------------------------------------------------------------
01665 
01673     KFbxTypedProperty<fbxBool1>                         DisplaySafeArea;
01674 
01682     KFbxTypedProperty<fbxBool1>                         DisplaySafeAreaOnRender;
01683 
01691     KFbxTypedProperty<ECameraSafeAreaStyle>             SafeAreaDisplayStyle;
01692 
01700     KFbxTypedProperty<fbxDouble1>                       SafeAreaAspectRatio;
01701 
01702     // -----------------------------------------------------------------------
01703     // 2D Magnifier
01704     // -----------------------------------------------------------------------
01705 
01713     KFbxTypedProperty<fbxBool1>                         Use2DMagnifierZoom;
01714 
01722     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierZoom;
01723 
01731     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierX;
01732 
01740     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierY;
01741 
01742     // -----------------------------------------------------------------------
01743     // Projection Type: Ortho, Perspective
01744     // -----------------------------------------------------------------------
01745 
01753     KFbxTypedProperty<ECameraProjectionType>            ProjectionType;
01754 
01762     KFbxTypedProperty<fbxDouble1>                       OrthoZoom;
01763 
01764     // -----------------------------------------------------------------------
01765     // Depth Of Field & Anti Aliasing
01766     // -----------------------------------------------------------------------
01767 
01775     KFbxTypedProperty<fbxBool1>                         UseRealTimeDOFAndAA;
01776 
01784     KFbxTypedProperty<fbxBool1>                         UseDepthOfField;
01785 
01793     KFbxTypedProperty<ECameraFocusDistanceSource>       FocusSource;
01794 
01802     KFbxTypedProperty<fbxDouble1>                       FocusAngle;
01803 
01811     KFbxTypedProperty<fbxDouble1>                       FocusDistance;
01812 
01820     KFbxTypedProperty<fbxBool1>                         UseAntialiasing;
01821 
01829     KFbxTypedProperty<fbxDouble1>                       AntialiasingIntensity;
01830 
01838     KFbxTypedProperty<ECameraAntialiasingMethod>        AntialiasingMethod;
01839 
01840     // -----------------------------------------------------------------------
01841     // Accumulation Buffer
01842     // -----------------------------------------------------------------------
01843 
01851     KFbxTypedProperty<fbxBool1>                         UseAccumulationBuffer;
01852 
01860     KFbxTypedProperty<fbxInteger1>                      FrameSamplingCount;
01861 
01869     KFbxTypedProperty<ECameraSamplingType>              FrameSamplingType;
01870 
01872 //
01873 //  WARNING!
01874 //
01875 //  Anything beyond these lines may not be documented accurately and is
01876 //  subject to change without notice.
01877 //
01879 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01880 
01881     friend class KFbxGlobalCameraSettings;
01882 
01883     virtual KFbxObject& Copy(const KFbxObject& pObject);
01884     virtual KFbxObject* Clone(KFbxObject* pContainer, KFbxObject::ECloneType pCloneType) const;
01885 
01886 protected:
01887     KFbxCamera(KFbxSdkManager& pManager, char const* pName);
01888 
01889     virtual bool ConstructProperties(bool pForceSet);
01890 
01894     virtual KString     GetTypeName() const;
01895     virtual KStringList GetTypeFlags() const;
01896 
01897 private:
01898     double ComputePixelRatio(kUInt pWidth, kUInt pHeight, double pScreenRatio = 1.3333333333);
01899 
01900     // Background Properties
01901     KString mBackgroundMediaName;
01902     KString mBackgroundFileName;
01903 
01904     // Foreground Properties
01905     KString mForegroundMediaName;
01906     KString mForegroundFileName;
01907 
01908     friend class KFbxNode;
01909 
01910 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
01911 
01912 };
01913 
01914 #define ImageFit    
01915 
01916 typedef KFbxCamera* HKFbxCamera;
01917 
01918 inline EFbxType FbxTypeOf( KFbxCamera::ECameraAntialiasingMethod const &pItem )         { return eENUM; }
01919 inline EFbxType FbxTypeOf( KFbxCamera::ECameraApertureFormat const &pItem )             { return eENUM; }
01920 inline EFbxType FbxTypeOf( KFbxCamera::ECameraApertureMode const &pItem )               { return eENUM; }
01921 inline EFbxType FbxTypeOf( KFbxCamera::ECameraAspectRatioMode const &pItem )            { return eENUM; }
01922 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFrontBackPlaneDisplayMode const &pItem )  { return eENUM; }
01923 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFrontBackPlaneDistanceMode const &pItem ) { return eENUM; }
01924 inline EFbxType FbxTypeOf( KFbxCamera::ECameraPlateDrawingMode const &pItem )           { return eENUM; }
01925 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFocusDistanceSource const &pItem )        { return eENUM; }
01926 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFormat const &pItem )                     { return eENUM; }
01927 inline EFbxType FbxTypeOf( KFbxCamera::ECameraGateFit const &pItem )                    { return eENUM; }
01928 inline EFbxType FbxTypeOf( KFbxCamera::ECameraProjectionType const &pItem )             { return eENUM; }
01929 inline EFbxType FbxTypeOf( KFbxCamera::ECameraRenderOptionsUsageTime const &pItem )     { return eENUM; }
01930 inline EFbxType FbxTypeOf( KFbxCamera::ECameraSafeAreaStyle const &pItem )              { return eENUM; }
01931 inline EFbxType FbxTypeOf( KFbxCamera::ECameraSamplingType const &pItem )               { return eENUM; }
01932 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFilmRollOrder const &pItem )               { return eENUM; }
01933 
01934 #include <fbxfilesdk/fbxfilesdk_nsend.h>
01935 
01936 #endif // FBXFILESDK_KFBXPLUGINS_KFBXCAMERA_H
01937