Added LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL and LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL ImageSequence::Mode's to allow for ImageSequence usage without using background paging threads, instead loading all the images on demand in the update traversal.
This commit is contained in:
@@ -42,6 +42,14 @@ bool ImageSequence_readLocalData(Object& obj, Input& fr)
|
||||
{
|
||||
is.setMode(osg::ImageSequence::PAGE_AND_DISCARD_USED_IMAGES);
|
||||
}
|
||||
else if (modeStr=="LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL")
|
||||
{
|
||||
is.setMode(osg::ImageSequence::LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL);
|
||||
}
|
||||
else if (modeStr=="LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL")
|
||||
{
|
||||
is.setMode(osg::ImageSequence::LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL);
|
||||
}
|
||||
}
|
||||
|
||||
double length;
|
||||
@@ -103,6 +111,12 @@ bool ImageSequence_writeLocalData(const Object& obj, Output& fw)
|
||||
case(osg::ImageSequence::PAGE_AND_DISCARD_USED_IMAGES):
|
||||
fw.indent()<<"Mode PAGE_AND_DISCARD_USED_IMAGES"<<std::endl;
|
||||
break;
|
||||
case(osg::ImageSequence::LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL):
|
||||
fw.indent()<<"Mode LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL"<<std::endl;
|
||||
break;
|
||||
case(osg::ImageSequence::LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL):
|
||||
fw.indent()<<"Mode LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL"<<std::endl;
|
||||
break;
|
||||
}
|
||||
|
||||
fw.indent()<<"Length "<<is.getLength()<<std::endl;
|
||||
|
||||
@@ -80,6 +80,8 @@ REGISTER_OBJECT_WRAPPER( ImageSequence,
|
||||
ADD_ENUM_VALUE( PRE_LOAD_ALL_IMAGES );
|
||||
ADD_ENUM_VALUE( PAGE_AND_RETAIN_IMAGES );
|
||||
ADD_ENUM_VALUE( PAGE_AND_DISCARD_USED_IMAGES );
|
||||
ADD_ENUM_VALUE( LOAD_AND_DISCARD_IN_UPDATE_TRAVERSAL );
|
||||
ADD_ENUM_VALUE( LOAD_AND_RETAIN_IN_UPDATE_TRAVERSAL );
|
||||
END_ENUM_SERIALIZER(); // _mode
|
||||
|
||||
ADD_DOUBLE_SERIALIZER( Length, 1.0 ); // _length
|
||||
|
||||
Reference in New Issue
Block a user