VR-Forces Developer's Guide
Home
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
terrainInterface
debugDrawTerrainOutputInterface.h
Go to the documentation of this file.
1
/******************************************************************************
5
9
#pragma once
10
11
#include "terrainInterface/terrainInterfaceDefines.h"
12
#include "terrainInterface/vrfLine.h"
13
#include "terrainInterface/vrfPoint.h"
14
#include <terrainInterface/terrainProcessPolygonsBox.h>
15
#include <boost/unordered_set.hpp>
16
17
#include <tbb/spin_mutex.h>
18
20
class DT_DLL_terrainInterface DtDebugDrawTerrainOutputInterface : public DtTriangleOutputInterface
21
{
22
public:
23
25
DtDebugDrawTerrainOutputInterface(const std::string& name);
26
28
virtual ~DtDebugDrawTerrainOutputInterface();
29
31
virtual bool processTriangles() const;
32
34
virtual void setprocessTriangles(bool value);
35
37
virtual void processTriangle(const DtTerrainTriangleStruct& triangle);
38
41
virtual bool processAABBs() const;
42
44
virtual void setProcessAABBs(bool value);
45
48
virtual bool processQueryAABBs() const;
49
51
virtual void setProcessQueryAABBs(bool value);
52
54
virtual void queryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
55
59
virtual bool objectAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
60
62
virtual bool processElevationTiles() const;
63
65
virtual void setProcessElevationTiles(bool value);
66
69
virtual bool elevationTile(const DtVector &p1, const DtVector& p2, const DtVector& p3, const DtVector& p4);
70
72
virtual bool processElevationPosts() const;
73
75
virtual void setElevationPosts(bool value);
76
79
virtual bool elevationPost(std::vector<DtPoint>& postArray);
80
84
virtual bool forcePaging() const;
85
87
virtual void setForcePaging(bool value);
88
91
virtual bool shouldExit() const;
92
94
virtual unsigned triangleCount() const;
95
97
typedef std::vector<DtTerrainTriangleStruct> terrainTriangleStructList;
98
virtual terrainTriangleStructList& triangleList();
99
virtual size_t numberOfTriangles() const;
100
virtual void clearTriangleList();
101
103
typedef std::vector<makVrf::DtLine> terrainLineList;
104
virtual terrainLineList& lineList();
105
virtual size_t numberOfLines() const;
106
virtual void clearLineList();
107
109
typedef std::vector<makVrf::DtColorPoint> terrainPointList;
110
virtual terrainPointList& pointList();
111
virtual size_t numberOfPoints() const;
112
virtual void clearPointList();
113
114
protected:
115
117
virtual void addLine(const DtString& name, const DtVector& p1, const DtVector& p2,
118
unsigned red, unsigned green, unsigned blue);
119
121
virtual bool processObjectAABB(unsigned index, const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
122
124
virtual bool processElevationTile(unsigned index, const DtVector &p1, const DtVector& p2, const DtVector& p3, const DtVector& p4);
125
127
void processQueryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
128
129
unsigned myTriangleCount;
130
unsigned myLineCount;
131
boost::unordered_set< boost::shared_ptr<makVrv::DtDynamicTerrainFeature> > myFeatures;
132
bool myStopDrawFlag;
133
bool myProcessAABBs;
134
bool myProcessQueryAABBs;
135
bool myProcessElevation;
136
bool myProcessElevationPost;
137
bool myProcessTriangles;
138
bool myForcePaging;
140
terrainTriangleStructList myTriangleList;
142
terrainLineList myLineList;
144
terrainPointList myPointList;
145
146
tbb::spin_mutex myProcessTriangleMutex;
147
tbb::spin_mutex myProcessLineMutex;
148
tbb::spin_mutex myProcessPointMutex;
149
};
Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)