VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainAreaProcess.h
Go to the documentation of this file.
1 /*********************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************************/
5 
9 #pragma once
10 
13 
14 #include <osg/MatrixTransform>
15 #include <osg/Geode>
16  #include <string>
17 
18 namespace makVrv
19 {
20  class DtDe;
21 }
22 
23 namespace makVrf
24 {
25  class DtTerrainAreaRequest;
26  class DtDebugDrawRendererDriver;
27 
30  {
31 
32  protected:
33 
35  enum ProcessStep { WAITING, RECEIVED_REQUEST, END_REQUEST, SEND_RESPONSE, END_SUCCESS, END_ERROR };
36 
37 
38  public:
39 
43  virtual ~DtTerrainAreaProcess() override;
44 
46  virtual void tick(DtDebugDrawRendererDriver* driver) override;
47 
49  virtual bool isDone() override;
50 
51  protected:
52 
54  virtual void beginRequest(DtDebugDrawRendererDriver* driver);
55 
57  virtual void respondError(std::string errorMsg);
58 
60  virtual void sendResponse();
61 
63  virtual void drawTerrainSkin();
64 
68  virtual void drawTerrainSkinWithColors(float alpha, bool drawSoilType=true);
69 
72  virtual void drawNormals();
73 
75  virtual void drawLines(const std::string& name);
76 
78  virtual void drawLinesPointsAndFade(const std::string& name);
79 
81  virtual void drawLinesAndPoints(const std::string& name);
82 
84  virtual void drawSpheres(const std::string& name, osg::Vec4& color);
85 
87  virtual void initTransorm(DtPoint& origin);
88 
91 
94 
97 
100 
103  };
104 
107  {
108 
109  public:
110 
113  virtual ~DtTerrainAreaProcessCreator() override;
114 
116  virtual DtBaseProcess* create(DtBaseMessage* message) override;
117 
118  private:
120  };
121 
122 
123 }
makVrv::DtDe & myDe
Definition: terrainAreaProcess.h:119
bool myOriginSet
was the origin set
Definition: terrainAreaProcess.h:102
voidpf uLong int origin
Definition: ioapi.h:42
Definition: terrainAreaProcess.h:35
DtBaseMessage is the base class for all messages that can be sent between the server and the client...
Definition: vrfMessage.h:25
virtual DtBaseProcess * create(DtBaseMessage *message) override
create a DtterrainAreaProcessCreator and return it
Creator for the DtterrainAreaProcess class.
Definition: terrainAreaProcess.h:106
DtBaseProcess is the base class for all messages processes that can be sent between the server and th...
Definition: baseProcess.h:32
ProcessStep myProcessStep
Process status.
Definition: terrainAreaProcess.h:90
virtual ~DtTerrainAreaProcessCreator() override
base class for all process creators, interface used to create classes that can be passed to the Proce...
Definition: baseProcess.h:77
DtDebugDrawRenderer is the main class that controls the processing flow of the DebugDrawRenderer. Users should not need to create this class.
Definition: debugDrawRendererDriver.h:33
#define DT_DLL_DEBUGDRAWRENDERER
Definition: debugDrawRendererExport.h:19
DtPoint myOrigin
origin
Definition: terrainAreaProcess.h:99
osg::ref_ptr< osg::MatrixTransform > myTransform
top transform
Definition: terrainAreaProcess.h:96
DtTerrainAreaRequest * myRequest
brief Message request
Definition: terrainAreaProcess.h:93
DtTerrainAreaRequest is a message to draw/delete terrain information from the debugDrawManager to the...
Definition: vrfTerrainAreaMessage.h:28
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
DtTerrainAreaProcessCreator(makVrv::DtDe &de)
constructor and destructor
Process responsible to draw lines and triangles in a certain area.
Definition: terrainAreaProcess.h:29
Definition: point.h:34
** Copyright (c) 2020 MAK Technologies, Inc. ** All rights reserved.
ProcessStep
steps in the image capture process
Definition: terrainAreaProcess.h:35

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)