VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWeatherAreaBlowingSand.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 
12 
13 #include <vrvCore/DtDe.h>
15 
16 #include <vrvOsg/vrvOsg.h>
17 #include <vrvOsg/DtWeatherArea.h>
18 
19 #include <matrix/vlVector.h>
20 
21 #include <osg/Matrixd>
22 #include <osg/Vec3d>
23 #include <osg/Vec4d>
24 
25 
26 namespace makVrv
27 {
28  // Forward declarations
29  class DtWeatherSurfaceGrid;
30 
31 
39  {
40  friend class DtWeatherAreaFactory;
41 
42  public:
43 
45  virtual ~DtWeatherAreaBlowingSand();
46 
48  DtWeatherAreaBlowingSand() = delete;
49 
52 
54  DtWeatherAreaBlowingSand &operator=(const DtWeatherAreaBlowingSand &other) = delete;
55 
56  protected:
57 
60 
61  public:
62 
65  virtual void setEnabled(bool enabled);
66 
70  virtual void setBounds(const DtVector& bounds, float cornerRadius);
71 
76  virtual void setTransform(const DtVector& position, float orientation, bool relativeToCamera = false);
77 
81  virtual const float* heights(int& sizeX, int& sizeY) const;
82 
86  virtual const unsigned int* packedData(int& sizeX, int& sizeY) const;
87 
91  virtual void cullUpdate(const osg::Vec3d& camPos, const osg::Matrixd& viewMatrixI,
92  const std::vector<osg::Vec4d>& cullingPlanes, DtJobSplitter* jobSplitter);
93 
96  bool usesWeatherLayerType(DtWeatherLayer::LayerType layerType) const;
97 
98  protected:
99 
101  virtual void slot_terrainDataChanged(DtTerrainPatchObject& tpo);
102 
104  virtual void slot_simulationUpdate();
105 
107  virtual void onAreaChanged();
108 
109  protected:
110 
112 
114  bool myTransformDirty; // handles relative to camera update
115  float myTerrainDirtyTimer; // handles valid terrain check update
116  double myLastTime;
117 
120  };
121 
122 }
123 
124 
125 
Contains makVrv::DtWeatherArea class.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myHeightMapRegistered
Definition: DtWeatherAreaBlowingSand.h:119
Factory that is used to create weather areas.
Definition: DtWeatherArea.h:292
Contains makVrv::DtDe class.
this class is used to split work up between threads.
Definition: DtJobSplitter.h:64
Used by the weather system to define an area of blowing sand.
Definition: DtWeatherAreaBlowingSand.h:38
bool mySimulationUpdate
Definition: DtWeatherAreaBlowingSand.h:113
A DtTerrainPatchObject contains the methods for loading a file as a terrain.
Definition: DtTerrainPatchObject.h:37
DtWeatherSurfaceGrid * myWeatherSurfaceGrid
Definition: DtWeatherAreaBlowingSand.h:118
bool myTransformDirty
Definition: DtWeatherAreaBlowingSand.h:114
DtDe & myDe
Definition: DtWeatherAreaBlowingSand.h:111
double myLastTime
Definition: DtWeatherAreaBlowingSand.h:116
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
A weather area represents localized environmental conditions such as blowing dust, blowing sand, or blowing snow.
Definition: DtWeatherArea.h:53
LayerType
brief Layer type enumerations.
Definition: DtWeatherLayer.h:49
Contains makVrv::DtTerrainPatchObject class.
float myTerrainDirtyTimer
Definition: DtWeatherAreaBlowingSand.h:115

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)