VR-Forces 4.10 Class Documentation
 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) 2020 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 
36  {
37  public:
38 
41 
43  virtual ~DtWeatherSurfaceGrid();
44 
45  private:
46 
48  DtWeatherSurfaceGrid() = delete;
49 
51  DtWeatherSurfaceGrid(const DtWeatherSurfaceGrid &other) = delete;
52 
54  DtWeatherSurfaceGrid &operator=(const DtWeatherSurfaceGrid &other) = delete;
55 
56  public:
57 
61  virtual void setBounds(float boundsX, float boundsY);
62 
67  virtual void setGridSize(int sizeX, int sizeY);
68 
72  virtual void setTransform(const osg::Vec3d& position, osg::Matrixd& rotation);
73 
77  virtual const float* heights(int& sizeX, int& sizeY) const;
78 
82  virtual const unsigned int* packedData(int& sizeX, int& sizeY) const;
83 
88  virtual void getPosition(int gridX, int gridY, osg::Vec3d& position);
89 
91  virtual double clampDistance() const;
92 
97  virtual bool clampPositionToTerrain(osg::Vec3d& position, float clampDistance);
98 
102  virtual bool simulationUpdate(float timeStep);
103 
106  virtual void onAreaChanged();
107 
109  virtual float minClampOffset() const;
110 
112  virtual float maxClampOffset() const;
113 
119  virtual void computeBlendingData(float maxDiffPerMeter);
120 
121  protected:
122 
126  virtual unsigned int packData(float height, float blend);
127 
128  protected:
129 
131 
135 
136  osg::Vec3d myPosition;
137  osg::Matrixd myRotation;
138 
139  float myBoundsX;
140  float myBoundsY;
141 
144  float* myHeights;
145  unsigned int* myPackedData;
146  };
147 
148 }
149 
150 
151 
float myMinClampOffset
Definition: DtWeatherSurfaceGrid.h:133
float myMaxClampOffset
Definition: DtWeatherSurfaceGrid.h:134
Virtual base class.
Definition: DtVirtualBaseClass.h:19
float myBoundsX
Definition: DtWeatherSurfaceGrid.h:139
unsigned int * myPackedData
Definition: DtWeatherSurfaceGrid.h:145
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
float * myHeights
Definition: DtWeatherSurfaceGrid.h:144
float myBoundsY
Definition: DtWeatherSurfaceGrid.h:140
Contains makVrv::DtVirtualBaseClass class.
osg::Vec3d myPosition
Definition: DtWeatherSurfaceGrid.h:136
osg::Matrixd myRotation
Definition: DtWeatherSurfaceGrid.h:137
DtDe & myDe
Definition: DtWeatherSurfaceGrid.h:130
int myClampIndex
Definition: DtWeatherSurfaceGrid.h:132
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Used by the weather system to define a rectangular grid of points.
Definition: DtWeatherSurfaceGrid.h:35
int myPointCountY
Definition: DtWeatherSurfaceGrid.h:143
int myPointCountX
Definition: DtWeatherSurfaceGrid.h:142

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)