19 #include <osg/Drawable>
23 #include <osg/BlendFunc>
24 #include <osg/BlendEquation>
25 #include <osg/ColorMask>
28 #include <osg/Texture>
29 #include <osg/PointSprite>
30 #include <osgSim/Export>
37 class DtOsgLightPointManager;
79 LightPointVertexAttrib(
int type,
int groupId,
int nodeId,
const osg::Matrix3 §orLocalToLp,
float phase,
const osg::Vec3& pos) :
83 mySectorLocalToLp(sectorLocalToLp),
106 virtual osg::Object*
clone(
const osg::CopyOp& copyop)
const
120 return "DtLightPointDrawable";
126 virtual void accept(osg::NodeVisitor& nv)
128 if (nv.validNodeMask(*
this))
130 nv.pushOntoNodePath(
this);
132 nv.popFromNodePath();
140 virtual void releaseGLObjects(osg::State* state)
const;
143 virtual void accept(osg::PrimitiveFunctor &functor)
const;
148 virtual GLuint64 getTextureAddress(
osg::Texture* myLightPointTexture);
158 virtual void addLightPoint(
const LightPointVertexAttrib& attribData);
161 virtual void removeLightPoints(
const std::vector<int>& nodeIds);
165 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
167 virtual void setSimulationTime(
double time);
170 virtual double simulationTime()
const;
173 virtual osg::BoundingBox computeBoundingBox()
const;
181 virtual void slot_reverseZChanged(
bool flag);
184 virtual void processTextureAddresses(osg::RenderInfo &renderInfo)
const;
188 virtual void addTextureToGCMap(osg::GraphicsContext* gContext, osg::Texture::TextureObject* texObj)
const;
192 virtual bool inTextureToGCMap(osg::GraphicsContext* gContext, osg::Texture::TextureObject* texObj)
const;
231 typedef std::set<osg::ref_ptr<osg::Texture::TextureObject> >
TexturesSet;
255 static const std::string& theClassName();
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
DtGLDeleteObjectManager & myGLManager
Definition: DtLightPointDrawable.h:235
Manager to delete GLBuffer in the main thread.
Definition: DtGlDeleteObjectManager.h:33
virtual const char * libraryName() const
Definition: DtLightPointDrawable.h:122
std::set< osg::ref_ptr< osg::Texture::TextureObject > > TexturesSet
Definition: DtLightPointDrawable.h:231
Virtual base class.
Definition: DtVirtualBaseClass.h:19
DtOsgLightPointManager * myLightPointManager
Definition: DtLightPointDrawable.h:205
DtDe & myDe
Definition: DtLightPointDrawable.h:211
virtual osg::Object * cloneType() const
Definition: DtLightPointDrawable.h:110
LightPointVertexAttrib()
Definition: DtLightPointDrawable.h:69
LightPointList myLightPointList
Definition: DtLightPointDrawable.h:199
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
osg::ref_ptr< osg::Texture > myDigitTexture
Definition: DtLightPointDrawable.h:209
TextureSet myMutableTexturesToGetAddressesFor
Definition: DtLightPointDrawable.h:228
osg::Vec3 myPos
Definition: DtLightPointDrawable.h:68
Contains makVrv::DtDe class.
DtSignalConnectionManager mySignals
Definition: DtLightPointDrawable.h:215
std::map< osg::observer_ptr< const osg::GraphicsContext >, TexturesSet > MapGCToTexArray
Definition: DtLightPointDrawable.h:232
int myType
Definition: DtLightPointDrawable.h:63
double mySimulationTime
Definition: DtLightPointDrawable.h:196
osg::Matrix3 mySectorLocalToLp
Definition: DtLightPointDrawable.h:67
virtual void accept(osg::NodeVisitor &nv)
Definition: DtLightPointDrawable.h:126
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:105
int myGroup
Definition: DtLightPointDrawable.h:64
osg::ref_ptr< osg::PointSprite > mySprite
Definition: DtLightPointDrawable.h:221
int myNode
Definition: DtLightPointDrawable.h:65
osg::ref_ptr< osg::BlendFunc > myBlendFunc
Definition: DtLightPointDrawable.h:202
Structure that matches the format of the data that is sent down as vertex attributes for the light po...
Definition: DtLightPointDrawable.h:61
std::map< osg::ref_ptr< osg::Texture >, GLuint64 > TextureToAddressMap
Definition: DtLightPointDrawable.h:224
virtual bool isSameKindAs(const osg::Object *obj) const
Definition: DtLightPointDrawable.h:114
int myMutableLightPointListMinChanged
Definition: DtLightPointDrawable.h:216
osg::ref_ptr< osg::Depth > myDepthOn
Definition: DtLightPointDrawable.h:201
virtual osg::Object * clone(const osg::CopyOp ©op) const
required functions for deriving from osg::Drawable couldn't use META_Node because it didn't compile ...
Definition: DtLightPointDrawable.h:106
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
LightPointVertexAttrib(int type, int groupId, int nodeId, const osg::Matrix3 §orLocalToLp, float phase, const osg::Vec3 &pos)
Definition: DtLightPointDrawable.h:79
float myPhase
Definition: DtLightPointDrawable.h:66
Class derived from osg::Drawable to handle all DtLightPointNode light points it gathers all the light...
Definition: DtLightPointDrawable.h:52
osg::ref_ptr< osg::Uniform > myTimeUniform
Definition: DtLightPointDrawable.h:213
Base class to provide boost signal/slot management.
MapGCToTexArray myMapGraphicsContextToTexturesArray
Definition: DtLightPointDrawable.h:233
Contains DLL export macros.
std::vector< LightPointVertexAttrib > LightPointList
Definition: DtLightPointDrawable.h:198
virtual const char * className() const
Definition: DtLightPointDrawable.h:118
std::set< osg::ref_ptr< osg::Texture > > TextureSet
Definition: DtLightPointDrawable.h:227
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: DtLightPointDrawable.h:238
DtDe & myDe
Definition: DtLightPointDrawable.h:258
int myMutableLightPointListMaxChanged
Definition: DtLightPointDrawable.h:217
TextureToAddressMap myMutableTextureToAddress
Definition: DtLightPointDrawable.h:225
bool myInitialized
Definition: DtLightPointDrawable.h:219
osg::ref_ptr< osg::BlendEquation > myBlendEquation
Definition: DtLightPointDrawable.h:203