VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
makVrv::DtWeatherAreaSurfaceBounds Class Reference

Used by the weather system to define an area of blowing dust.

A blowing dust weather area is created using the following: DtWeatherAreaFactory::instance(myDe).create(DtWeatherAreaFactory::AreaTypeBlowingDust)

Inheritance diagram for makVrv::DtWeatherAreaSurfaceBounds:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtWeatherAreaSurfaceBounds ()
 
 DtWeatherAreaSurfaceBounds ()=delete
 
 DtWeatherAreaSurfaceBounds (const DtWeatherAreaSurfaceBounds &other)=delete
 
DtWeatherAreaSurfaceBoundsoperator= (const DtWeatherAreaSurfaceBounds &other)=delete
 
virtual void setEnabled (bool enabled)
 
virtual void setBounds (const DtVector &bounds, float cornerRadius)
 
virtual void setTransform (const DtVector &position, float orientation, bool relativeToCamera=false)
 
virtual const float * heights (int &sizeX, int &sizeY) const
 
virtual const unsigned intpackedData (int &sizeX, int &sizeY) const
 
virtual void cullUpdate (const osg::Vec3d &camPos, const Frustum_64 &frustum, DtJobSplitter *jobSplitter, const osg::Camera *camera) override
 
- Public Member Functions inherited from makVrv::DtWeatherArea
virtual ~DtWeatherArea ()
 
 DtWeatherArea ()=delete
 
 DtWeatherArea (const DtWeatherArea &other)=delete
 
DtWeatherAreaoperator= (const DtWeatherArea &other)=delete
 
virtual bool enabled () const
 
virtual bool culled () const
 
virtual const osg::Vec3d & position () const
 
virtual const osg::Matrixd & rotation () const
 
virtual float boundsX () const
 
virtual float boundsY () const
 
virtual float boundsZ () const
 
virtual float boundsCornerRadius () const
 
virtual void drawWeatherLayerEffects (DtWeatherEffect::DrawData &drawData)
 
virtual float computeBoundsDistance2d (const osg::Vec3d &position)
 
virtual float computeBoundsDistance3d (const osg::Vec3d &position)
 
virtual float computeBoundsDistance2dAndTop (const osg::Vec3d &position)
 
virtual void setPrecipitationIntensity (const float intensity)
 
virtual const float precipitationIntensity () const
 
virtual void setPrecipitationType (const DtSkyObject::PrecipitationType type)
 
virtual const
DtSkyObject::PrecipitationType 
precipitationType () const
 
virtual void setGroundRainAccumulation (const float depth)
 
virtual const float groundRainAccumulation () const
 
virtual void setFogColor (const DtVector &color)
 
virtual const DtVector & fogColor () const
 
virtual void setVisibilityDistance (const float distance)
 
virtual const float visibilityDistance () const
 
virtual void setOvercast (const float overcast)
 
virtual const float overcast () const
 
virtual void setGlobalWind (const float windDirectionRad, const float windSpeedMps)
 
virtual void setWind (const float windDirectionRad, const float windSpeedMps)
 
virtual void setLightningEnabled (const bool enabled)
 
virtual const bool lightningEnabled () const
 
virtual void cloudLayerAdded (DtCloudLayerId layerId, int cloudType)
 
virtual void cloudLayerRemoved (DtCloudLayerId layerId)
 
virtual bool computeLocalPrecipitation (const osg::Vec3d &location, int &type, float &intensity)
 
virtual bool computeLocalGroundRainAccumulation (const osg::Vec3d &location, float &depth, float &blend)
 
virtual void addWeatherLayer (DtWeatherLayer::LayerType layerType)
 
virtual void removeWeatherLayer (DtWeatherLayer::LayerType layerType)
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Protected Member Functions

 DtWeatherAreaSurfaceBounds (makVrv::DtDe &de)
 
virtual void slot_terrainDataChanged (DtTerrainPatchObject &tpo)
 
virtual void slot_simulationUpdate ()
 
virtual void onAreaChanged ()
 
- Protected Member Functions inherited from makVrv::DtWeatherArea
 DtWeatherArea (makVrv::DtDe &de)
 
virtual void updateTransform ()
 
virtual void computeBasis (const osg::Vec3d &inGeocentricPos, osg::Matrixd &rotOut) const
 
virtual bool clampPositionToTerrain (osg::Vec3d &position, float clampDistance) const
 
virtual bool isPositionBelowSealevel (const DtVector &position) const
 

Protected Attributes

bool mySimulationUpdate
 
bool myTransformDirty
 
float myTerrainDirtyTimer
 
double myLastTime
 
DtWeatherSurfaceGridmyWeatherSurfaceGrid
 
DtUniqueID myHeightMapRegisteredId
 
DtSignalConnectionManager myConnections
 
boost::signalslib::connection myPostUpdateConnection
 
- Protected Attributes inherited from makVrv::DtWeatherArea
DtDemyDe
 
bool myEnabled
 
bool myCulled
 
DtVector mySetPosition
 
float mySetOrientation
 
bool mySetRelativeToCamera
 
osg::Vec3d myPosition
 
osg::Matrixd myRotation
 
float myBoundsX
 
float myBoundsY
 
float myBoundsZ
 
float myBoundsCornerRadius
 
float myPrecipitationBoundsScale
 
float myPrecipitationIntensity
 
DtSkyObject::PrecipitationType myPrecipitationType
 
float myGroundRainAccumulation
 
bool myLightningEnabled
 
DtVector myFogColor
 
float myVisibilityDistance
 
float myOvercast
 
float myWindDirectionRad
 
