All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ConformerRouteSection.h
1 //
2 // ConformerRouteSection.h
3 // apps-on-maps
4 //
5 
6 #ifndef __apps_on_maps__ConformerRouteSection__
7 #define __apps_on_maps__ConformerRouteSection__
8 
9 #include "Routes.h"
10 #include "ClippedRouteSection.h"
11 
12 #include <vector>
13 
14 namespace Eegeo
15 {
16  namespace Routes
17  {
18  namespace Fitting
19  {
20  namespace NavGraphConforming
21  {
23  {
24  ConformerRouteSection(const std::vector<Clipping::ClippedRouteSection>& orderedClippedRouteSections)
25  : m_orderedClippedRouteSections(orderedClippedRouteSections)
26  {
27  Eegeo_ASSERT(!orderedClippedRouteSections.empty());
28  }
29 
30  const Clipping::ClippedRouteVertex& Start() const
31  {
32  return m_orderedClippedRouteSections.front().Start;
33  }
34 
35  const Clipping::ClippedRouteVertex& End() const
36  {
37  return m_orderedClippedRouteSections.back().End;
38  }
39 
40  const std::vector<Clipping::ClippedRouteSection>& OrderedClippedRouteSections() const
41  {
42  return m_orderedClippedRouteSections;
43  }
44 
45  private:
46  std::vector<Clipping::ClippedRouteSection> m_orderedClippedRouteSections;
47  };
48  }
49  }
50  }
51 }
52 
53 #endif /* defined(__apps_on_maps__ConformerRouteSection__) */