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 | 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. More...

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

Public Member Functions

 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. More...
 
bool 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 More...
 
virtual bool isSmallFeature (const osg::Matrixf &drawableMatrix, osg::ref_ptr< osg::Camera > camera, float lightMinPixelSize)
 Check to see if this instance of the drawable is smaller than the small feature culling pixel size. More...
 
virtual bool processSector (const osg::Matrixd &drawableMatrix)
 Check to see if the camera location is such that this light point should be drawn based on the light point's sector. More...
 
virtual bool update (double frameTime, osg::Drawable *drw, double lastShaderReload)
 Update callback for the geometry. Handles blinking lights and sets up the arrays for the geometry. More...
 
virtual void setDaylightControlled (bool b)
 Set whether the light point visibility is controlled by daylight level. More...
 
virtual bool daylightControlled ()
 Get whether light point visibility is controlled by daylight level. More...
 
virtual osgSim::LightPointNode
*const 
lightPointNode () const
 The light point node has values that apply to all instances of a given lightpoint node. More...
 

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
 

Detailed Description

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

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 Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)