本文整理汇总了C++中FadeChannel::setGroup方法的典型用法代码示例。如果您正苦于以下问题:C++ FadeChannel::setGroup方法的具体用法?C++ FadeChannel::setGroup怎么用?C++ FadeChannel::setGroup使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FadeChannel
的用法示例。
在下文中一共展示了FadeChannel::setGroup方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: value
QMap <quint32,FadeChannel>
ChaserRunner::createFadeChannels(const UniverseArray* universes,
QMap <quint32,FadeChannel>& zeroChannels) const
{
QMap <quint32,FadeChannel> map;
if (m_currentStep >= m_steps.size() || m_currentStep < 0)
return map;
Scene* scene = qobject_cast<Scene*> (m_steps.at(m_currentStep));
Q_ASSERT(scene != NULL);
// Put all current channels to a map of channels that will be faded to zero.
// If the same channels are added to the new channel map, they are removed
// from this zero map.
zeroChannels = m_channelMap;
QListIterator <SceneValue> it(scene->values());
while (it.hasNext() == true)
{
SceneValue value(it.next());
Fixture* fxi = m_doc->fixture(value.fxi);
if (fxi == NULL || fxi->channel(value.channel) == NULL)
continue;
FadeChannel channel;
channel.setAddress(fxi->universeAddress() + value.channel);
channel.setGroup(fxi->channel(value.channel)->group());
channel.setTarget(value.value);
// Get starting value from universes. For HTP channels it's always 0.
channel.setStart(uchar(universes->preGMValues()[channel.address()]));
// Transfer last step's current value to current step's starting value.
if (m_channelMap.contains(channel.address()) == true)
channel.setStart(m_channelMap[channel.address()].current());
channel.setCurrent(channel.start());
// Append the channel to the channel map
map[channel.address()] = channel;
// Remove the channel from a map of to-be-zeroed channels since now it
// has a new value to fade to.
zeroChannels.remove(channel.address());
}
// All channels that were present in the previous step but are not present
// in the current step will go through this zeroing process.
QMutableMapIterator <quint32,FadeChannel> zit(zeroChannels);
while (zit.hasNext() == true)
{
zit.next();
FadeChannel& channel(zit.value());
if (channel.current() == 0 || channel.group() != QLCChannel::Intensity)
{
// Remove all non-HTP channels and such HTP channels that are
// already at zero. There's nothing to do for them.
zit.remove();
}
else
{
// This HTP channel was present in the previous step, but is absent
// in the current. It's nicer that we fade it back to zero, rather
// than just let it drop straight to zero.
channel.setStart(channel.current());
channel.setTarget(0);
}
}
return map;
}