VR-Forces 4.10 Class Documentation
 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::DtWeatherAreaBlowingSand Class Reference

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

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

Public Member Functions

virtual ~DtWeatherAreaBlowingSand ()
 DTOR. More...
 
 DtWeatherAreaBlowingSand ()=delete
 Default Constructor not implemented. More...
 
 DtWeatherAreaBlowingSand (const DtWeatherAreaBlowingSand &other)=delete
 Copy Constructor not implemented - Copy not allowed. More...
 
DtWeatherAreaBlowingSandoperator= (const DtWeatherAreaBlowingSand &other)=delete
 Assignment Operator not implemented - Assignment not allowed. More...
 
virtual void setEnabled (bool enabled)
 Enables or disables the weather area. More...
 
virtual void setBounds (const DtVector &bounds, float cornerRadius)
 Sets the bounds of the area. More...
 
virtual void setTransform (const DtVector &position, float orientation, bool relativeToCamera=false)
 Sets the area transform. More...
 
virtual const float * heights (int &sizeX, int &sizeY) const
 Returns the height grid used for terrain clamping. More...
 
virtual const unsigned intpackedData (int &sizeX, int &sizeY) const
 Returns the grid heights/blend packedData array used for terrain clamping. More...
 
virtual void cullUpdate (const osg::Vec3d &camPos, const osg::Matrixd &viewMatrixI, const std::vector< osg::Vec4d > &cullingPlanes, DtJobSplitter *jobSplitter)
 Culls the area based on the current camera. More...
 
bool usesWeatherLayerType (DtWeatherLayer::LayerType layerType) const
 Returns true if this area uses the give weather layer type. More...
 
- Public Member Functions inherited from makVrv::DtWeatherArea
virtual ~DtWeatherArea ()
 DTOR. More...
 
 DtWeatherArea ()=delete
 Default Constructor not implemented. More...
 
 DtWeatherArea (const DtWeatherArea &other)=delete
 Copy Constructor not implemented - Copy not allowed. More...
 
DtWeatherAreaoperator= (const DtWeatherArea &other)=delete
 Assignment Operator not implemented - Assignment not allowed. More...
 
virtual bool enabled () const
 Returns the enabled state. More...
 
virtual bool culled () const
 Returns the culled state. More...
 
virtual const osg::Vec3d & position () const
 Returns the area origin position in world space. More...
 
virtual const osg::Matrixd & rotation () const
 Returns the area origin rotation in world space. More...
 
virtual float boundsX () const
 Returns the bounds X size. More...
 
virtual float boundsY () const
 Returns the bounds Y size. More...
 
virtual float boundsZ () const
 Returns the bounds Z size. More...
 
virtual float boundsCornerRadius () const
 Returns the bounds curner radius. More...
 
virtual float computeBoundsDistance2D (const osg::Vec3d &position)
 Computes the xy distance from the given world position to the edge of the bounds. More...
 
virtual float computeBoundsDistance3D (const osg::Vec3d &position)
 Computes the distance from the given world position to the edge of the bounds The bounds is a rounded rect. More...
 
virtual void setPrecipitationIntensity (const float intensity)
 Sets a precipitation intensity for the area. More...
 
virtual const float precipitationIntensity () const
 Returns the precipitation intensity for the area. More...
 
virtual void setPrecipitationType (const DtSkyObject::PrecipitationType type)
 Sets a precipitation type for the area. More...
 
virtual const
DtSkyObject::PrecipitationType 
precipitationType () const
 Returns the precipitation type for the area. More...
 
virtual void setGroundRainAccumulation (const float depth)
 Set the ground rain accumulation depth. More...
 
virtual const float groundRainAccumulation () const
 Returns the ground rain accumulation depth. More...
 
virtual void setFogColor (const DtVector &color)
 Sets a fog color for the area. More...
 
virtual const DtVectorfogColor () const
 Returns the fog color for the area. More...
 
virtual void setVisibilityDistance (const float distance)
 Sets a visibility distance for the area. More...
 
virtual const float visibilityDistance () const
 Returns the visibility distance for the area. More...
 
virtual void setOvercast (const float overcast)
 Sets a overcast percentage (lighting) for the area. More...
 
virtual const float overcast () const
 Returns the overcast percentage for the area. More...
 
virtual void setWind (const float windDirectionRad, const float windSpeedMps)
 Sets the current wind. More...
 
virtual void setLightningEnabled (const bool enabled)
 Enables or disables lightning. More...
 
virtual const bool lightningEnabled () const
 Returns true if lightning is enabled for the area. More...
 
virtual bool computeLocalPrecipitation (const osg::Vec3d &location, int &type, float &intensity)
 Computes the precipitation at the given location. More...
 
