VR-Forces 4.1.1 Class Documentation
List of all members | Classes | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtOsgTrackHistoryRibbon Class Reference

OSG implementation of a track history ribbon. More...

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

Classes

class  TrackHistoryGeometry
 Local subclass for track history geometry. More...

Public Member Functions

 DtOsgTrackHistoryRibbon (DtDe &de, float segmentSpacing, const osg::Vec4 &color, float maxLength)
 CTOR.
virtual ~DtOsgTrackHistoryRibbon ()
 DTOR.
virtual void traverse (osg::NodeVisitor &nv)
 Override default traverse to remove update behavior.
virtual void setMaxSegments (long segments)
 Sets the max number of segments in the ribbon.
- Public Member Functions inherited from makVrv::DtOsgRibbon
 DtOsgRibbon ()
 Default CTOR.
 DtOsgRibbon (float segmentSpacing, const osg::Vec4 &color, float maxLength=2000)
 CTOR.
virtual ~DtOsgRibbon ()
 DTOR.
virtual osg::Node * node ()
 Get the osg geometry node associated with the ribbon.
const osg::Vec4 & color () const
 Get the ribbon's color.
virtual void setDroppedPoints (const osg::Vec3d &pointA, const osg::Vec3d &pointB)
 Set the points to drop in local coordinates.
virtual void update (double dt, double simTime)
 Update the ribbon with the current position.
long maxSegments () const
 Gets the maximum number of segments allowed in the ribbon.
virtual void setSegmentSpacing (float spacing)
 Sets the maximum length of ribbon segments.
float segmentSpacing () const
 Gets the maximum length of the ribbon segments.

Protected Member Functions

virtual void addParticle (osg::Vec3d const &left, osg::Vec3d const &right, double simTime)
 Add a particle to the ribbon.
virtual float currentSegmentLength ()
 Find the length of the current ribbon segment.
virtual void extendCurrentSegment (osg::Vec3d const &left, osg::Vec3d const &right, double simTime)
 Extend the current segment to left and right points.
virtual osg::Drawable * getDrawable ()
 Create or get the ribbon drawable.
virtual int particleIndexAtOffset (int offset)
 Get index of particle at offset from current particle.
virtual void update ()
 Calls DtOsgRibbon::update(double,double).
virtual void setColor (const osg::Vec4 &color)
 Change the geometry color.
virtual void updateBounds (const osg::Vec3 &point)
 Update the ribbon's bounding box with a new point.
- Protected Member Functions inherited from makVrv::DtOsgRibbon
virtual osg::Geode * createGeode ()
 Create function for creating the geode for drawing this ribbon.
virtual void setDrawable ()
 Removes any existing drawables and add the drawable returned from getDrawable.

Protected Attributes

DtDemyDe
osg::ref_ptr< osg::Vec3Array > myPoints
osg::ref_ptr
< DtSharedDrawElementsUInt
myRibbon
osg::ref_ptr
< DtSharedDrawElementsUInt
myBottomLine
osg::ref_ptr
< DtSharedDrawElementsUInt
myTopLine
osg::ref_ptr
< TrackHistoryGeometry
myGeometry
int myParticleIndex

Detailed Description

OSG implementation of a track history ribbon.

Constructor & Destructor Documentation

makVrv::DtOsgTrackHistoryRibbon::DtOsgTrackHistoryRibbon ( DtDe de,
float  segmentSpacing,
const osg::Vec4 &  color,
float  maxLength 
)

CTOR.

Parameters
dethe DtDe the ribbon belongs to.
segmentSpacingthe spacing between segments (in meters).
colorthe color of the ribbon.
maxLengththe max length of the ribbon (in segments).
virtual makVrv::DtOsgTrackHistoryRibbon::~DtOsgTrackHistoryRibbon ( )
virtual

DTOR.

Member Function Documentation

virtual void makVrv::DtOsgTrackHistoryRibbon::traverse ( osg::NodeVisitor &  nv)
virtual

Override default traverse to remove update behavior.

Reimplemented from makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgTrackHistoryRibbon::setMaxSegments ( long  segments)
virtual

Sets the max number of segments in the ribbon.

Overridden from DtOsgRibbon to destroy the ribbon geometry and force re-creation when the max segment count changes.

Reimplemented from makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgTrackHistoryRibbon::addParticle ( osg::Vec3d const &  left,
osg::Vec3d const &  right,
double  simTime 
)
protectedvirtual

Add a particle to the ribbon.

Implements makVrv::DtOsgRibbon.

virtual float makVrv::DtOsgTrackHistoryRibbon::currentSegmentLength ( )
protectedvirtual

Find the length of the current ribbon segment.

Implements makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgTrackHistoryRibbon::extendCurrentSegment ( osg::Vec3d const &  left,
osg::Vec3d const &  right,
double  simTime 
)
protectedvirtual

Extend the current segment to left and right points.

Implements makVrv::DtOsgRibbon.

virtual osg::Drawable* makVrv::DtOsgTrackHistoryRibbon::getDrawable ( )
protectedvirtual

Create or get the ribbon drawable.

Overridden from DtOsgRibbon to create the ribbon geometry.

Returns
the ribbon geometry (creating it on first call).

Implements makVrv::DtOsgRibbon.

virtual int makVrv::DtOsgTrackHistoryRibbon::particleIndexAtOffset ( int  offset)
protectedvirtual

Get index of particle at offset from current particle.

virtual void makVrv::DtOsgTrackHistoryRibbon::update ( )
protectedvirtual

Calls DtOsgRibbon::update(double,double).

Passes zero for both parameters (dt and simTime).

Reimplemented from makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgTrackHistoryRibbon::setColor ( const osg::Vec4 &  color)
protectedvirtual

Change the geometry color.

Reimplemented from makVrv::DtOsgRibbon.

virtual void makVrv::DtOsgTrackHistoryRibbon::updateBounds ( const osg::Vec3 &  point)
protectedvirtual

Update the ribbon's bounding box with a new point.

This is usually cheap, but at random intervals will do a full recomputation of the bounds, which costs O(# points).

Member Data Documentation

DtDe& makVrv::DtOsgTrackHistoryRibbon::myDe
protected
osg::ref_ptr<osg::Vec3Array> makVrv::DtOsgTrackHistoryRibbon::myPoints
protected
osg::ref_ptr<DtSharedDrawElementsUInt> makVrv::DtOsgTrackHistoryRibbon::myRibbon
protected
osg::ref_ptr<DtSharedDrawElementsUInt> makVrv::DtOsgTrackHistoryRibbon::myBottomLine
protected
osg::ref_ptr<DtSharedDrawElementsUInt> makVrv::DtOsgTrackHistoryRibbon::myTopLine
protected
osg::ref_ptr<TrackHistoryGeometry> makVrv::DtOsgTrackHistoryRibbon::myGeometry
protected
int makVrv::DtOsgTrackHistoryRibbon::myParticleIndex
protected

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

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)