All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FittedRoute.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Routes.h"
6 #include "VectorMath.h"
7 #include "FittedRouteSection.h"
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Routes
13  {
14  namespace Fitting
15  {
16  struct FittedRoute
17  {
19  const Route* pRoute,
20  const Eegeo::Streaming::MortonKey& key,
21  const dv3& cellCentreEcef,
22  const std::vector<FittedRouteSection>& sections,
23  bool isFittedToNavigationGraph,
24  bool fittingAttempted,
25  bool terrainHeightsValid)
26  : m_route(pRoute)
27  , m_key(key)
28  , m_cellCentreEcef(cellCentreEcef)
29  , m_sections(sections)
30  , m_isFittedToNavigationGraph(isFittedToNavigationGraph)
31  , m_fittingAttempted(fittingAttempted)
32  , m_terrainHeightsValid(terrainHeightsValid)
33  {
34  }
35 
36  const std::vector<FittedRouteSection>& GetSections() const { return m_sections; }
37  const Eegeo::dv3& GetEcefPos() const { return m_cellCentreEcef; }
38  const Route* GetRoute() const { return m_route; }
39  const Streaming::MortonKey& GetKey() const { return m_key; }
40  bool IsFittedToNavigationGraph() const { return m_isFittedToNavigationGraph; }
41  bool WasFittingAttempted() const { return m_fittingAttempted; }
42  bool IsTerrainHeightsValid() const { return m_terrainHeightsValid; }
43 
44  private:
45  const Route* m_route;
47  Eegeo::dv3 m_cellCentreEcef;
48  std::vector<FittedRouteSection> m_sections;
49  bool m_isFittedToNavigationGraph;
50  bool m_fittingAttempted;
51  bool m_terrainHeightsValid;
52  };
53  }
54  }
55 }