OpenFrames
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
OpenFrames::MarkerArtist Class Reference

This class draws markers at trajectory points. More...

#include <MarkerArtist.hpp>

Inheritance diagram for OpenFrames::MarkerArtist:
OpenFrames::TrajectoryArtist OpenFrames::TrajectorySubscriber

Public Types

enum  DrawnMarkers { START = 1, INTERMEDIATE = 2, END = 4 }
 
enum  IntermediateType { TIME = 1, DISTANCE, DATA }
 

Public Member Functions

 MarkerArtist (const Trajectory *traj=NULL)
 
 MarkerArtist (const MarkerArtist &ca, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
virtual Object * cloneType () const
 
virtual Object * clone (const osg::CopyOp &copyop) const
 
virtual bool isSameKindAs (const osg::Object *obj) const
 
virtual const char * libraryName () const
 
virtual const char * className () const
 
virtual void setTrajectory (const Trajectory *traj)
 
bool setXData (const Trajectory::DataSource &src)
 
bool setYData (const Trajectory::DataSource &src)
 
bool setZData (const Trajectory::DataSource &src)
 
void setMarkers (unsigned int markers)
 
void setMarkerColor (unsigned int markers, float r, float g, float b)
 
void setMarkerSize (unsigned int size)
 
bool setMarkerImage (const std::string &fname)
 
bool setMarkerShader (const std::string &fname)
 
void setAutoAttenuate (bool attenuate)
 
bool getAutoAttenuate () const
 
void setIntermediateType (IntermediateType type)
 
void setIntermediateSpacing (double spacing)
 
void setIntermediateDirection (DrawnMarkers direction)
 
virtual void drawImplementation (osg::RenderInfo &renderInfo) const
 
virtual void dataCleared (Trajectory *traj)
 
virtual void dataAdded (Trajectory *traj)
 
void computeAttenuation ()
 
- Public Member Functions inherited from OpenFrames::TrajectoryArtist
 TrajectoryArtist (const TrajectoryArtist &ta, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 
virtual bool isSameKindAs (const Object *obj) const
 
const TrajectorygetTrajectory () const
 

Protected Member Functions

virtual osg::BoundingBox computeBoundingBox () const
 
void verifyData () const
 
void resetMarkerShader ()
 
- Protected Member Functions inherited from OpenFrames::TrajectoryArtist
void RTE_glVertex (osg::Vec3d &point, osg::GLExtensions &glext) const
 

Protected Attributes

Trajectory::DataSource _dataSource [3]
 
unsigned int _markers
 
IntermediateType _intermediateType
 
double _intermediateSpacing
 
DrawnMarkers _intermediateDirection
 
float _startColor [3]
 
float _endColor [3]
 
float _intermediateColor [3]
 
bool _dataValid
 
bool _dataZero
 
bool _shouldAttenuate
 
osg::ref_ptr< osg::Shader > _fragShader
 
- Protected Attributes inherited from OpenFrames::TrajectoryArtist
osg::ref_ptr< const Trajectory_traj
 
osg::ref_ptr< osg::Program > _program
 

Detailed Description

This class draws markers at trajectory points.

The MarkerArtist is a type of TrajectoryArtist that draws markers at points of a trajectory. Markers can be standard OpenGL points or point sprites that use a specified image. Markers can be drawn at the beginning or end of a Trajectory, or at specified intermediate points.

Member Enumeration Documentation

◆ DrawnMarkers

Indicates which data points should be drawn as markers.

◆ IntermediateType

Indicates how intermediate marker spacing is determined.

Member Function Documentation

◆ cloneType()

virtual Object* OpenFrames::MarkerArtist::cloneType ( ) const
inlinevirtual

Standard OSG node methods.

◆ computeAttenuation()

void OpenFrames::MarkerArtist::computeAttenuation ( )

Compute the auto attenuation coefficients.

◆ computeBoundingBox()

virtual osg::BoundingBox OpenFrames::MarkerArtist::computeBoundingBox ( ) const
protectedvirtual

Inherited from TrajectoryArtist.

Reimplemented from OpenFrames::TrajectoryArtist.

◆ dataAdded()

virtual void OpenFrames::MarkerArtist::dataAdded ( Trajectory traj)
virtual

Tell artist that data was added. This is automatically called.

Implements OpenFrames::TrajectoryArtist.

◆ dataCleared()

virtual void OpenFrames::MarkerArtist::dataCleared ( Trajectory traj)
virtual

Tell artist that data was cleared. This is automatically called.

Implements OpenFrames::TrajectoryArtist.

◆ drawImplementation()

virtual void OpenFrames::MarkerArtist::drawImplementation ( osg::RenderInfo &  renderInfo) const
virtual

Do the actual drawing

◆ resetMarkerShader()

void OpenFrames::MarkerArtist::resetMarkerShader ( )
protected

Reset shader to default state (circular point)

◆ setAutoAttenuate()

void OpenFrames::MarkerArtist::setAutoAttenuate ( bool  attenuate)

Specify whether to automatically shrink/grow the marker size as the camera gets closer or farther from the marker.

◆ setIntermediateDirection()

void OpenFrames::MarkerArtist::setIntermediateDirection ( DrawnMarkers  direction)

Specify if the markers should be computed forward from the start of the trajectory, or backward from the end of the trajectory. Use MarkerType enum values START or END

◆ setIntermediateSpacing()

void OpenFrames::MarkerArtist::setIntermediateSpacing ( double  spacing)

Set the intermediate marker spacing

◆ setIntermediateType()

void OpenFrames::MarkerArtist::setIntermediateType ( IntermediateType  type)

Set the intermediate marker parameters

◆ setMarkers()

void OpenFrames::MarkerArtist::setMarkers ( unsigned int  markers)

Set the markers to be used, from enum DrawnMarkers

◆ setTrajectory()

virtual void OpenFrames::MarkerArtist::setTrajectory ( const Trajectory traj)
virtual

Set the trajectory to be drawn.

Reimplemented from OpenFrames::TrajectoryArtist.

◆ setXData()

bool OpenFrames::MarkerArtist::setXData ( const Trajectory::DataSource src)

Set the data to be used for plotting x/y/z components

◆ verifyData()

void OpenFrames::MarkerArtist::verifyData ( ) const
protected

Verify whether the requested data is valid.


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