14#ifndef OSGSIM_BLINKSQUENCE
15#define OSGSIM_BLINKSQUENCE 1
57 inline void addPulse(
double length,
const osg::Vec4& color);
63 inline void getPulse(
unsigned int i,
double& length,
osg::Vec4& color)
const;
66 inline void setPulse(
unsigned int i,
double length,
const osg::Vec4& color);
87 inline double localTime(
double time)
const;
90 inline osg::Vec4 color(
double time,
double length)
const;
138 PulseData::const_iterator itr =
_pulseData.begin();
141 while (lt>itr->first)
150 if (lt+length<=itr->first)
161 double len = length-(itr->first-lt);
166 while (len>itr->first)
169 color += itr->second*itr->first;
175 color += itr->second*len;
Definition BlinkSequence:47
void getPulse(unsigned int i, double &length, osg::Vec4 &color) const
Definition BlinkSequence:119
PulseData _pulseData
Definition BlinkSequence:101
double _pulsePeriod
Definition BlinkSequence:99
void setSequenceGroup(SequenceGroup *sg)
Definition BlinkSequence:72
void setPulse(unsigned int i, double length, const osg::Vec4 &color)
Definition BlinkSequence:126
SequenceGroup * getSequenceGroup()
Definition BlinkSequence:75
double getPhaseShift() const
Definition BlinkSequence:84
void setPhaseShift(double ps)
Definition BlinkSequence:81
double _phaseShift
Definition BlinkSequence:100
std::vector< IntervalColor > PulseData
Definition BlinkSequence:97
double getPulsePeriod() const
Definition BlinkSequence:69
osg::ref_ptr< SequenceGroup > _sequenceGroup
Definition BlinkSequence:102
const SequenceGroup * getSequenceGroup() const
Definition BlinkSequence:78
META_Object(osgSim, BlinkSequence)
void addPulse(double length, const osg::Vec4 &color)
Definition BlinkSequence:113
std::pair< double, osg::Vec4 > IntervalColor
Definition BlinkSequence:96
double localTime(double time) const
Definition BlinkSequence:106
osg::Vec4 color(double time, double length) const
Definition BlinkSequence:134
BlinkSequence(const BlinkSequence &bs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
int getNumPulses() const
Definition BlinkSequence:60
Definition BlinkSequence:31
META_Object(osgSim, SequenceGroup)
SequenceGroup(const SequenceGroup &bs, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY)
double _baseTime
Definition BlinkSequence:43
double getBaseTime() const
Definition BlinkSequence:41
SequenceGroup(double baseTime)
void setBaseTime(double t)
Definition BlinkSequence:40
@ SHALLOW_COPY
Definition CopyOp:47
Definition BlinkSequence:27
Vec4f Vec4
Definition Vec4:21
#define OSGSIM_EXPORT
Definition osgSim/Export:38