VR-Forces 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) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 
13 #include <vrvCore/DtDe.h>
14 
16 
17 #include <vrvOsg/vrvOsg.h>
18 #include <vrvOsg/DtWeatherArea.h>
19 
20 #include <matrix/vlVector.h>
21 
22 #include <osg/Matrixd>
23 #include <osg/Vec3d>
24 #include <osg/Vec4d>
25 
27 #include <vrvUtil/signalslib.h>
28 
29 namespace makVrv
30 {
31  // Forward declarations
32  class DtWeatherSurfaceGrid;
33  class DtTerrainPatchObject;
34 
35 
43  {
44  friend class DtWeatherAreaFactory;
45 
46  public:
47 
49  virtual ~DtWeatherAreaSurfaceBounds();
50 
52  DtWeatherAreaSurfaceBounds() = delete;
53 
56 
58  DtWeatherAreaSurfaceBounds &operator=(const DtWeatherAreaSurfaceBounds &other) = delete;
59 
60  protected:
61 
64 
65  public:
66 
69  virtual void setEnabled(bool enabled);
70 
74  virtual void setBounds(const DtVector& bounds, float cornerRadius);
75 
80  virtual void setTransform(const DtVector& position, float orientation, bool relativeToCamera = false);
81 
85  virtual const float* heights(int& sizeX, int& sizeY) const;
86 
90  virtual const unsigned int* packedData(int& sizeX, int& sizeY) const;
91 
98  virtual void cullUpdate(const osg::Vec3d& camPos,
99  const Frustum_64& frustum, DtJobSplitter* jobSplitter,
100  const osg::Camera* camera) override;
101 
102  protected:
103 
105  virtual void slot_terrainDataChanged(DtTerrainPatchObject& tpo);
106 
108  virtual void slot_simulationUpdate();
109 
111  virtual void onAreaChanged();
112 
113  protected:
114 
116  bool myTransformDirty; // handles relative to camera update
117  float myTerrainDirtyTimer; // handles valid terrain check update
118  double myLastTime;
119 
122 
124  boost::signalslib::connection myPostUpdateConnection;
125  };
126 
127 }
128 
129 
130 
double myLastTime
Definition: DtWeatherAreaSurfaceBounds.h:118
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:42
Factory that is used to create weather areas.
Definition: DtWeatherArea.h:346
Contains makVrv::DtDe class.
this class is used to split work up between threads.
Definition: DtJobSplitter.h:64
bool mySimulationUpdate
Definition: DtWeatherAreaSurfaceBounds.h:115
Camera forward declarations.
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:35
DtWeatherSurfaceGrid * myWeatherSurfaceGrid
Definition: DtWeatherAreaSurfaceBounds.h:120
bool myTransformDirty
Definition: DtWeatherAreaSurfaceBounds.h:116
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtUniqueID myHeightMapRegisteredId
Definition: DtWeatherAreaSurfaceBounds.h:121
boost::signalslib::connection myPostUpdateConnection
Definition: DtWeatherAreaSurfaceBounds.h:124
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSignalConnectionManager myConnections
Definition: DtWeatherAreaSurfaceBounds.h:123
Base class to provide boost signal/slot management.
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:72
float myTerrainDirtyTimer
Definition: DtWeatherAreaSurfaceBounds.h:117
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:56

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)