![]() |
VR-Forces 4.10 Class Documentation
|
A group node which serves as a root for weather layers. More...

Public Member Functions | |
| DtWeatherLayerGroup (DtDe &de) | |
| CTOR. More... | |
| DtWeatherLayerGroup (const DtWeatherLayerGroup &orig, const osg::CopyOp &opr) | |
| Copy constructor needed because it is derived from osg::Group. More... | |
| virtual | ~DtWeatherLayerGroup () |
| DTOR. More... | |
| virtual osg::Object * | clone (const osg::CopyOp ©op) const |
| required functions for derriving from osg::Group More... | |
| virtual osg::Object * | cloneType () const |
| virtual void | releaseGLObjects (osg::State *state=0) const override |
| Release all gl objects used by weather effect objects. More... | |
| virtual void | deleteGeode () |
| Tell the group to delete its specific children. More... | |
| virtual osg::Node * | getOrCreateSensorNode () |
| virtual void | removeLayer (DtUniqueID layerId) |
| Remove a weather layer. More... | |
| virtual void | removeAllLayers () |
| Remove all the weather layers. More... | |
| virtual void | addLayer (DtWeatherLayer *layer) |
| Adds a weather layer. More... | |
| virtual DtWeatherLayer * | getLayer (DtUniqueID layerId) |
| Gets a weather layer associated with the given ID. More... | |
| virtual void | setWind (float windDirectionRad, float windSpeedMps) |
| Sets the current wind to use for weather layers. More... | |
| virtual void | setLayerIntensity (DtUniqueID layerId, float level) |
| Sets the intensity level of a weather layer. More... | |
| virtual void | drawWeatherEffects (DtWeatherEffect::DrawData &drawData) |
| Draw all weather effects. More... | |
| virtual float | timeStep () const |
| Returns the last simulation timestep. More... | |
| virtual void | registerWeatherEffectsObject (DtOsgWeatherEffectsObject *weatherEffectsObject) |
| called by the DtOsgWeatherEffectsObject constructor to register itself when it is created. More... | |
Protected Member Functions | |
| void | connectSignals () |
| Connects all the signals, non-virtural, called in the ctor. More... | |
| void | disconnectSignals () |
| Disconnects all the signals, non-virtural, called in the dtor. More... | |
| virtual void | slot_groundSnowAccumulationChanged (float value) |
| Signal to handle when the ground snow accumulation changes. More... | |
| virtual void | slot_simulationUpdate () |
| Signal handler to run a simulation update. More... | |
| virtual void | traverse (osg::NodeVisitor &nv) |
| Traverse. More... | |
| virtual void | cullUpdate (osg::Camera *cam) |
| Update draw objects for current camera. More... | |
| virtual void | computeBasis (const osg::Vec3d &inGeocentricPos, osg::Matrixd &rotOut) |
| Computes a basis rotation matrix for the given geocentric position. More... | |
Protected Attributes | |
| DtDe & | myDe |
| osg::ref_ptr< osg::Geode > | myEffectGeode |
| osg::ref_ptr < makVrv::DtWeatherEffectDrawable > | myEffectDrawable |
| std::vector< osg::Vec4d > | myCullingPlanes |
| double | myLastTime |
| float | myTimeStep |
| float | myWindDirectionRad |
| float | myWindSpeedMps |
| DtJobSplitter * | myJobSplitter |
| DtSignalConnectionManager | myWeatherEffectsConnections |
Private Types | |
| typedef std::map< DtUniqueID, DtWeatherLayer * > | WeatherLayerMap |
| These are mutable because it's used as part of the const drawImplementation. More... | |
Private Member Functions | |
| DtWeatherLayerGroup ()=delete | |
| Default Constructor not implemented. More... | |
| DtWeatherLayerGroup (const DtWeatherLayerGroup &other)=delete | |
| Copy Constructor not implemented - Copy not allowed. More... | |
| DtWeatherLayerGroup & | operator= (const DtWeatherLayerGroup &other)=delete |
| Assignment Operator not implemented - Assignment not allowed. More... | |
Private Attributes | |
| WeatherLayerMap | myMutableWeatherLayerMap |
A group node which serves as a root for weather layers.
This group node is the top level node in the scenegraph for weather layers. The node also serves as the main interface to create and modify weather layers. There is 1 geode under this node for drawing weather layer effects.
This class hooks into the simulation update which updates all active weather layer effects. Weather layer effects queue update jobs which are updated in parallel using a job splitter. There is also a post update for each weather layer for items that cannot use multithreading (currently intersection tests).
During scenegraph culling, this class calls cull methods on individual weather layers. If a weather layer effect is not culled, it submits a sort job to a job splitter and finally the queued sorting jobs are ran in parallel.
|
private |
These are mutable because it's used as part of the const drawImplementation.
This type defines a map with an id key to a weather layer.
| makVrv::DtWeatherLayerGroup::DtWeatherLayerGroup | ( | DtDe & | de | ) |
CTOR.
| makVrv::DtWeatherLayerGroup::DtWeatherLayerGroup | ( | const DtWeatherLayerGroup & | orig, |
| const osg::CopyOp & | opr | ||
| ) |
Copy constructor needed because it is derived from osg::Group.
|
virtual |
DTOR.
|
privatedelete |
Default Constructor not implemented.
|
privatedelete |
Copy Constructor not implemented - Copy not allowed.
|
privatedelete |
Assignment Operator not implemented - Assignment not allowed.
|
inlinevirtual |
required functions for derriving from osg::Group
|
inlinevirtual |
|
overridevirtual |
Release all gl objects used by weather effect objects.
|
virtual |
Tell the group to delete its specific children.
|
virtual |
|
virtual |
Remove a weather layer.
| layerId | The layer ID associated with the layer to be removed. |
|
virtual |
Remove all the weather layers.
|
virtual |
Adds a weather layer.
Once added, this object will own the layer.
| layer | The layer to add. |
|
virtual |
Gets a weather layer associated with the given ID.
| layerId | The ID of a layer that was previously added using addLayer(). |
|
virtual |
Sets the current wind to use for weather layers.
| windDirectionRad | The wind direction in radians. |
| windSpeedMps | The wind speed in meters per second. |
|
virtual |
Sets the intensity level of a weather layer.
| layerId | The ID of a layer. |
| level | The intensity level (0.0 - 1.0). |
|
virtual |
Draw all weather effects.
|
virtual |
Returns the last simulation timestep.
|
virtual |
called by the DtOsgWeatherEffectsObject constructor to register itself when it is created.
|
protected |
Connects all the signals, non-virtural, called in the ctor.
|
protected |
Disconnects all the signals, non-virtural, called in the dtor.
|
protectedvirtual |
Signal to handle when the ground snow accumulation changes.
|
protectedvirtual |
Signal handler to run a simulation update.
|
protectedvirtual |
Traverse.
|
protectedvirtual |
Update draw objects for current camera.
| cam | The current camera. |
|
protectedvirtual |
Computes a basis rotation matrix for the given geocentric position.
| inGeocentricPos | The geocentric reference position. |
| rotOut | The computed basis rotation transform. |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprivate |