diff --git a/src/osgPlugins/ive/DataOutputStream.cpp b/src/osgPlugins/ive/DataOutputStream.cpp index 48ebd857e..5af3d5c20 100644 --- a/src/osgPlugins/ive/DataOutputStream.cpp +++ b/src/osgPlugins/ive/DataOutputStream.cpp @@ -726,6 +726,9 @@ void DataOutputStream::writeNode(const osg::Node* node) else if(dynamic_cast(node)){ ((ive::ProxyNode*)(node))->write(this); } + else if(dynamic_cast(node)){ + ((ive::MultiTextureControl*)(node))->write(this); + } else if(dynamic_cast(node)){ ((ive::Group*)(node))->write(this); } @@ -738,9 +741,6 @@ void DataOutputStream::writeNode(const osg::Node* node) else if(dynamic_cast(node)){ ((ive::LightPointNode*)(node))->write(this); } - else if(dynamic_cast(node)){ - ((ive::MultiTextureControl*)(node))->write(this); - } else throw Exception("Unknown node in Group::write()"); diff --git a/src/osgPlugins/ive/MultiTextureControl.cpp b/src/osgPlugins/ive/MultiTextureControl.cpp index 9ebae078a..f71c377b2 100644 --- a/src/osgPlugins/ive/MultiTextureControl.cpp +++ b/src/osgPlugins/ive/MultiTextureControl.cpp @@ -34,7 +34,8 @@ void MultiTextureControl::write(DataOutputStream* out){ // Write rangelist unsigned int size = getNumTextureWeights(); out->writeUInt(size); - for(unsigned int i=0;iwriteFloat(getTextureWeight(i)); } } @@ -59,7 +60,7 @@ void MultiTextureControl::read(DataInputStream* in){ // Read rangelist unsigned int size = in->readUInt(); for(unsigned int i=0;ireadFloat(); setTextureWeight(i, value); }