set data variance to DYNAMIC for animated effect attributes
This commit is contained in:
parent
b6a20fd6e4
commit
33e1a9457a
@ -23,6 +23,7 @@
|
||||
#include <string>
|
||||
#include <cstring>
|
||||
|
||||
#include <osg/Object>
|
||||
#include <osgDB/Registry>
|
||||
|
||||
#include <boost/bind.hpp>
|
||||
@ -578,6 +579,19 @@ new_EEPropListener(const Func& func, const std::string* propName,
|
||||
(func, 0, namesBegin, namesEnd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set DYNAMIC data variance on an osg::Object.
|
||||
*/
|
||||
|
||||
inline void setDynamicVariance(void* obj)
|
||||
{
|
||||
}
|
||||
|
||||
inline void setDynamicVariance(osg::Object* obj)
|
||||
{
|
||||
obj->setDataVariance(osg::Object::DYNAMIC);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the value and the possible updating of an effect
|
||||
* attribute. If the value is specified directly, set it. Otherwise,
|
||||
@ -598,6 +612,7 @@ initFromParameters(Effect* effect, const SGPropertyNode* prop, ObjType* obj,
|
||||
const SGPropertyNode* valProp = getEffectPropertyNode(effect, prop);
|
||||
if (!valProp)
|
||||
return;
|
||||
setDynamicVariance(obj);
|
||||
if (valProp->nChildren() == 0) {
|
||||
setter(obj, valProp->getValue<OSGParamType>());
|
||||
} else {
|
||||
@ -650,6 +665,7 @@ initFromParameters(Effect* effect, const SGPropertyNode* prop, ObjType* obj,
|
||||
const SGPropertyNode* valProp = getEffectPropertyNode(effect, prop);
|
||||
if (!valProp)
|
||||
return;
|
||||
setDynamicVariance(obj);
|
||||
if (valProp->nChildren() == 0) { // Has <use>?
|
||||
setter(obj, Bridge<OSGParamType>::get(valProp->getValue<sg_type>()));
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user