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
< 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.

References _pulseData, and _pulsePeriod.

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.

References _pulseData.

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

set pulse of specified color and duration to the BlinkSequence.

References _pulseData.

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.

References _phaseShift, _pulsePeriod, and _sequenceGroup.

Referenced by color().

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.

References _pulseData, and localTime().


Member Data Documentation

Referenced by addPulse(), and localTime().

Referenced by localTime().

Referenced by addPulse(), color(), getPulse(), and setPulse().

Referenced by localTime().


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

Generated on Sat Mar 20 12:34:06 2010 for openscenegraph by  doxygen 1.5.6