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

Class for handling light point updates and checks also is the update callback for the instanced light point geometry.

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

Public Member Functions

 DtInstancedLightPointUpdate (const osgSim::LightPoint &lp, osgSim::LightPointNode *lpn, osg::Geometry *geom, DtDe &de)
 
bool isShadowCamera (osg::RenderInfo &renderInfo) const
 
virtual bool isSmallFeature (const osg::Matrixf &drawableMatrix, osg::ref_ptr< osg::Camera > camera, float lightMinPixelSize)
 
virtual bool processSector (const osg::Matrixd &drawableMatrix)
 
virtual bool update (double frameTime, osg::Drawable *drw, double lastShaderReload)
 
virtual void setDaylightControlled (bool b)
 
virtual bool daylightControlled ()
 
virtual osgSim::LightPointNode
*const 
lightPointNode () const
 

Private Attributes

osg::ref_ptr
< osgSim::LightPointNode > 
myLightPointNode
 
osgSim::LightPoint myLightPoint
 
double myLastSimTime
 
bool myDaylightControlled
 
osg::ref_ptr
< osg::DrawElementsUInt > 
myGeomPrimitiveSet
 
osg::ref_ptr< osg::Vec3Array > myGeomVertexArray
 
osg::ref_ptr< osg::Vec4Array > myGeomColorArray
 
osg::ref_ptr< osg::BlendFunc > myGeomBlendFunc
 
osg::ref_ptr< osg::Uniform > myLightPointSizeUniform
 
osg::ref_ptr
< DtVirtualProgramDepthOnlyCallback
myDepthOnlyCallback
 
bool myIsVisible
 
DtDemyDe
 
double myLastShaderReload
 
osg::ref_ptr< osg::Depth > myDepth
 

Constructor & Destructor Documentation

makVrv::DtInstancedLightPointUpdate::DtInstancedLightPointUpdate ( const osgSim::LightPoint &  lp,
osgSim::LightPointNode *  lpn,
osg::Geometry *  geom,
DtDe de 
)

Constructor: stores the lightpoint and lightpointnode associated with this object there is one of these updates for each light point on instanced geometry.

Member Function Documentation

bool makVrv::DtInstancedLightPointUpdate::isShadowCamera ( osg::RenderInfo &  renderInfo) const

checks to see if this render info is for a shadow camera. This is used to not draw instanced light points when it is a shadow camera

virtual bool makVrv::DtInstancedLightPointUpdate::isSmallFeature ( const osg::Matrixf &  drawableMatrix,
osg::ref_ptr< osg::Camera >  camera,
float  lightMinPixelSize 
)
virtual

Check to see if this instance of the drawable is smaller than the small feature culling pixel size.

virtual bool makVrv::DtInstancedLightPointUpdate::processSector ( const osg::Matrixd &  drawableMatrix)
virtual

Check to see if the camera location is such that this light point should be drawn based on the light point's sector.

virtual bool makVrv::DtInstancedLightPointUpdate::update ( double  frameTime,
osg::Drawable *  drw,
double  lastShaderReload 
)
virtual

Update callback for the geometry. Handles blinking lights and sets up the arrays for the geometry.

virtual void makVrv::DtInstancedLightPointUpdate::setDaylightControlled ( bool  b)
virtual

Set whether the light point visibility is controlled by daylight level.

virtual bool makVrv::DtInstancedLightPointUpdate::daylightControlled ( )
virtual

Get whether light point visibility is controlled by daylight level.

virtual osgSim::LightPointNode* const makVrv::DtInstancedLightPointUpdate::lightPointNode ( ) const
virtual

The light point node has values that apply to all instances of a given lightpoint node.

Member Data Documentation

osg::ref_ptr<osgSim::LightPointNode> makVrv::DtInstancedLightPointUpdate::myLightPointNode
private
osgSim::LightPoint makVrv::DtInstancedLightPointUpdate::myLightPoint
private
double makVrv::DtInstancedLightPointUpdate::myLastSimTime
private
bool makVrv::DtInstancedLightPointUpdate::myDaylightControlled
private
osg::ref_ptr<osg::DrawElementsUInt> makVrv::DtInstancedLightPointUpdate::myGeomPrimitiveSet
private
osg::ref_ptr<osg::Vec3Array> makVrv::DtInstancedLightPointUpdate::myGeomVertexArray
private
osg::ref_ptr<osg::Vec4Array> makVrv::DtInstancedLightPointUpdate::myGeomColorArray
private
osg::ref_ptr<osg::BlendFunc> makVrv::DtInstancedLightPointUpdate::myGeomBlendFunc
private
osg::ref_ptr<osg::Uniform> makVrv::DtInstancedLightPointUpdate::myLightPointSizeUniform
private
osg::ref_ptr<DtVirtualProgramDepthOnlyCallback> makVrv::DtInstancedLightPointUpdate::myDepthOnlyCallback
private
bool makVrv::DtInstancedLightPointUpdate::myIsVisible
private
DtDe& makVrv::DtInstancedLightPointUpdate::myDe
private
double makVrv::DtInstancedLightPointUpdate::myLastShaderReload
private
osg::ref_ptr<osg::Depth> makVrv::DtInstancedLightPointUpdate::myDepth
private

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)