00001 /* 00002 --------------------------------------------------------------------------- 00003 Direct3D AssimpRenderer by ponx 00004 --------------------------------------------------------------------------- 00005 00006 This code is heavily based on the "AssimpView" project of the Open Asset Import Library (ASSIMP). 00007 http://assimp.sourceforge.net 00008 00009 /* 00010 --------------------------------------------------------------------------- 00011 Open Asset Import Library (ASSIMP) 00012 --------------------------------------------------------------------------- 00013 00014 Copyright (c) 2006-2008, ASSIMP Development Team 00015 00016 All rights reserved. 00017 00018 Redistribution and use of this software in source and binary forms, 00019 with or without modification, are permitted provided that the following 00020 conditions are met: 00021 00022 * Redistributions of source code must retain the above 00023 copyright notice, this list of conditions and the 00024 following disclaimer. 00025 00026 * Redistributions in binary form must reproduce the above 00027 copyright notice, this list of conditions and the 00028 following disclaimer in the documentation and/or other 00029 materials provided with the distribution. 00030 00031 * Neither the name of the ASSIMP team, nor the names of its 00032 contributors may be used to endorse or promote products 00033 derived from this software without specific prior 00034 written permission of the ASSIMP Development Team. 00035 00036 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00037 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00038 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00039 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00040 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00041 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00042 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00043 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00044 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00045 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00046 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00047 --------------------------------------------------------------------------- 00048 */ 00049 00050 00051 #if (!defined AV_CAMERA_H_INCLUDED) 00052 #define AV_CAMERA_H_INCLUDED 00053 00054 #include "aiVector3D.h" 00055 00056 00057 namespace AssimpRendererD3d 00058 { 00060 class Camera 00061 { 00062 public: 00063 00064 00065 Camera () 00066 : 00067 00068 vPos(0.0f,0.0f,-10.0f), 00069 vLookAt(0.0f,0.0f,1.0f), 00070 vUp(0.0f,1.0f,0.0f), 00071 vRight(0.0f,1.0f,0.0f) 00072 { 00073 00074 } 00075 public: 00076 00078 aiVector3D vPos; 00079 00081 aiVector3D vUp; 00082 00084 aiVector3D vLookAt; 00085 00087 aiVector3D vRight; 00088 00089 00090 // Equation 00091 // (vRight ^ vUp) - vLookAt == 0 00092 // needn't apply 00093 00094 } ; 00095 00096 } // namespace 00097 #endif // !!IG