Public Member Functions | Protected Types | Protected Attributes

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

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.

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

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.

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.

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

get the non const sequence group.

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

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

References _phaseShift, _pulsePeriod, _sequenceGroup, and osg::ref_ptr< T >::valid().

Referenced by color().

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.

References _pulseData.

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

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


Member Data Documentation

Referenced by localTime().

Referenced by addPulse(), and localTime().


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