14 #include <osg/MatrixTransform>
35 float segmentSpacing = 1.0,
36 const osg::Vec4& color = osg::Vec4d(0.5, 0.5, 0.5, 1.0),
37 float maxLength = 2000,
38 float timeout = 3600.0);
53 virtual void traverse(osg::NodeVisitor& nv);
56 virtual osg::Node* node();
59 virtual void setColor(
const osg::Vec4& color);
62 virtual const osg::Vec4&
color()
const {
return myColor; }
65 virtual void setDroppedPoints(
const osg::Vec3d& pointA,
const osg::Vec3d& pointB);
70 virtual void setDroppedPointsPositionOffset(
const osg::Vec3d& posOffset);
73 virtual void update(
double dt,
double simTime);
77 virtual void update();
80 virtual void setMaxSegments(
long segments);
83 inline virtual long maxSegments()
const {
return myMaxSegments; }
86 virtual void setSegmentSpacing(
float spacing);
89 virtual void setSegmentTimeout(
float duration);
100 virtual void setStippled(
bool stippled);
106 inline virtual bool isStippled()
const {
return myStippled; }
109 virtual void setLightingEnabled(
bool enable);
112 virtual bool lightingEnabled();
117 virtual void addParticle(osg::Vec3d
const& left, osg::Vec3d
const& right,
121 virtual float currentSegmentLength() = 0;
126 virtual void cleanupOldSegments(
double simTime) = 0;
129 virtual void extendCurrentSegment(osg::Vec3d
const& left,
130 osg::Vec3d
const& right,
double simTime) = 0;
133 virtual osg::Drawable* getDrawable() = 0;
136 virtual osg::Geode* createGeode();
139 virtual void setDrawable();
long myMaxSegments
Definition: DtOsgRibbon.h:151
int myLastUpdatedFrame
Definition: DtOsgRibbon.h:148
virtual long maxSegments() const
Gets the maximum number of segments allowed in the ribbon.
Definition: DtOsgRibbon.h:83
osg::Matrixd myWorldTransformInv
Definition: DtOsgRibbon.h:145
bool myFirstUpdate
Definition: DtOsgRibbon.h:161
float mySegmentTimeout
Definition: DtOsgRibbon.h:154
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
bool myStippled
Definition: DtOsgRibbon.h:162
bool myShaderSet
Definition: DtOsgRibbon.h:167
DtDe & myDe
Definition: DtOsgRibbon.h:164
osg::ref_ptr< osg::MatrixTransform > myPositionNode
Definition: DtOsgRibbon.h:143
osg::Vec3d myLocalPointA
Definition: DtOsgRibbon.h:156
virtual bool isStippled() const
Get the stipple setting for this ribbon.
Definition: DtOsgRibbon.h:106
osg::ref_ptr< osg::Geode > myGeode
Definition: DtOsgRibbon.h:144
bool myLightingEnabled
Definition: DtOsgRibbon.h:165
float mySegmentSpacingSquared
Definition: DtOsgRibbon.h:152
virtual const osg::Vec4 & color() const
Get the ribbon's color.
Definition: DtOsgRibbon.h:62
osg::Vec3d myLocalPointB
Definition: DtOsgRibbon.h:157
osg::Vec3d myLocalPosOffset
Definition: DtOsgRibbon.h:158
osg::Vec4 myColor
Definition: DtOsgRibbon.h:160
Base class for OSG ribbon implementations.
Definition: DtOsgRibbon.h:25
osg::Matrixd myLastLocalToWork
Definition: DtOsgRibbon.h:146
float mySegmentSpacing
Definition: DtOsgRibbon.h:153
virtual float segmentSpacing() const
Gets the maximum length of the ribbon segments.
Definition: DtOsgRibbon.h:92
Contains DLL export macros.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
double myLastUpdateTime
Definition: DtOsgRibbon.h:149