Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OgreCinematographer.h
Go to the documentation of this file.
1 // Copyright (C) 2004-2013 Dylan Blair
3 //
4 // email: dblair@alumni.cs.utexas.edu
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 
21 #ifndef OGRE_CINEMATOGRAPHER_H
22 #define OGRE_CINEMATOGRAPHER_H
23 
24 #include "OgreCoreDLL.h"
25 
26 #include "../Core_LIB/CCamera.h"
27 #include "../Graphics_LIB/GUtils.h"
28 
29 namespace OpenSkyNet {
30  namespace OgreCore {
32  private:
33  Ogre::Camera* _cam;
34  public:
35  OgreCinematographer(Ogre::Camera* cam_) : _cam(cam_) {}
36 
37  virtual Math::Point<> getPos() const { return Graphics::GetMPointFromVector3(_cam->getPosition()); }
38  virtual void getPos(Math::Point<>& pos_) const { pos_ = Graphics::GetMPointFromVector3(_cam->getPosition()); }
39  virtual void setPos(const Math::Point<>& pos_) {
40  _cam->setPosition(Graphics::GetVector3FromMPoint(pos_));
41  setHasPosChanged(true);
42  }
43 
44  virtual Math::Matrix3x3 getRot() const;
45  virtual void getRot(Math::Matrix3x3& rot_) const;
46  virtual void setRot(const Math::Matrix3x3& rot_);
47 
48  virtual void lookAt(const Math::Point<>& p_) { _cam->lookAt(Graphics::GetVector3FromMPoint(p_)); }
49 
50  virtual float getAspectRatio() const;
51 
52  virtual void getFOVRads(OpenSkyNet::Math::Point<float, 2>& fOV_) const;
53 
54  virtual void getCameraToViewportRay(const OpenSkyNet::Math::Point<float, 2>& screenSpaceOrigin_,
56 
57  inline Ogre::Camera* getCam() { return _cam; }
58  inline const Ogre::Camera* getCam() const { return _cam; }
59  };
60  }
61 }
62 
63 #endif //OGRE_CINEMATOGRAPHER_H
#define OGRECORE_DLL
Definition: OgreCoreDLL.h:57
Ogre::Vector3 GetVector3FromMPoint(const Math::Point< T > &p_)
Definition: GUtils.h:61
Math::Point GetMPointFromVector3(const Ogre::Vector3 &v_)
Definition: GUtils.h:56
Definition: CCamera.h:41
OgreCinematographer(Ogre::Camera *cam_)
Definition: OgreCinematographer.h:35
virtual Math::Point getPos() const
Definition: OgreCinematographer.h:37
const Ogre::Camera * getCam() const
Definition: OgreCinematographer.h:58
Definition: MPoint.h:33
Definition: OgreCinematographer.h:31
virtual void setPos(const Math::Point<> &pos_)
Definition: OgreCinematographer.h:39
virtual void lookAt(const Math::Point<> &p_)
Definition: OgreCinematographer.h:48
Ogre::Camera * getCam()
Definition: OgreCinematographer.h:57
Definition: MMatrix3x3.h:32
float float rot_[3]
Definition: ViewerApp.h:31
virtual void getPos(Math::Point<> &pos_) const
Definition: OgreCinematographer.h:38
float pos_[3]
Definition: ViewerApp.h:31