/** * This source file is part of OgreColladaPlugin * an addon for OGRE (Object-oriented Graphics Rendering Engine) * For the latest info, see http://www.ogre3d.org/ * * This program is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free Software * Foundation; either version 2 of the License, or (at your option) any later * version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. * You should have received a copy of the GNU Lesser General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307, USA, or go to * http://www.gnu.org/copyleft/lesser.txt. * * @author Philipp Hartl * @see README */ #ifndef __COLLADA_CAMERA_H__ #define __COLLADA_CAMERA_H__ #include "OgreColladaPrerequisites.h" #include "OgreColladaEntity.h" namespace Ogre { /** * camera class */ class ColladaCamera : public ColladaEntity { public: ColladaCamera(ColladaDocument *d, xmlNode *n); virtual ~ColladaCamera(void); /** * create an ogre camera object * * @see base class */ virtual MovableObject *getOgreInstance(void) const; /** * import node * * @see base class */ virtual bool doImport(void); virtual EntityTypes getEntityType(void) const { return CAMERA; } private: enum CameraType { ORTHOGRAPHIC = 0, PERSPECTIVE, UNKNOWN = -1 }; CameraType mType; float mXFov, mYFov, mZNear, mZFar; // perspective float mLeft, mRight, mTop, mBottom; // orthographic /** * import an orthographic or perspective camera * * @param the node * @return true if succeeds, false otherwise */ bool importOptics(xmlNode *node); /** * import a specific image sensor of a camera (e.g. CCD) * * @param the node * @return true if succeeds, false otherwise */ bool importImager(xmlNode *node); }; } #endif // __COLLADA_CAMERA_H__