Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
platform
Resources
Roads
Navigation
NavigationGraphDebuggingService.h
1
// Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2
3
#pragma once
4
5
#include "Types.h"
6
#include "Navigation.h"
7
#include "Rendering.h"
8
#include "Camera.h"
9
#include "NavigationGraphAddedCallback.h"
10
#include "NavigationGraphRemovalCallback.h"
11
#include "DebugNavigationGraphMesh.h"
12
#include "DebugRendering.h"
13
#include "Graphs.h"
14
15
#include <vector>
16
17
namespace
Eegeo
18
{
19
namespace
Resources
20
{
21
namespace
Roads
22
{
23
namespace
Navigation
24
{
25
class
NavigationGraphDebuggingService
:
public
Eegeo::NonCopyable
26
{
27
public
:
28
enum
Mode
29
{
30
Disabled,
31
NavGraph,
32
TiledGraph,
33
MAX_MODES
34
};
35
private
:
36
37
struct
GraphAndMetadata
38
{
39
const
NavigationGraph
* graph;
40
int
previousNumConnections;
41
DebugNavigationGraphMesh
* debugNavGraphMesh;
42
};
43
44
DebugRendering::DebugRenderer
& m_debugRenderer;
45
NavigationGraphRepository
& m_navGraphRepo;
46
47
Mode m_mode;
48
std::vector<GraphAndMetadata> m_graphs;
49
50
DebugNavigationGraphMeshConfig
m_config;
51
52
TNavigationGraphAddedCallback<NavigationGraphDebuggingService>
m_addedCallback;
53
TNavigationGraphRemovalCallback<NavigationGraphDebuggingService>
m_removalCallback;
54
55
void
HandleNavGraphAdded(
const
NavigationGraph
& navGraph);
56
void
HandleNavGraphRemoved(
const
NavigationGraph
& navGraph);
57
void
BuildDebugNavigationGraphMeshVisualisation(GraphAndMetadata& graphAndMetadata,
Eegeo::Rendering::GLState
& glState);
58
void
SetConfig(
const
DebugNavigationGraphMeshConfig
& config) { m_config = config; }
59
60
void
DrawTiledGraph(
const
Rendering::RenderContext
& renderContext,
const
Graphs::TiledGraphCell
& tiledGraphCell,
const
NavigationGraph
& navGraph);
61
62
public
:
63
NavigationGraphDebuggingService
(
64
DebugRendering::DebugRenderer
& debugRenderer,
65
NavigationGraphRepository
& navGraphRepo,
66
const
DebugNavigationGraphMeshConfig
& config);
67
68
virtual
~
NavigationGraphDebuggingService
();
69
70
void
CycleMode();
71
72
Mode GetMode()
const
{
return
m_mode; }
73
74
void
Draw(
const
Rendering::RenderContext
& renderContext,
Eegeo::Rendering::GLState
& glState);
75
};
76
}
77
}
78
}
79
}
Generated on Sat Jun 10 2023 02:00:33 for eeGeo Platform SDK by
1.8.3.1