removed data storage from input/output parameters
These will be held in the renderer structure from now on, not in the nodes themselves. The nodes will serve more as a blueprint.
This commit is contained in:
@@ -31,63 +31,3 @@ NodeParam::Type NodeOutput::type()
|
||||
{
|
||||
return kOutput;
|
||||
}
|
||||
|
||||
QVariant NodeOutput::get_realtime_value()
|
||||
{
|
||||
QVariant v = parentNode()->Value(this);
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
bool NodeOutput::has_cached_value(const TimeRange &time)
|
||||
{
|
||||
cache_lock_.lock();
|
||||
|
||||
bool contains = cached_values_.contains(time);
|
||||
|
||||
cache_lock_.unlock();
|
||||
|
||||
return contains;
|
||||
}
|
||||
|
||||
QVariant NodeOutput::get_cached_value(const TimeRange &time)
|
||||
{
|
||||
cache_lock_.lock();
|
||||
|
||||
QVariant val = cached_values_.value(time);
|
||||
|
||||
cache_lock_.unlock();
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
void NodeOutput::cache_value(const TimeRange &time, const QVariant &value)
|
||||
{
|
||||
cache_lock_.lock();
|
||||
cached_values_.insert(time, value);
|
||||
cache_lock_.unlock();
|
||||
}
|
||||
|
||||
void NodeOutput::drop_cached_values()
|
||||
{
|
||||
cache_lock_.lock();
|
||||
cached_values_.clear();
|
||||
cache_lock_.unlock();
|
||||
}
|
||||
|
||||
void NodeOutput::drop_cached_values_overlapping(const TimeRange &time)
|
||||
{
|
||||
cache_lock_.lock();
|
||||
|
||||
QHash<TimeRange, QVariant>::iterator i = cached_values_.begin();
|
||||
|
||||
while (i != cached_values_.end()) {
|
||||
if (i.key().OverlapsWith(time)) {
|
||||
i = cached_values_.erase(i);
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
cache_lock_.unlock();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user