All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
AnimatedObject.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Space.h"
7 #include "VectorMath.h"
8 
9 namespace Eegeo
10 {
11  class Model;
12 
13  namespace AnimatedObjects
14  {
16  {
17  public:
18  AnimatedObject(Eegeo::Model* pModel, const Eegeo::dv3& ecefOrigin, const Eegeo::m33& basis, float frameRateScale);
19  ~AnimatedObject();
20 
21  Eegeo::Model& GetModel() const { return *m_pModel; }
22  const Eegeo::dv3& GetEcefOrigin() const { return m_ecefOrigin; }
23  const Eegeo::m33& GetBasis() const { return m_basis; }
24  float GetFrameRateScale() const { return m_frameRateScale; }
25 
26  static AnimatedObject* CreateAtLatLongAltitude(Eegeo::Model* pModel, const Space::LatLongAltitude& latLongAltitude, float framerateScale);
27  static AnimatedObject* CreateAtEcef(Eegeo::Model* pModel, const dv3& ecefOrigin, float framerateScale);
28 
29  private:
30  Eegeo::Model* m_pModel;
31  Eegeo::dv3 m_ecefOrigin;
32  Eegeo::m33 m_basis;
33  float m_frameRateScale;
34  };
35  }
36 }