VR-Forces 4.8 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 | Private Member Functions | Private Attributes
makVrv::DtGroundFogPatchDrawable Class Reference

A drawable used for drawing patchy ground fog objects. More...

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

Public Member Functions

 DtGroundFogPatchDrawable (makVrv::DtDe &de, DtGroundFogGroup *groundFogGroup)
 CTOR. More...
 
 DtGroundFogPatchDrawable (const DtGroundFogPatchDrawable &orig, const osg::CopyOp &opr)
 Copy constructor needed because it is derived from osg::Drawable. More...
 
virtual ~DtGroundFogPatchDrawable ()
 DTOR. More...
 
virtual osg::Object * clone (const osg::CopyOp &copyop) const
 required functions for derriving from osg::Drawable More...
 
virtual osg::Object * cloneType () const
 
virtual void init ()
 Initializes the uniforms and state attributes for the drawable. More...
 
virtual void releaseGLObjects (osg::State *state) const
 Release all gl objects used by this system. More...
 
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
 Actually do the drawing. More...
 
virtual void applyState (DtGroundFogPatchArea::DrawData &drawData) const
 Applies the state for drawing. More...
 
virtual void setWind (float windDirectionRad, float windSpeedMps)
 Sets the current wind to use for fog. More...
 

Protected Member Functions

virtual bool loadShaders ()
 Loads shaders used to draw ground fog patch objects. More...
 
virtual void connectSignals ()
 Connects all the signals, Non-virtural, called in the ctor. More...
 
virtual void disconnectSignals ()
 Disconnects all the signals, called in the dtor. More...
 
virtual void slot_reloadShaders ()
 Signal handler to reload the shaders. More...
 
virtual void setupSoftness (osg::Camera *camera) const
 Setup softness parameters used when drawing. More...
 

Protected Attributes

DtDemyDe
 
DtGroundFogGroupmyGroundFogGroup
 
bool myInitialized
 
float myWindDirectionRad
 
float myWindSpeedMps
 
osg::ref_ptr< osg::Texture > myParticleTexture
 
osg::ref_ptr< osg::Texture > myPatternTexture
 
osg::ref_ptr< osg::StateSet > myStateSet
 

Private Member Functions

 DtGroundFogPatchDrawable ()
 Default Constructor not implemented. More...
 
 DtGroundFogPatchDrawable (const DtGroundFogPatchDrawable &other)
 Copy Constructor not implemented - Copy not allowed. More...
 
DtGroundFogPatchDrawableoperator= (const DtGroundFogPatchDrawable &other)
 Assignment Operator not implemented - Assignment not allowed. More...
 

Private Attributes

osg::ref_ptr< osg::Uniform > myMutableInvPersMatrixUniform
 needed for smoothness These are mutable because they are used as part of the const drawImplementation. More...
 
osg::ref_ptr< osg::Uniform > myMutablePersMatrixUniform
 
osg::ref_ptr< osg::Uniform > myMutableViewportUniform
 
osg::ref_ptr< osg::Uniform > myMutableIsReflectionUniform
 
osg::ref_ptr< osg::Uniform > myMutableSoftnessUniform
 
osg::ref_ptr< osg::Uniform > myMutableViewMatrixInvUniform
 This is mutable because it's used as part of the const drawImplementation. More...
 

Detailed Description

A drawable used for drawing patchy ground fog objects.

The class serves as a place to setup common state settings for all ground fog patches along with a draw point entry and an entry to release GL objects.

Constructor & Destructor Documentation

makVrv::DtGroundFogPatchDrawable::DtGroundFogPatchDrawable ( makVrv::DtDe de,
DtGroundFogGroup groundFogGroup 
)

CTOR.

makVrv::DtGroundFogPatchDrawable::DtGroundFogPatchDrawable ( const DtGroundFogPatchDrawable orig,
const osg::CopyOp &  opr 
)

Copy constructor needed because it is derived from osg::Drawable.

virtual makVrv::DtGroundFogPatchDrawable::~DtGroundFogPatchDrawable ( )
virtual

