# osgSim::BlinkSequence Class Reference

Inheritance diagram for osgSim::BlinkSequence:

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

## 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::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:

- BlinkSequence