W3DCamera.h

Go to the documentation of this file.
00001 //
00002 //  Copyright (c) 1996-2006 by Autodesk, Inc.
00003 //
00004 //  By using this code, you are agreeing to the terms and conditions of
00005 //  the License Agreement included in the documentation for this code.
00006 //
00007 //  AUTODESK MAKES NO WARRANTIES, EXPRESS OR IMPLIED,
00008 //  AS TO THE CORRECTNESS OF THIS CODE OR ANY DERIVATIVE
00009 //  WORKS WHICH INCORPORATE IT.
00010 //
00011 //  AUTODESK PROVIDES THE CODE ON AN "AS-IS" BASIS
00012 //  AND EXPLICITLY DISCLAIMS ANY LIABILITY, INCLUDING
00013 //  CONSEQUENTIAL AND INCIDENTAL DAMAGES FOR ERRORS,
00014 //  OMISSIONS, AND OTHER PROBLEMS IN THE CODE.
00015 //
00016 //  Use, duplication, or disclosure by the U.S. Government is subject to
00017 //  restrictions set forth in FAR 52.227-19 (Commercial Computer Software
00018 //  Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) (Rights in Technical
00019 //  Data and Computer Software), as applicable.
00020 //
00021 
00022 #ifndef _DWFW3DTK_CAMERA_H
00023 #define _DWFW3DTK_CAMERA_H
00024 
00025 
00030 
00031 
00032 #include "dwf/w3dtk/BStream.h"
00033 
00039 class BBINFILETK_API W3DCamera
00040 {
00041 
00042 public:
00043 
00044     typedef enum
00045     {
00046         eOrthographic,
00047         ePerspective
00048     } teProjection;
00049 
00050 public:
00051 
00055     W3DCamera()
00056         throw();
00057 
00074     W3DCamera( float nPositionX,    float nPositionY,   float nPositionZ,
00075                float nTargetX,      float nTargetY,     float nTargetZ,
00076                float nUpVectorX,    float nUpVectorY,   float nUpVectorZ,
00077                float nFieldWidth,   float nFieldHeight,
00078                teProjection eProjection )
00079        throw();
00080 
00084     virtual ~W3DCamera()
00085         throw();
00086 
00090     W3DCamera( const W3DCamera& rCamera )
00091         throw();
00092 
00096     W3DCamera& operator=( const W3DCamera& rCamera )
00097         throw();
00098 
00102     void setPosition( float nPositionX,
00103                       float nPositionY,
00104                       float nPositionZ )
00105         throw();
00106 
00110     const float* getPosition( float anPosition[3] ) const
00111         throw();
00112 
00116     void setTarget( float nTargetX,
00117                     float nTargetY,
00118                     float nTargetZ )
00119         throw();
00120 
00124     const float* getTarget( float anTarget[3] ) const
00125         throw();
00126 
00130     void setUpVector( float nUpVectorX,
00131                       float nUpVectorY,
00132                       float nUpVectorZ )
00133         throw();
00134 
00138     const float* getUpVector( float anUpVector[3] ) const
00139         throw();
00140 
00144     void setField( float nFieldWidth,
00145                    float nFieldHeight )
00146         throw();
00147 
00151     const float* getField( float anField[2] ) const
00152         throw();
00153 
00157     void setProjection( teProjection eProjection )
00158         throw();
00159 
00163     teProjection getProjection() const
00164         throw();
00165 
00166 private:
00167 
00168     float           _nPositionX;
00169     float           _nPositionY;
00170     float           _nPositionZ;
00171     float           _nTargetX;
00172     float           _nTargetY;
00173     float           _nTargetZ;
00174     float           _nUpVectorX;
00175     float           _nUpVectorY;
00176     float           _nUpVectorZ;
00177     float           _nFieldWidth;
00178     float           _nFieldHeight;
00179     teProjection    _eProjection;
00180 };
00181 
00182 
00183 
00184 #endif

Generated on Tue Jan 6 22:41:37 2009 for Autodesk DWF 3D Toolkit by  doxygen 1.4.5