osgSim::BlinkSequence Class Reference

Inheritance diagram for osgSim::BlinkSequence:

Inheritance graph
[legend]

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)
 add a pulse of specified color and duration to the BlinkSequence.
int getNumPulses () const
 return the number of pulses.
void getPulse (unsigned int i, double &length, osg::Vec4 &color) const
 return the pulse data at position i.
void setPulse (unsigned int i, double length, const osg::Vec4 &color)
 set pulse of specified color and duration to the BlinkSequence.
double getPulsePeriod () const
 get the total pulse period of the blink sequence, which is equal to the sum of all the pulse periods.
void setSequenceGroup (SequenceGroup *sg)
 set the sequence group which can be used to synchronize related blink sequences.
SequenceGroupgetSequenceGroup ()
 get the non const sequence group.
const SequenceGroupgetSequenceGroup () const
 get the const sequence group.
void setPhaseShift (double ps)
 set the phase shift of the blink sequence, this would be used to shift a sequence within a sequence group.
double getPhaseShift () const
 get the pahse shift.
double localTime (double time) const
 compute the local time clamped to this BlinkSequences period, and accounting for the phase shift and sequence group.
osg::Vec4 color (double time, double length) const
 compute the color for the time interval sepecifed.

Protected Types

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

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

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

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

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

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

return the number of pulses.

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

return the pulse data at position i.

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

set pulse of specified color and duration to the BlinkSequence.

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.

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

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

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

get the non const sequence group.

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

get the const sequence group.

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.

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

get the pahse shift.

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.

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.


Member Data Documentation

double osgSim::BlinkSequence::_pulsePeriod [protected]

double osgSim::BlinkSequence::_phaseShift [protected]

PulseData osgSim::BlinkSequence::_pulseData [protected]

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


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:45 2007 for the OpenSceneGraph by doxygen 1.5.3.