osgSim::BlinkSequence Class Reference

Inheritance diagram for osgSim::BlinkSequence:

osg::Object osg::Referenced List of all members.

Public Member Functions

 BlinkSequence ()
 BlinkSequence (const BlinkSequence &bs, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Object (osgSim, BlinkSequence)
void addPulse (double length, const osg::Vec4 &color)
int getNumPulses () const
void getPulse (unsigned int i, double &length, osg::Vec4 &color) const
void setPulse (unsigned int i, double length, const osg::Vec4 &color)
double getPulsePeriod () const
void setSequenceGroup (SequenceGroup *sg)
SequenceGroupgetSequenceGroup ()
const SequenceGroupgetSequenceGroup () const
void setPhaseShift (double ps)
double getPhaseShift () const
double localTime (double time) const
osg::Vec4 color (double time, double length) const

Protected Types

typedef std::pair< double,
osg::Vec4
IntervalColor
typedef std::vector< IntervalColorPulseData

Protected Attributes

double _pulsePeriod
double _phaseShift
PulseData _pulseData
osg::ref_ptr< SequenceGroup_sequenceGroup

Member Typedef Documentation

typedef std::pair<double,osg::Vec4> osgSim::BlinkSequence::IntervalColor [protected]

typedef std::vector<IntervalColor> osgSim::BlinkSequence::PulseData [protected]


Constructor & Destructor Documentation

osgSim::BlinkSequence::BlinkSequence (  ) 

osgSim::BlinkSequence::BlinkSequence ( const BlinkSequence bs,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)


Member Function Documentation

void osgSim::BlinkSequence::addPulse ( double  length,
const osg::Vec4 color 
) [inline]

add a pulse of specified color and duration to the BlinkSequence.

osg::Vec4 osgSim::BlinkSequence::color ( double  time,
double  length 
) const [inline]

compute the color for the time interval sepecifed. Averages the colors if the length is greater than the current pulse.

int osgSim::BlinkSequence::getNumPulses (  )  const [inline]

return the number of pulses.

double osgSim::BlinkSequence::getPhaseShift (  )  const [inline]

get the pahse shift.

void osgSim::BlinkSequence::getPulse ( unsigned int  i,
double &  length,
osg::Vec4 color 
) const [inline]

return the pulse data at position i.

double osgSim::BlinkSequence::getPulsePeriod (  )  const [inline]

get the total pulse period of the blink sequence, which is equal to the sum of all the pulse periods.

const SequenceGroup* osgSim::BlinkSequence::getSequenceGroup (  )  const [inline]

get the const sequence group.

SequenceGroup* osgSim::BlinkSequence::getSequenceGroup (  )  [inline]

get the non const sequence group.

double osgSim::BlinkSequence::localTime ( double  time  )  const [inline]

compute the local time clamped to this BlinkSequences period, and accounting for the phase shift and sequence group.

osgSim::BlinkSequence::META_Object ( osgSim  ,
BlinkSequence   
)

void osgSim::BlinkSequence::setPhaseShift ( double  ps  )  [inline]

set the phase shift of the blink sequence, this would be used to shift a sequence within a sequence group.

void osgSim::BlinkSequence::setPulse ( unsigned int  i,
double  length,
const osg::Vec4 color 
) [inline]

set pulse of specified color and duration to the BlinkSequence.

void osgSim::BlinkSequence::setSequenceGroup ( SequenceGroup sg  )  [inline]

set the sequence group which can be used to synchronize related blink sequences.


Member Data Documentation

double osgSim::BlinkSequence::_phaseShift [protected]

PulseData osgSim::BlinkSequence::_pulseData [protected]

double osgSim::BlinkSequence::_pulsePeriod [protected]

osg::ref_ptr<SequenceGroup> osgSim::BlinkSequence::_sequenceGroup [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:13 2006 for openscenegraph by  doxygen 1.4.7