DTOR.

makVrv::DtGroundFogPatchDrawable::DtGroundFogPatchDrawable ( )
private

Default Constructor not implemented.

makVrv::DtGroundFogPatchDrawable::DtGroundFogPatchDrawable ( const DtGroundFogPatchDrawable other)
private

Copy Constructor not implemented - Copy not allowed.

Member Function Documentation

DtGroundFogPatchDrawable& makVrv::DtGroundFogPatchDrawable::operator= ( const DtGroundFogPatchDrawable other)
private

Assignment Operator not implemented - Assignment not allowed.

virtual osg::Object* makVrv::DtGroundFogPatchDrawable::clone ( const osg::CopyOp &  copyop) const
inlinevirtual

required functions for derriving from osg::Drawable

virtual osg::Object* makVrv::DtGroundFogPatchDrawable::cloneType ( ) const
inlinevirtual
virtual void makVrv::DtGroundFogPatchDrawable::init ( )
virtual

Initializes the uniforms and state attributes for the drawable.

virtual void makVrv::DtGroundFogPatchDrawable::releaseGLObjects ( osg::State *  state) const
virtual

Release all gl objects used by this system.

virtual void makVrv::DtGroundFogPatchDrawable::drawImplementation ( osg::RenderInfo &  renderInfo) const
virtual

Actually do the drawing.

virtual void makVrv::DtGroundFogPatchDrawable::applyState ( DtGroundFogPatchArea::DrawData drawData) const
virtual

Applies the state for drawing.

virtual void makVrv::DtGroundFogPatchDrawable::setWind ( float  windDirectionRad,
float  windSpeedMps 
)
virtual

Sets the current wind to use for fog.

Parameters
windDirectionRadThe wind direction in radians.
windSpeedMpsThe wind speed in meters per second.
virtual bool makVrv::DtGroundFogPatchDrawable::loadShaders ( )
protectedvirtual

Loads shaders used to draw ground fog patch objects.

virtual void makVrv::DtGroundFogPatchDrawable::connectSignals ( )
protectedvirtual

Connects all the signals, Non-virtural, called in the ctor.

virtual void makVrv::DtGroundFogPatchDrawable::disconnectSignals ( )
protectedvirtual

Disconnects all the signals, called in the dtor.

virtual void makVrv::DtGroundFogPatchDrawable::slot_reloadShaders ( )
protectedvirtual

Signal handler to reload the shaders.

virtual void makVrv::DtGroundFogPatchDrawable::setupSoftness ( osg::Camera *  camera) const
protectedvirtual

Setup softness parameters used when drawing.

camera The current camera being drawn.

Member Data Documentation

DtDe& makVrv::DtGroundFogPatchDrawable::myDe
protected
DtGroundFogGroup* makVrv::DtGroundFogPatchDrawable::myGroundFogGroup
protected
bool makVrv::DtGroundFogPatchDrawable::myInitialized
protected
float makVrv::DtGroundFogPatchDrawable::myWindDirectionRad
protected
float makVrv::DtGroundFogPatchDrawable::myWindSpeedMps
protected
osg::ref_ptr<osg::Texture> makVrv::DtGroundFogPatchDrawable::myParticleTexture
protected
osg::ref_ptr<osg::Texture> makVrv::DtGroundFogPatchDrawable::myPatternTexture
protected
osg::ref_ptr<osg::StateSet> makVrv::DtGroundFogPatchDrawable::myStateSet
protected
osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutableInvPersMatrixUniform
mutableprivate

needed for smoothness These are mutable because they are used as part of the const drawImplementation.

osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutablePersMatrixUniform
mutableprivate
osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutableViewportUniform
mutableprivate
osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutableIsReflectionUniform
mutableprivate
osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutableSoftnessUniform
mutableprivate
osg::ref_ptr<osg::Uniform> makVrv::DtGroundFogPatchDrawable::myMutableViewMatrixInvUniform
mutableprivate

This is mutable because it's used as part of the const drawImplementation.


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

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)