VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWeatherAreaSurfaceBounds.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 
12 
13 #include <vrvCore/DtDe.h>
14 
15 #include <vrvOsg/vrvOsg.h>
16 #include <vrvOsg/DtWeatherArea.h>
17 
18 #include <matrix/vlVector.h>
19 
20 #include <osg/Matrixd>
21 #include <osg/Vec3d>
22 #include <osg/Vec4d>
23 
24 
25 namespace makVrv
26 {
27  // Forward declarations
28  class DtWeatherSurfaceGrid;
29  class DtTerrainPatchObject;
30 
31 
39  {
40  friend class DtWeatherAreaFactory;
41 
42  public:
43 
45  virtual ~DtWeatherAreaSurfaceBounds();
46 
48  DtWeatherAreaSurfaceBounds() = delete;
49 
52 
54  DtWeatherAreaSurfaceBounds &operator=(const DtWeatherAreaSurfaceBounds &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 
94  virtual void cullUpdate(const osg::Vec3d& camPos,
95  const std::vector<osg::Vec4d>& cullingPlanes, DtJobSplitter* jobSplitter,
96  const osg::Camera* camera) override;
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 
double myLastTime
Definition: DtWeatherAreaSurfaceBounds.h:116
Contains makVrv::DtWeatherArea class.
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
Used by the weather system to define an area of blowing dust.
Definition: DtWeatherAreaSurfaceBounds.h:38
Factory that is used to create weather areas.
Definition: DtWeatherArea.h:350
Contains makVrv::DtDe class.
this class is used to split work up between threads.
Definition: DtJobSplitter.h:64
bool mySimulationUpdate
Definition: DtWeatherAreaSurfaceBounds.h:113
DtDe & myDe
Definition: DtWeatherAreaSurfaceBounds.h:111
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:37
DtWeatherSurfaceGrid * myWeatherSurfaceGrid
Definition: DtWeatherAreaSurfaceBounds.h:118
bool myTransformDirty
Definition: DtWeatherAreaSurfaceBounds.h:114
bool myHeightMapRegistered
Definition: DtWeatherAreaSurfaceBounds.h:119
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
float myTerrainDirtyTimer
Definition: DtWeatherAreaSurfaceBounds.h:115
Used by the weather system to define a rectangular grid of points. The points can be clamped to the t...
Definition: DtWeatherSurfaceGrid.h:36
A weather area represents localized environmental conditions such as blowing dust, blowing sand, or blowing snow. The default (base class) weather area is mainly used as a bounds for localized environmental information such as precipitation intensity. AreaTypeBlowingDust, AreaTypeBlowingSand, AreaTypeBlowingSnow are specialized weather areas that represent 1 specific environmental condition.
Definition: DtWeatherArea.h:54

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)