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 
00066 class KFBX_DLL KFbxCamera : public KFbxNodeAttribute
00067 {
00068     KFBXOBJECT_DECLARE(KFbxCamera,KFbxNodeAttribute);
00069 
00070 public:
00072     virtual EAttributeType GetAttributeType() const;
00073 
00075     void Reset();
00076 
00090     typedef enum
00091     {
00092         ePERSPECTIVE,
00093         eORTHOGONAL
00094     } ECameraProjectionType;
00095 
00096 
00101 
00115         typedef enum
00116         {
00117             eCUSTOM_FORMAT,
00118             eD1_NTSC,
00119             eNTSC,
00120             ePAL,
00121             eD1_PAL,
00122             eHD,
00123             e640x480,
00124             e320x200,
00125             e320x240,
00126             e128x128,
00127             eFULL_SCREEN
00128         } ECameraFormat;
00129 
00136         void SetFormat(ECameraFormat pFormat);
00137 
00141         ECameraFormat GetFormat() const;
00142 
00150         typedef enum
00151         {
00152             eWINDOW_SIZE,
00153             eFIXED_RATIO,
00154             eFIXED_RESOLUTION,
00155             eFIXED_WIDTH,
00156             eFIXED_HEIGHT
00157         } ECameraAspectRatioMode;
00158 
00170         void SetAspect(ECameraAspectRatioMode pRatioMode, double pWidth, double pHeight);
00171 
00175         ECameraAspectRatioMode GetAspectRatioMode() const;
00176 
00182         void SetPixelRatio(double pRatio);
00183 
00187         double GetPixelRatio() const;
00188 
00196         void SetNearPlane(double pDistance);
00197 
00203         double GetNearPlane() const;
00204 
00212         void SetFarPlane(double pDistance);
00213 
00219         double GetFarPlane() const;
00220 
00222 
00232 
00247     typedef enum
00248     {
00249         eCUSTOM_APERTURE_FORMAT = 0,
00250         e16MM_THEATRICAL,
00251         eSUPER_16MM,
00252         e35MM_ACADEMY,
00253         e35MM_TV_PROJECTION,
00254         e35MM_FULL_APERTURE,
00255         e35MM_185_PROJECTION,
00256         e35MM_ANAMORPHIC,
00257         e70MM_PROJECTION,
00258         eVISTAVISION,
00259         eDYNAVISION,
00260         eIMAX
00261     } ECameraApertureFormat;
00262 
00267     void SetApertureFormat(ECameraApertureFormat pFormat);
00268 
00272     ECameraApertureFormat GetApertureFormat() const;
00273 
00282     typedef enum
00283     {
00284         eHORIZONTAL_AND_VERTICAL,
00285         eHORIZONTAL,
00286         eVERTICAL,
00287         eFOCAL_LENGTH
00288     } ECameraApertureMode;
00289 
00293     void SetApertureMode(ECameraApertureMode pMode);
00294 
00298     ECameraApertureMode GetApertureMode() const;
00299 
00305     void SetApertureWidth(double pWidth);
00306 
00310     double GetApertureWidth() const;
00311 
00317     void SetApertureHeight(double pHeight);
00318 
00322     double GetApertureHeight() const;
00323 
00329     void SetSqueezeRatio(double pRatio);
00330 
00334     double GetSqueezeRatio() const;
00335 
00345     typedef enum
00346     {
00347         eNO_FIT,
00348         eVERTICAL_FIT,
00349         eHORIZONTAL_FIT,
00350         eFILL_FIT,
00351         eOVERSCAN_FIT,
00352         eSTRETCH_FIT
00353     } ECameraGateFit;
00354 
00359     double ComputeFieldOfView(double pFocalLength) const;
00360 
00365     double ComputeFocalLength(double pAngleOfView) const;
00366 
00372     typedef enum
00373     {
00374         eROTATE_TRANSLATE,
00375         eTRANSLATE_ROTATE
00376     } ECameraFilmRollOrder;
00377 
00379 
00395 
00402     void SetBackgroundFileName(const char* pFileName);
00403 
00409     char const* GetBackgroundFileName() const;
00410 
00417     void SetBackgroundMediaName(const char* pFileName);
00418 
00424     char const* GetBackgroundMediaName() const;
00425 
00432     void SetForegroundFileName(const char* pFileName);
00433 
00439     char const* GetForegroundFileName() const;
00440 
00447     void SetForegroundMediaName(const char* pFileName);
00448 
00454     char const* GetForegroundMediaName() const;
00455 
00456     
00462     typedef enum
00463     {
00464         eBACKGROUND,
00465         eFOREGROUND,
00466         eBACKGROUND_AND_FOREGROUND
00467     } ECameraPlateDrawingMode;
00468 
00474     void SetBackgroundAlphaTreshold(double pThreshold);
00475 
00481     double GetBackgroundAlphaTreshold() const;
00482 
00483 
00487     void SetFitImage(bool pFitImage);
00488 
00492     bool GetFitImage() const;
00493 
00497     void SetCrop(bool pCrop);
00498 
00502     bool GetCrop() const;
00503 
00507     void SetCenter(bool pCenter);
00508 
00512     bool GetCenter() const;
00513 
00517     void SetKeepRatio(bool pKeepRatio);
00518 
00522     bool GetKeepRatio() const;
00523 
00524 
00530     void SetShowFrontPlate(bool pEnable);
00531 
00537     bool GetShowFrontPlate() const;
00538  
00542     void SetFrontPlateFitImage(bool pFrontPlateFitImage);
00543 
00547     bool GetFrontPlateFitImage() const;
00548 
00552     void SetFrontPlateCrop(bool pFrontPlateCrop);
00553 
00557     bool GetFrontPlateCrop() const;
00558 
00562     void SetFrontPlateCenter(bool pFrontPlateCenter);
00563 
00567     bool GetFrontPlateCenter() const;
00568 
00572     void SetFrontPlateKeepRatio(bool pFrontPlateKeepRatio);
00573 
00577     bool GetFrontPlateKeepRatio() const;
00578 
00582     void SetForegroundOpacity(double pOpacity);
00583 
00587     double GetForegroundOpacity() const;
00588 
00592     void SetForegroundTexture(KFbxTexture* pTexture);
00593 
00597     KFbxTexture* GetForegroundTexture() const;
00598 
00599 
00604     typedef enum
00605     {
00606         eRELATIVE_TO_INTEREST,
00607         eRELATIVE_TO_CAMERA
00608     } ECameraFrontBackPlaneDistanceMode;
00609 
00613     void SetBackPlaneDistanceMode(ECameraFrontBackPlaneDistanceMode pMode);
00614 
00618     ECameraFrontBackPlaneDistanceMode GetBackPlaneDistanceMode() const;
00619 
00626     void SetFrontPlaneDistance(double pDistance);
00627 
00631     double GetFrontPlaneDistance() const;
00632 
00636     void SetFrontPlaneDistanceMode(ECameraFrontBackPlaneDistanceMode pMode);
00637 
00641     ECameraFrontBackPlaneDistanceMode GetFrontPlaneDistanceMode() const;
00642 
00648     typedef enum
00649     {
00650         eDISABLED,
00651         eALWAYS,
00652         eWHEN_MEDIA
00653     } ECameraFrontBackPlaneDisplayMode;
00654     
00660     void SetViewFrustumFrontPlaneMode(ECameraFrontBackPlaneDisplayMode pMode);
00661 
00665     ECameraFrontBackPlaneDisplayMode GetViewFrustumFrontPlaneMode() const;
00666 
00672     void SetViewFrustumBackPlaneMode(ECameraFrontBackPlaneDisplayMode pMode);
00673 
00677     ECameraFrontBackPlaneDisplayMode GetViewFrustumBackPlaneMode() const;
00678     
00680 
00687 
00691     void SetViewCameraInterest(bool pEnable);
00692 
00696     bool GetViewCameraInterest() const;
00697 
00701     void SetViewNearFarPlanes(bool pEnable);
00702 
00706     bool GetViewNearFarPlanes() const;
00707 
00712     typedef enum
00713     {
00714         eROUND = 0,
00715         eSQUARE = 1
00716     } ECameraSafeAreaStyle;
00717 
00719 
00726 
00731     typedef enum
00732     {
00733         eINTERACTIVE,
00734         eAT_RENDER
00735     } ECameraRenderOptionsUsageTime;
00736 
00741     typedef enum
00742     {
00743         eOVERSAMPLING_ANTIALIASING,
00744         eHARDWARE_ANTIALIASING
00745     } ECameraAntialiasingMethod;
00746 
00751     typedef enum
00752     {
00753         eUNIFORM,
00754         eSTOCHASTIC
00755     } ECameraSamplingType;
00756 
00761     typedef enum
00762     {
00763         eCAMERA_INTEREST,
00764         eSPECIFIC_DISTANCE
00765     } ECameraFocusDistanceSource;
00766 
00768 
00773 
00783     bool IsBoundingBoxInView( const KFbxMatrix& pWorldToScreen, 
00784                              const KFbxMatrix& pWorldToCamera, 
00785                              const KFbxVector4 pPoints[8] ) const;
00786 
00795     bool IsPointInView( const KFbxMatrix& pWorldToScreen, const KFbxMatrix& pWorldToCamera, const KFbxVector4& pPoint ) const;
00796 
00803     KFbxMatrix ComputeWorldToScreen(int pPixelWidth, int pPixelHeight, const KFbxXMatrix& pWorldToCamera) const;
00804 
00815     KFbxMatrix ComputePerspective( int pPixelWidth, int pPixelHeight, bool pIncludePostPerspective ) const;
00816 
00818 
00820     //
00821     // Properties
00822     //
00824 
00825     // -----------------------------------------------------------------------
00826     // Geometrical
00827     // -----------------------------------------------------------------------
00828 
00836     KFbxTypedProperty<fbxDouble3>                       Position;
00837 
00845     KFbxTypedProperty<fbxDouble3>                       UpVector;
00846 
00858     KFbxTypedProperty<fbxDouble3>                       InterestPosition;
00859 
00867     KFbxTypedProperty<fbxDouble1>                       Roll;
00868 
00879     KFbxTypedProperty<fbxDouble1>                       OpticalCenterX;
00880 
00891     KFbxTypedProperty<fbxDouble1>                       OpticalCenterY;
00892 
00900     KFbxTypedProperty<fbxDouble3>                       BackgroundColor;
00901 
00909     KFbxTypedProperty<fbxDouble1>                       TurnTable;
00910 
00919     KFbxTypedProperty<fbxBool1>                         DisplayTurnTableIcon;
00920 
00921     // -----------------------------------------------------------------------
00922     // Motion Blur
00923     // -----------------------------------------------------------------------
00924 
00933     KFbxTypedProperty<fbxBool1>                         UseMotionBlur;
00934 
00943     KFbxTypedProperty<fbxBool1>                         UseRealTimeMotionBlur;
00944 
00952     KFbxTypedProperty<fbxDouble1>                       MotionBlurIntensity;
00953 
00954     // -----------------------------------------------------------------------
00955     // Optical
00956     // -----------------------------------------------------------------------
00957 
00966     KFbxTypedProperty<ECameraAspectRatioMode>           AspectRatioMode;
00967 
00975     KFbxTypedProperty<fbxDouble1>                       AspectWidth;
00976 
00984     KFbxTypedProperty<fbxDouble1>                       AspectHeight;
00985 
00993     KFbxTypedProperty<fbxDouble1>                       PixelAspectRatio;
00994 
00999     KFbxTypedProperty<ECameraApertureMode>              ApertureMode;
01000 
01008     KFbxTypedProperty<ECameraGateFit>                   GateFit;
01009 
01021     KFbxTypedProperty<fbxDouble1>                       FieldOfView;
01022 
01023 
01035     KFbxTypedProperty<fbxDouble1>                       FieldOfViewX;
01036 
01048     KFbxTypedProperty<fbxDouble1>                       FieldOfViewY;
01049 
01057     KFbxTypedProperty<fbxDouble1>                       FocalLength;
01058 
01068     KFbxTypedProperty<ECameraFormat>                    CameraFormat;
01069 
01070     // -----------------------------------------------------------------------
01071     // Frame
01072     // -----------------------------------------------------------------------
01073 
01082     KFbxTypedProperty<fbxBool1>                         UseFrameColor;
01083 
01091     KFbxTypedProperty<fbxDouble3>                       FrameColor;
01092 
01093     // -----------------------------------------------------------------------
01094     // On Screen Display
01095     // -----------------------------------------------------------------------
01096 
01104     KFbxTypedProperty<fbxBool1>                         ShowName;
01105 
01113     KFbxTypedProperty<fbxBool1>                         ShowInfoOnMoving;
01114 
01122     KFbxTypedProperty<fbxBool1>                         ShowGrid;
01123 
01131     KFbxTypedProperty<fbxBool1>                         ShowOpticalCenter;
01132 
01140     KFbxTypedProperty<fbxBool1>                         ShowAzimut;
01141 
01149     KFbxTypedProperty<fbxBool1>                         ShowTimeCode;
01150 
01158     KFbxTypedProperty<fbxBool1>                         ShowAudio;
01159 
01167     KFbxTypedProperty<fbxDouble3>                       AudioColor;
01168 
01169     // -----------------------------------------------------------------------
01170     // Clipping Planes
01171     // -----------------------------------------------------------------------
01172 
01180     KFbxTypedProperty<fbxDouble1>                       NearPlane;
01181 
01189     KFbxTypedProperty<fbxDouble1>                       FarPlane;
01190 
01191 
01200     KFbxTypedProperty<fbxBool1>                         AutoComputeClipPlanes;
01201 
01202 
01203     // -----------------------------------------------------------------------
01204     // Camera Film Setting
01205     // -----------------------------------------------------------------------
01206 
01215     KFbxTypedProperty<fbxDouble1>                       FilmWidth;
01216 
01225     KFbxTypedProperty<fbxDouble1>                       FilmHeight;
01226 
01234     KFbxTypedProperty<fbxDouble1>                       FilmAspectRatio;
01235 
01244     KFbxTypedProperty<fbxDouble1>                       FilmSqueezeRatio;
01245 
01253     KFbxTypedProperty<ECameraApertureFormat>            FilmFormat;
01254 
01263     KFbxTypedProperty<fbxDouble1>                       FilmOffsetX;
01264 
01273     KFbxTypedProperty<fbxDouble1>                       FilmOffsetY;
01274 
01282     KFbxTypedProperty<fbxDouble1>                       PreScale;
01283 
01289     KFbxTypedProperty<fbxDouble1>                       FilmTranslateX;
01290 
01296     KFbxTypedProperty<fbxDouble1>                       FilmTranslateY;
01297 
01304     KFbxTypedProperty<fbxDouble1>                       FilmRollPivotX;
01305 
01312     KFbxTypedProperty<fbxDouble1>                       FilmRollPivotY;
01313 
01322     KFbxTypedProperty<fbxDouble1>                       FilmRollValue;
01323 
01331     KFbxTypedProperty<ECameraFilmRollOrder>             FilmRollOrder ;
01332 
01333     // -----------------------------------------------------------------------
01334     // Camera View Widget Option
01335     // -----------------------------------------------------------------------
01336 
01344     KFbxTypedProperty<fbxBool1>                         ViewCameraToLookAt;
01345 
01353     KFbxTypedProperty<fbxBool1>                         ViewFrustumNearFarPlane;
01354 
01362     KFbxTypedProperty<ECameraFrontBackPlaneDisplayMode> ViewFrustumBackPlaneMode;
01363 
01371     KFbxTypedProperty<fbxDouble1>                       BackPlaneDistance;
01372 
01380     KFbxTypedProperty<ECameraFrontBackPlaneDistanceMode>    BackPlaneDistanceMode;
01381 
01389     KFbxTypedProperty<ECameraFrontBackPlaneDisplayMode> ViewFrustumFrontPlaneMode;
01390 
01398     KFbxTypedProperty<fbxDouble1>                       FrontPlaneDistance;
01399 
01407     KFbxTypedProperty<ECameraFrontBackPlaneDistanceMode>    FrontPlaneDistanceMode;
01408 
01409     // -----------------------------------------------------------------------
01410     // Camera Lock Mode
01411     // -----------------------------------------------------------------------
01412 
01420     KFbxTypedProperty<fbxBool1>                         LockMode;
01421 
01429     KFbxTypedProperty<fbxBool1>                         LockInterestNavigation;
01430 
01431     // -----------------------------------------------------------------------
01432     // Background Image Display Options
01433     // -----------------------------------------------------------------------
01434 
01442     KFbxTypedProperty<fbxBool1>                         FitImage;
01443 
01451     KFbxTypedProperty<fbxBool1>                         Crop;
01452 
01460     KFbxTypedProperty<fbxBool1>                         Center;
01461 
01469     KFbxTypedProperty<fbxBool1>                         KeepRatio;
01470 
01478     KFbxTypedProperty<fbxDouble1>                       BackgroundAlphaTreshold;
01479 
01487     KFbxTypedProperty<fbxDouble1>                       BackPlaneOffsetX;
01488 
01496     KFbxTypedProperty<fbxDouble1>                       BackPlaneOffsetY;
01497 
01505     KFbxTypedProperty<fbxDouble1>                       BackPlaneRotation;
01506 
01516     KFbxTypedProperty<fbxDouble1>                       BackPlaneScaleX;
01517 
01527     KFbxTypedProperty<fbxDouble1>                       BackPlaneScaleY;
01528 
01537     KFbxTypedProperty<fbxBool1>                         ShowBackplate;
01538 
01546     KFbxTypedProperty<fbxReference> BackgroundTexture;
01547 
01548 
01549     // -----------------------------------------------------------------------
01550     // Foreground Image Display Options
01551     // -----------------------------------------------------------------------
01552 
01560     KFbxTypedProperty<fbxBool1> FrontPlateFitImage;
01561 
01569     KFbxTypedProperty<fbxBool1> FrontPlateCrop;
01570 
01578     KFbxTypedProperty<fbxBool1> FrontPlateCenter;
01579 
01587     KFbxTypedProperty<fbxBool1> FrontPlateKeepRatio;
01588 
01589 
01598     KFbxTypedProperty<fbxBool1> ShowFrontplate;
01599 
01607     KFbxTypedProperty<fbxDouble1>                       FrontPlaneOffsetX;
01608 
01616     KFbxTypedProperty<fbxDouble1>                       FrontPlaneOffsetY;
01617 
01625     KFbxTypedProperty<fbxDouble1>                       FrontPlaneRotation;
01626 
01634     KFbxTypedProperty<fbxDouble1>                       FrontPlaneScaleX;
01635 
01643     KFbxTypedProperty<fbxDouble1>                       FrontPlaneScaleY;
01644     
01652     KFbxTypedProperty<fbxReference>                     ForegroundTexture;
01653 
01661     KFbxTypedProperty<fbxDouble1>                       ForegroundOpacity;
01662 
01663     // -----------------------------------------------------------------------
01664     // Safe Area
01665     // -----------------------------------------------------------------------
01666 
01674     KFbxTypedProperty<fbxBool1>                         DisplaySafeArea;
01675 
01683     KFbxTypedProperty<fbxBool1>                         DisplaySafeAreaOnRender;
01684 
01692     KFbxTypedProperty<ECameraSafeAreaStyle>             SafeAreaDisplayStyle;
01693 
01701     KFbxTypedProperty<fbxDouble1>                       SafeAreaAspectRatio;
01702 
01703     // -----------------------------------------------------------------------
01704     // 2D Magnifier
01705     // -----------------------------------------------------------------------
01706 
01714     KFbxTypedProperty<fbxBool1>                         Use2DMagnifierZoom;
01715 
01723     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierZoom;
01724 
01732     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierX;
01733 
01741     KFbxTypedProperty<fbxDouble1>                       _2DMagnifierY;
01742 
01743     // -----------------------------------------------------------------------
01744     // Projection Type: Ortho, Perspective
01745     // -----------------------------------------------------------------------
01746 
01754     KFbxTypedProperty<ECameraProjectionType>            ProjectionType;
01755 
01763     KFbxTypedProperty<fbxDouble1>                       OrthoZoom;
01764 
01765     // -----------------------------------------------------------------------
01766     // Depth Of Field & Anti Aliasing
01767     // -----------------------------------------------------------------------
01768 
01776     KFbxTypedProperty<fbxBool1>                         UseRealTimeDOFAndAA;
01777 
01785     KFbxTypedProperty<fbxBool1>                         UseDepthOfField;
01786 
01794     KFbxTypedProperty<ECameraFocusDistanceSource>       FocusSource;
01795 
01803     KFbxTypedProperty<fbxDouble1>                       FocusAngle;
01804 
01812     KFbxTypedProperty<fbxDouble1>                       FocusDistance;
01813 
01821     KFbxTypedProperty<fbxBool1>                         UseAntialiasing;
01822 
01830     KFbxTypedProperty<fbxDouble1>                       AntialiasingIntensity;
01831 
01839     KFbxTypedProperty<ECameraAntialiasingMethod>        AntialiasingMethod;
01840 
01841     // -----------------------------------------------------------------------
01842     // Accumulation Buffer
01843     // -----------------------------------------------------------------------
01844 
01852     KFbxTypedProperty<fbxBool1>                         UseAccumulationBuffer;
01853 
01861     KFbxTypedProperty<fbxInteger1>                      FrameSamplingCount;
01862 
01870     KFbxTypedProperty<ECameraSamplingType>              FrameSamplingType;
01871 
01873 //
01874 //  WARNING!
01875 //
01876 //  Anything beyond these lines may not be documented accurately and is
01877 //  subject to change without notice.
01878 //
01880 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01881     friend class KFbxGlobalCameraSettings;
01882 
01883     virtual KFbxObject& Copy(const KFbxObject& pObject);
01884 
01885 protected:
01886     KFbxCamera(KFbxSdkManager& pManager, char const* pName);
01887 
01888     virtual bool ConstructProperties(bool pForceSet);
01889 
01893     virtual KStringList GetTypeFlags() const;
01894 
01895 private:
01896     double ComputePixelRatio(kUInt pWidth, kUInt pHeight, double pScreenRatio = 1.3333333333);
01897 
01898     // Background Properties
01899     KString mBackgroundMediaName;
01900     KString mBackgroundFileName;
01901 
01902     // Foreground Properties
01903     KString mForegroundMediaName;
01904     KString mForegroundFileName;
01905 
01906     friend class KFbxNode;
01907 
01908 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
01909 
01910 };
01911 
01912 #define ImageFit    
01913 
01914 typedef KFbxCamera* HKFbxCamera;
01915 
01916 inline EFbxType FbxTypeOf( KFbxCamera::ECameraAntialiasingMethod const &pItem )         { return eENUM; }
01917 inline EFbxType FbxTypeOf( KFbxCamera::ECameraApertureFormat const &pItem )             { return eENUM; }
01918 inline EFbxType FbxTypeOf( KFbxCamera::ECameraApertureMode const &pItem )               { return eENUM; }
01919 inline EFbxType FbxTypeOf( KFbxCamera::ECameraAspectRatioMode const &pItem )            { return eENUM; }
01920 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFrontBackPlaneDisplayMode const &pItem )  { return eENUM; }
01921 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFrontBackPlaneDistanceMode const &pItem ) { return eENUM; }
01922 inline EFbxType FbxTypeOf( KFbxCamera::ECameraPlateDrawingMode const &pItem )           { return eENUM; }
01923 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFocusDistanceSource const &pItem )        { return eENUM; }
01924 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFormat const &pItem )                     { return eENUM; }
01925 inline EFbxType FbxTypeOf( KFbxCamera::ECameraGateFit const &pItem )                    { return eENUM; }
01926 inline EFbxType FbxTypeOf( KFbxCamera::ECameraProjectionType const &pItem )             { return eENUM; }
01927 inline EFbxType FbxTypeOf( KFbxCamera::ECameraRenderOptionsUsageTime const &pItem )     { return eENUM; }
01928 inline EFbxType FbxTypeOf( KFbxCamera::ECameraSafeAreaStyle const &pItem )              { return eENUM; }
01929 inline EFbxType FbxTypeOf( KFbxCamera::ECameraSamplingType const &pItem )               { return eENUM; }
01930 inline EFbxType FbxTypeOf( KFbxCamera::ECameraFilmRollOrder const &pItem )               { return eENUM; }
01931 
01932 #include <fbxfilesdk/fbxfilesdk_nsend.h>
01933 
01934 #endif // FBXFILESDK_KFBXPLUGINS_KFBXCAMERA_H
01935