All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IInteriorFloorAnimator.h
1 // Copyright eeGeo Ltd (2012-2015), All Rights Reserved
2 
3 #pragma once
4 
5 #include "VectorMath.h"
6 #include "Interiors.h"
7 
8 namespace Eegeo
9 {
10  namespace Resources
11  {
12  namespace Interiors
13  {
15  {
17  : color(v4::One())
18  , ecefOffset(v3::Zero())
19  , floorGeometryScale(v3::One())
20  , highlightGeometryScale(v3::One())
21  , saturation(1.0f)
22  , detailGeometryAlpha(1.f)
23  , showDetailGeometry(false)
24  {
25  }
26 
28  const v4& color,
29  const v3& ecefOffset,
30  const v3& floorGeometryScale,
31  const v3& highlightGeometryScale,
32  float saturation,
33  float detailGeometryAlpha,
34  bool showDetailGeometry)
35  : color(color)
36  , ecefOffset(ecefOffset)
37  , floorGeometryScale(floorGeometryScale)
38  , highlightGeometryScale(floorGeometryScale)
39  , saturation(saturation)
40  , detailGeometryAlpha(detailGeometryAlpha)
41  , showDetailGeometry(showDetailGeometry)
42  {
43  }
44 
45  v4 color;
46  v3 ecefOffset;
47  v3 floorGeometryScale;
48  v3 highlightGeometryScale;
49 
50  float saturation;
51  float detailGeometryAlpha;
52  bool showDetailGeometry;
53  };
54 
55 
57  {
58  public:
59 
60  virtual ~IInteriorFloorAnimator() {};
61 
62  virtual InteriorFloorAnimationState CalcInteriorFloorAnimationState(const InteriorsModel& model, int floorIndex) const = 0;
63 
64  virtual float CalcLookAtHeight() const = 0;
65 
66  virtual v3 CalcFloorCenteredTangentSpaceLookAt() const = 0;
67  };
68  }
69  }
70 }