From Tom Jolly, Fixes to osgSim::BlinkSequence to enable proper saving and

loading.
This commit is contained in:
Robert Osfield
2004-02-05 10:50:29 +00:00
parent e4dac2e6f6
commit 22b2e7343e
5 changed files with 76 additions and 26 deletions

View File

@@ -72,7 +72,7 @@ void BlinkSequence::read(DataInputStream* in){
// Read in phase shift.
setPhaseShift(in->readDouble());
// Read in SequenceGroup
setSequenceGroup(new SequenceGroup(in->readDouble()));
setSequenceGroup(new osgSim::SequenceGroup(in->readDouble()));
}
else{

View File

@@ -51,8 +51,8 @@ bool BlinkSequence_readLocalData(osg::Object &obj, osgDB::Input &fr)
iteratorAdvanced = true;
}
BlinkSequence::SequenceGroup * sg = static_cast<BlinkSequence::SequenceGroup *>
(fr.readObjectOfType(osgDB::type_wrapper<BlinkSequence::SequenceGroup>()));
SequenceGroup * sg = static_cast<SequenceGroup *>
(fr.readObjectOfType(osgDB::type_wrapper<SequenceGroup>()));
if (sg) {
seq.setSequenceGroup(sg);
@@ -88,9 +88,9 @@ bool BlinkSequence_SequenceGroup_writeLocalData(const osg::Object &obj, osgDB::O
osgDB::RegisterDotOsgWrapperProxy BlinkSequence_SequenceGroup_Proxy
(
new BlinkSequence::SequenceGroup,
"BlinkSequence::SequenceGroup",
"Object BlinkSequence::SequenceGroup",
new SequenceGroup,
"SequenceGroup",
"Object SequenceGroup",
&BlinkSequence_SequenceGroup_readLocalData,
&BlinkSequence_SequenceGroup_writeLocalData,
osgDB::DotOsgWrapper::READ_AND_WRITE
@@ -99,7 +99,7 @@ osgDB::RegisterDotOsgWrapperProxy BlinkSequence_SequenceGroup_Proxy
bool BlinkSequence_SequenceGroup_readLocalData(osg::Object &obj, osgDB::Input &fr)
{
bool iteratorAdvanced = false;
BlinkSequence::SequenceGroup &sg = static_cast<BlinkSequence::SequenceGroup &>(obj);
SequenceGroup &sg = static_cast<SequenceGroup &>(obj);
if (fr.matchSequence("baseTime %f"))
{
@@ -113,7 +113,7 @@ bool BlinkSequence_SequenceGroup_readLocalData(osg::Object &obj, osgDB::Input &f
bool BlinkSequence_SequenceGroup_writeLocalData(const osg::Object &obj, osgDB::Output &fw)
{
const BlinkSequence::SequenceGroup &sg = static_cast<const BlinkSequence::SequenceGroup &>(obj);
const SequenceGroup &sg = static_cast<const SequenceGroup &>(obj);
fw.indent()<<"baseTime "<< sg._baseTime << std::endl;
return true;

View File

@@ -35,19 +35,19 @@ BlinkSequence::BlinkSequence(const BlinkSequence& bs, const osg::CopyOp& copyop)
}
BlinkSequence::SequenceGroup::SequenceGroup()
SequenceGroup::SequenceGroup()
{
// set a random base time between 0 and 1000.0
_baseTime = ((double)rand()/(double)RAND_MAX)*1000.0;
}
BlinkSequence::SequenceGroup::SequenceGroup(const BlinkSequence::SequenceGroup& sg, const osg::CopyOp& copyop):
SequenceGroup::SequenceGroup(const SequenceGroup& sg, const osg::CopyOp& copyop):
osg::Object(sg, copyop),
_baseTime(sg._baseTime)
{
}
BlinkSequence::SequenceGroup::SequenceGroup(double baseTime):
SequenceGroup::SequenceGroup(double baseTime):
_baseTime(baseTime)
{
}