VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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/terrainProcessPolygonsBox.h>
14 #include <boost/unordered_set.hpp>
15 
17 class DT_DLL_terrainInterface DtDebugDrawTerrainOutputInterface : public DtTriangleOutputInterface
18 {
19 public:
20 
22  DtDebugDrawTerrainOutputInterface(const std::string& name);
23 
25  virtual ~DtDebugDrawTerrainOutputInterface();
26 
28  virtual bool processTriangles() const;
29 
31  virtual void setprocessTriangles(bool value);
32 
34  virtual void processTriangle(const DtTerrainTriangleStruct& triangle);
35 
38  virtual bool processAABBs() const;
39 
41  virtual void setProcessAABBs(bool value);
42 
45  virtual bool processQueryAABBs() const;
46 
48  virtual void setProcessQueryAABBs(bool value);
49 
51  virtual void queryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
52 
56  virtual bool objectAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
57 
59  virtual bool processElevationTiles() const;
60 
62  virtual void setProcessElevationTiles(bool value);
63 
66  virtual bool elevationTile(const DtVector &p1, const DtVector& p2, const DtVector& p3, const DtVector& p4);
67 
71  virtual bool forcePaging() const;
72 
74  virtual void setForcePaging(bool value);
75 
78  virtual bool shouldExit() const;
79 
81  virtual unsigned triangleCount() const;
82 
84  typedef std::vector<DtTerrainTriangleStruct> terrainTriangleStructList;
85  virtual terrainTriangleStructList& triangleList();
86  virtual size_t numberOfTriangles() const;
87  virtual void clearTriangleList();
88 
90  typedef std::vector<makVrf::DtLine> terrainLineList;
91  virtual terrainLineList& lineList();
92  virtual size_t numberOfLines() const;
93  virtual void clearLineList();
94 
95 protected:
96 
98  virtual void addLine(const DtString& name, const DtVector& p1, const DtVector& p2,
99  unsigned red, unsigned green, unsigned blue);
100 
102  virtual bool processObjectAABB(unsigned index, const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
103 
105  virtual bool processElevationTile(unsigned index, const DtVector &p1, const DtVector& p2, const DtVector& p3, const DtVector& p4);
106 
108  void processQueryAABB(const DtVector& min, const DtVector& max, const DtCoordTransform& toLocal);
109 
110  unsigned myTriangleCount;
111  unsigned myLineCount;
112  boost::unordered_set< boost::shared_ptr<makVrv::DtDynamicTerrainFeature> > myFeatures;
113  bool myStopDrawFlag;
114  bool myProcessAABBs;
115  bool myProcessQueryAABBs;
116  bool myProcessElevation;
117  bool myProcessTriangles;
118  bool myForcePaging;
120  terrainTriangleStructList myTriangleList;
122  terrainLineList myLineList;
123 };

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)