float myWindSpeedMps
 
std::vector< DtWeatherLayer * > myWeatherLayers
 
DtIntersectormyIntersector = nullptr
 

Friends

class DtWeatherAreaFactory
 

Additional Inherited Members

- Static Public Member Functions inherited from makVrv::DtWeatherArea
static float computeBoundsDistance2d (const osg::Vec3d &position, const osg::Vec4d &bounds, const osg::Vec3d &boundsPosition, const osg::Matrixd &boundsRotation)
 
static float computeBoundsDistance3d (const osg::Vec3d &position, const osg::Vec4d &bounds, const osg::Vec3d &boundsPosition, const osg::Matrixd &boundsRotation)
 
static float computeBoundsDistance2dAndTop (const osg::Vec3d &position, const osg::Vec4d &bounds, const osg::Vec3d &boundsPosition, const osg::Matrixd &boundsRotation)
 

Constructor & Destructor Documentation

virtual makVrv::DtWeatherAreaSurfaceBounds::~DtWeatherAreaSurfaceBounds ( )
virtual

DTOR.

makVrv::DtWeatherAreaSurfaceBounds::DtWeatherAreaSurfaceBounds ( )
delete

Default Constructor not implemented.

makVrv::DtWeatherAreaSurfaceBounds::DtWeatherAreaSurfaceBounds ( const DtWeatherAreaSurfaceBounds other)
delete

Copy Constructor not implemented - Copy not allowed.

makVrv::DtWeatherAreaSurfaceBounds::DtWeatherAreaSurfaceBounds ( makVrv::DtDe de)
protected

CTOR.

Member Function Documentation

DtWeatherAreaSurfaceBounds& makVrv::DtWeatherAreaSurfaceBounds::operator= ( const DtWeatherAreaSurfaceBounds other)
delete

Assignment Operator not implemented - Assignment not allowed.

virtual void makVrv::DtWeatherAreaSurfaceBounds::setEnabled ( bool  enabled)
virtual

Enables or disables the weather area.

Parameters
enabledSet to true to enable the area.

Reimplemented from makVrv::DtWeatherArea.

virtual void makVrv::DtWeatherAreaSurfaceBounds::setBounds ( const DtVector &  bounds,
float  cornerRadius 
)
virtual

Sets the bounds of the area.

Parameters
boundsThe (x,y,z) of the bounds.
cornerRadiusThe radius at each corner of the bounds.

Reimplemented from makVrv::DtWeatherArea.

virtual void makVrv::DtWeatherAreaSurfaceBounds::setTransform ( const DtVector &  position,
float  orientation,
bool  relativeToCamera = false 
)
virtual

Sets the area transform.

Parameters
positionThe transform position in world space.
orientationThe yaw orientation in degrees (0 = north).
relativeToCameraSet to true if the position is relative to the current camera.

Reimplemented from makVrv::DtWeatherArea.

virtual const float* makVrv::DtWeatherAreaSurfaceBounds::heights ( int sizeX,
int sizeY 
) const
virtual

Returns the height grid used for terrain clamping.

Parameters
sizeXFilled in output for the grid size in the x direction.
sizeYFilled in output for the grid size in the y direction.
virtual const unsigned int* makVrv::DtWeatherAreaSurfaceBounds::packedData ( int sizeX,
int sizeY 
) const
virtual

Returns the grid heights/blend packedData array used for terrain clamping.

Parameters
sizeXFilled in output for the grid size in the x direction.
sizeYFilled in output for the grid size in the y direction.

Reimplemented from makVrv::DtWeatherArea.

virtual void makVrv::DtWeatherAreaSurfaceBounds::cullUpdate ( const osg::Vec3d &  camPos,
const Frustum_64 frustum,
DtJobSplitter jobSplitter,
const osg::Camera *  camera 
)
overridevirtual

Culls the area based on the current camera. Sets the culled state of any weather layers associated with this area.

Parameters
camPosThe current position of the camera being drawn.
frustumThe frustum used for culling.
jobSplitterA job splitter to add predraw jobs to.
cameraThe current camera being drawn.

Reimplemented from makVrv::DtWeatherArea.

virtual void makVrv::DtWeatherAreaSurfaceBounds::slot_terrainDataChanged ( DtTerrainPatchObject tpo)
protectedvirtual

Signal handler for terrain changes.

virtual void makVrv::DtWeatherAreaSurfaceBounds::slot_simulationUpdate ( )
protectedvirtual

Signal handler to run a simulation update.

virtual void makVrv::DtWeatherAreaSurfaceBounds::onAreaChanged ( )
protectedvirtual

Called when the area bounds or transform has changed.

Friends And Related Function Documentation

friend class DtWeatherAreaFactory
friend

Member Data Documentation

bool makVrv::DtWeatherAreaSurfaceBounds::mySimulationUpdate
protected
bool makVrv::DtWeatherAreaSurfaceBounds::myTransformDirty
protected
float makVrv::DtWeatherAreaSurfaceBounds::myTerrainDirtyTimer
protected
double makVrv::DtWeatherAreaSurfaceBounds::myLastTime
protected
DtWeatherSurfaceGrid* makVrv::DtWeatherAreaSurfaceBounds::myWeatherSurfaceGrid
protected
DtUniqueID makVrv::DtWeatherAreaSurfaceBounds::myHeightMapRegisteredId
protected
DtSignalConnectionManager makVrv::DtWeatherAreaSurfaceBounds::myConnections
protected
boost::signalslib::connection makVrv::DtWeatherAreaSurfaceBounds::myPostUpdateConnection
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)