Public Member Functions | |
BlinkSequence () | |
BlinkSequence (const BlinkSequence &bs, const osg::CopyOp ©op=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. | |
SequenceGroup * | getSequenceGroup () |
get the non const sequence group. | |
const SequenceGroup * | getSequenceGroup () 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 |
typedef std::pair<double,osg::Vec4> osgSim::BlinkSequence::IntervalColor [protected] |
typedef std::vector<IntervalColor> osgSim::BlinkSequence::PulseData [protected] |
osgSim::BlinkSequence::BlinkSequence | ( | ) |
osgSim::BlinkSequence::BlinkSequence | ( | const BlinkSequence & | bs, | |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY | |||
) |
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.
double osgSim::BlinkSequence::_pulsePeriod [protected] |
double osgSim::BlinkSequence::_phaseShift [protected] |
PulseData osgSim::BlinkSequence::_pulseData [protected] |