48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
/**********************************************************************
|
|
*
|
|
* FILE: Object.cpp
|
|
*
|
|
* DESCRIPTION: Read/Write osg::Object in binary format to disk.
|
|
*
|
|
* CREATED BY: Auto generated by iveGenerated
|
|
* and later modified by Rune Schmidt Jensen.
|
|
*
|
|
* HISTORY: Created 17.3.2003
|
|
*
|
|
* Copyright 2003 VR-C
|
|
**********************************************************************/
|
|
|
|
#include "Exception.h"
|
|
#include "Object.h"
|
|
|
|
using namespace ive;
|
|
|
|
void Object::write(DataOutputStream* out){
|
|
// Write Object's identification.
|
|
out->writeInt(IVEOBJECT);
|
|
|
|
// Write Object's properties.
|
|
switch(getDataVariance()){
|
|
case(osg::Object::STATIC): out->writeChar((char)0); break;
|
|
case(osg::Object::DYNAMIC): out->writeChar((char)1); break;
|
|
}
|
|
}
|
|
|
|
void Object::read(DataInputStream* in){
|
|
// Read Object's identification.
|
|
int id = in->peekInt();
|
|
if(id == IVEOBJECT){
|
|
// Code to read Object's properties.
|
|
id = in->readInt();
|
|
|
|
char c = in->readChar();
|
|
switch((int)c){
|
|
case 0: setDataVariance(osg::Object::STATIC);break;
|
|
case 1: setDataVariance(osg::Object::DYNAMIC);break;
|
|
}
|
|
}
|
|
else{
|
|
throw Exception("Object::read(): Expected Object identification");
|
|
}
|
|
}
|