VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWeatherSurfaceGrid.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
14 #include <vrvOsg/vrvOsg.h>
15 
16 #include <osg/Matrixd>
17 #include <osg/Vec3d>
18 
19 
20 namespace makVrv
21 {
22  class DtIntersector;
23 
37  {
38  public:
39 
42 
44  virtual ~DtWeatherSurfaceGrid();
45 
46  private:
47 
49  DtWeatherSurfaceGrid() = delete;
50 
52  DtWeatherSurfaceGrid(const DtWeatherSurfaceGrid &other) = delete;
53 
55  DtWeatherSurfaceGrid &operator=(const DtWeatherSurfaceGrid &other) = delete;
56 
57  public:
58 
62  virtual void setBounds(float boundsX, float boundsY);
63 
68  virtual void setGridSize(int sizeX, int sizeY);
69 
73  virtual void setTransform(const osg::Vec3d& position, osg::Matrixd& rotation);
74 
78  virtual const float* heights(int& sizeX, int& sizeY) const;
79 
83  virtual const unsigned int* packedData(int& sizeX, int& sizeY) const;
84 
89  virtual void getPosition(int gridX, int gridY, osg::Vec3d& position);
90 
92  virtual double clampDistance() const;
93 
98  virtual bool clampPositionToTerrain(osg::Vec3d& position, float clampDistance);
99 
103  virtual bool simulationUpdate(float timeStep);
104 
107  virtual void onAreaChanged();
108 
110  virtual float minClampOffset() const;
111 
113  virtual float maxClampOffset() const;
114 
120  virtual void computeBlendingData(float maxDiffPerMeter);
121 
122  protected:
123 
127  virtual unsigned int packData(float height, float blend);
128 
129  protected:
130 
132 
136 
137  osg::Vec3d myPosition;
138  osg::Matrixd myRotation;
139 
140  float myBoundsX;
141  float myBoundsY;
142 
145  float* myHeights;
146  unsigned int* myPackedData;
147 
148  DtIntersector* myIntersector = nullptr;
149  };
150 
151 }
152 
153 
154 
float myMinClampOffset
Definition: DtWeatherSurfaceGrid.h:134
float myMaxClampOffset
Definition: DtWeatherSurfaceGrid.h:135
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
float myBoundsX
Definition: DtWeatherSurfaceGrid.h:140
unsigned int * myPackedData
Definition: DtWeatherSurfaceGrid.h:146
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtIntersector is an abstract class that provides the interface for requesting intersections with the ...
Definition: DtIntersector.h:25
float * myHeights
Definition: DtWeatherSurfaceGrid.h:145
float myBoundsY
Definition: DtWeatherSurfaceGrid.h:141
Contains makVrv::DtVirtualBaseClass class.
osg::Vec3d myPosition
Definition: DtWeatherSurfaceGrid.h:137
osg::Matrixd myRotation
Definition: DtWeatherSurfaceGrid.h:138
DtDe & myDe
Definition: DtWeatherSurfaceGrid.h:131
int myClampIndex
Definition: DtWeatherSurfaceGrid.h:133
Contains DLL export macros.
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:70
Used by the weather system to define a rectangular grid of points. The points can be clamped to the t...
Definition: DtWeatherSurfaceGrid.h:36
int myPointCountY
Definition: DtWeatherSurfaceGrid.h:144
int myPointCountX
Definition: DtWeatherSurfaceGrid.h:143

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)