Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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

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::setPulse unsigned int  i,
double  length,
const osg::Vec4 color
[inline]
 

set pulse of specified color and duration to the BlinkSequence.

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:
Generated at Thu Nov 24 16:25:21 2005 for the OpenSceneGraph by doxygen 1.3.6.