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
10
#pragma once
11
13
#include <terrainInterface/terrainInterfaceDefines.h>
14
#include <terrainInterface/terrainProcessPolygonsBox.h>
15
#include <terrainInterface/vrfLine.h>
16
#include <terrainInterface/vrfPoint.h>
17
19
#include <tbb/spin_mutex.h>
20
22
#include <unordered_set>
23
24
26
class DT_DLL_terrainInterface DtDebugDrawTerrainOutputInterface : public DtTriangleOutputInterface
27
{
28
public:
29
31
DtDebugDrawTerrainOutputInterface(const std::string& name);
32
34
virtual ~DtDebugDrawTerrainOutputInterface();
35
37
virtual bool processTriangles() const override;
38
40
virtual void setprocessTriangles(bool value);
41
43
virtual void processTriangle(const DtTerrainTriangleStruct& triangle) override;
44
47
virtual bool processAABBs() const override;
48
50
virtual void setProcessAABBs(bool value);
51
54
virtual bool processQueryAABBs() const;
55
57
virtual void setProcessQueryAABBs(bool value);
58
60
virtual void queryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal) override;
61
65
virtual bool objectAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal) override;
66
68
virtual bool processElevationTiles() const override;
69
71
virtual void setProcessElevationTiles(bool value);
72
75
virtual bool elevationTile(const DtVector& p1, const DtVector& p2, const DtVector& p3, const DtVector& p4) override;
76
78
virtual bool processElevationPosts() const override;
79
81
virtual void setElevationPosts(bool value);
82
85
virtual bool elevationPost(std::vector<DtPoint>& postArray) override;
86
90
virtual bool forcePaging() const override;
91
93
virtual void setForcePaging(bool value);
94
97
virtual bool shouldExit() const override;
98
100
virtual unsigned triangleCount() const;
101
103
typedef std::vector<DtTerrainTriangleStruct> terrainTriangleStructList;
104
virtual terrainTriangleStructList& triangleList();
105
virtual size_t numberOfTriangles() const;
106
virtual void clearTriangleList();
107
109
typedef std::vector<makVrf::DtLine> terrainLineList;
110
virtual terrainLineList& lineList();
111
virtual size_t numberOfLines() const;
112
virtual void clearLineList();
113
115
typedef std::vector<makVrf::DtColorPoint> terrainPointList;
116
virtual terrainPointList& pointList();
117
virtual size_t numberOfPoints() const;
118
virtual void clearPointList();
119
120
protected:
121
123
virtual void addLine(const DtString& name, const DtVector& p1, const DtVector& p2,
124
unsigned red, unsigned green, unsigned blue);
125
127
virtual bool processObjectAABB(unsigned index, const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
128
130
virtual bool processElevationTile(unsigned index, const DtVector &p1, const DtVector& p2, const DtVector& p3, const DtVector& p4);
131
133
void processQueryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
134
135
unsigned myTriangleCount;
136
unsigned myLineCount;
137
std::unordered_set< std::shared_ptr<makVrv::DtDynamicTerrainFeature> > myFeatures;
138
bool myStopDrawFlag;
139
bool myProcessAABBs;
140
bool myProcessQueryAABBs;
141
bool myProcessElevation;
142
bool myProcessElevationPost;
143
bool myProcessTriangles;
144
bool myForcePaging;
146
terrainTriangleStructList myTriangleList;
148
terrainLineList myLineList;
150
terrainPointList myPointList;
151
152
tbb::spin_mutex myProcessTriangleMutex;
153
tbb::spin_mutex myProcessLineMutex;
154
tbb::spin_mutex myProcessPointMutex;
155
};
Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (
www.mak.com
)