virtual bool computeLocalGroundRainAccumulation (const osg::Vec3d &location, float &depth, float &blend)
 Computes the ground rain accumulation at the given location. More...
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor. More...
 
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor. More...
 

Protected Member Functions

 DtWeatherAreaBlowingSand (makVrv::DtDe &de)
 CTOR. More...
 
virtual void slot_terrainDataChanged (DtTerrainPatchObject &tpo)
 Signal handler for terrain changes. More...
 
virtual void slot_simulationUpdate ()
 Signal handler to run a simulation update. More...
 
virtual void onAreaChanged ()
 Called when the area bounds or transform has changed. More...
 
- Protected Member Functions inherited from makVrv::DtWeatherArea
 DtWeatherArea (makVrv::DtDe &de)
 CTOR. More...
 
virtual void updateTransform ()
 Updates the current transform based on current settings. More...
 
virtual void computeBasis (const osg::Vec3d &inGeocentricPos, osg::Matrixd &rotOut) const
 Computes a basis rotation matrix for the given geocentric position. More...
 
virtual bool clampPositionToTerrain (osg::Vec3d &position, float clampDistance) const
 Clamps the given position to the terrain surface. More...
 
virtual bool isSphereVisible (const std::vector< osg::Vec4d > &planes, const osg::Vec3d &center, double radius) const
 Tests to see if a sphere is visible using the given frustum planes. More...
 

Protected Attributes

DtDemyDe
 
bool mySimulationUpdate
 
bool myTransformDirty
 
float myTerrainDirtyTimer
 
double myLastTime
 
DtWeatherSurfaceGridmyWeatherSurfaceGrid
 
bool myHeightMapRegistered
 
- 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
 

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)
 Computes the xy distance from the given world position to the edge of the bounds. More...
 
static float computeBoundsDistance3D (const osg::Vec3d &position, const osg::Vec4d &bounds, const osg::Vec3d &boundsPosition, const osg::Matrixd &boundsRotation)
 Computes the distance from the given world position to the edge of the bounds The bounds is a rounded rect with transform at bottom. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

virtual makVrv::DtWeatherAreaBlowingSand::~DtWeatherAreaBlowingSand ( )
virtual

DTOR.

makVrv::DtWeatherAreaBlowingSand::DtWeatherAreaBlowingSand ( )
delete

Default Constructor not implemented.

makVrv::DtWeatherAreaBlowingSand::DtWeatherAreaBlowingSand ( const DtWeatherAreaBlowingSand other)
delete

Copy Constructor not implemented - Copy not allowed.

makVrv::DtWeatherAreaBlowingSand::DtWeatherAreaBlowingSand ( makVrv::DtDe de)
protected

CTOR.

Member Function Documentation

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

Assignment Operator not implemented - Assignment not allowed.

virtual void makVrv::DtWeatherAreaBlowingSand::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::DtWeatherAreaBlowingSand::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::DtWeatherAreaBlowingSand::setTransform ( const DtVector position,
float  orientation,
bool  relativeToCamera = false 
)
virtual

Sets the area transform.

Parameters
positionThe transform position in world space.
oritantationThe 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::DtWeatherAreaBlowingSand::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::DtWeatherAreaBlowingSand::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::DtWeatherAreaBlowingSand::cullUpdate ( const osg::Vec3d &  camPos,
const osg::Matrixd &  viewMatrixI,
const std::vector< osg::Vec4d > &  cullingPlanes,
DtJobSplitter jobSplitter 
)
virtual

Culls the area based on the current camera.

Parameters
camThe current camera being drawn.
jobSplitterA job splitter to add predraw jobs to.

Reimplemented from makVrv::DtWeatherArea.

bool makVrv::DtWeatherAreaBlowingSand::usesWeatherLayerType ( DtWeatherLayer::LayerType  layerType) const
virtual

Returns true if this area uses the give weather layer type.

Parameters
layerTypeThe layer type to check.

Reimplemented from makVrv::DtWeatherArea.

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

Signal handler for terrain changes.

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

Signal handler to run a simulation update.

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

Called when the area bounds or transform has changed.

Friends And Related Function Documentation

friend class DtWeatherAreaFactory
friend

Member Data Documentation

DtDe& makVrv::DtWeatherAreaBlowingSand::myDe
protected
bool makVrv::DtWeatherAreaBlowingSand::mySimulationUpdate
protected
bool makVrv::DtWeatherAreaBlowingSand::myTransformDirty
protected
float makVrv::DtWeatherAreaBlowingSand::myTerrainDirtyTimer
protected
double makVrv::DtWeatherAreaBlowingSand::myLastTime
protected
DtWeatherSurfaceGrid* makVrv::DtWeatherAreaBlowingSand::myWeatherSurfaceGrid
protected
bool makVrv::DtWeatherAreaBlowingSand::myHeightMapRegistered
protected

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

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)