From 83b04bd04b73e3057e2e7c5f05a3e548d3e84251 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 10 Oct 2003 11:12:37 +0000 Subject: [PATCH] Fix for 64bit build. --- src/osgPlugins/ive/OccluderNode.cpp | 86 +++++++++++++++-------------- 1 file changed, 44 insertions(+), 42 deletions(-) diff --git a/src/osgPlugins/ive/OccluderNode.cpp b/src/osgPlugins/ive/OccluderNode.cpp index d91b2a3d6..3a2afeaf6 100644 --- a/src/osgPlugins/ive/OccluderNode.cpp +++ b/src/osgPlugins/ive/OccluderNode.cpp @@ -1,15 +1,15 @@ /********************************************************************** * - * FILE: OccluderNode.cpp + * FILE: OccluderNode.cpp * - * DESCRIPTION: Read/Write osg::OccluderNode in binary format to disk. + * DESCRIPTION: Read/Write osg::OccluderNode in binary format to disk. * - * CREATED BY: Auto generated by iveGenerator - * and later modified by Rune Schmidt Jensen. + * CREATED BY: Auto generated by iveGenerator + * and later modified by Rune Schmidt Jensen. * - * HISTORY: Created 16.4.2003 + * HISTORY: Created 16.4.2003 * - * Copyright 2003 VR-C + * Copyright 2003 VR-C **********************************************************************/ #include "Exception.h" @@ -20,42 +20,44 @@ using namespace ive; void OccluderNode::write(DataOutputStream* out){ - // Write OccluderNode's identification. - out->writeInt(IVEOCCLUDERNODE); - // If the osg class is inherited by any other class we should also write this to file. - osg::Group* group = dynamic_cast(this); - if(group){ - ((ive::Group*)(group))->write(out); - } - else - throw Exception("OccluderNode::write(): Could not cast this osg::OccluderNode to an osg::Group."); - // Write OccluderNode's properties. - out->writeInt((int)getOccluder()); - if(getOccluder()) - ((ive::ConvexPlanarOccluder*)(getOccluder()))->write(out); + // Write OccluderNode's identification. + out->writeInt(IVEOCCLUDERNODE); + // If the osg class is inherited by any other class we should also write this to file. + osg::Group* group = dynamic_cast(this); + if(group){ + ((ive::Group*)(group))->write(out); + } + else + throw Exception("OccluderNode::write(): Could not cast this osg::OccluderNode to an osg::Group."); + // Write OccluderNode's properties. + out->writeBool(getOccluder()!=0); + if(getOccluder()) + ((ive::ConvexPlanarOccluder*)(getOccluder()))->write(out); } -void OccluderNode::read(DataInputStream* in){ - // Peek on OccluderNode's identification. - int id = in->peekInt(); - if(id == IVEOCCLUDERNODE){ - // Read OccluderNode's identification. - id = in->readInt(); - // If the osg class is inherited by any other class we should also read this from file. - osg::Group* group = dynamic_cast(this); - if(group){ - ((ive::Group*)(group))->read(in); - } - else - throw Exception("OccluderNode::read(): Could not cast this osg::OccluderNode to an osg::Group."); - // Read OccluderNode's properties - if(in->readInt()){ - osg::ConvexPlanarOccluder* cpo = new osg::ConvexPlanarOccluder(); - ((ive::ConvexPlanarOccluder*)(cpo))->read(in); - setOccluder(cpo); - } - } - else{ - throw Exception("OccluderNode::read(): Expected OccluderNode identification."); - } +void OccluderNode::read(DataInputStream* in) +{ + // Peek on OccluderNode's identification. + int id = in->peekInt(); + if(id == IVEOCCLUDERNODE) + { + // Read OccluderNode's identification. + id = in->readInt(); + // If the osg class is inherited by any other class we should also read this from file. + osg::Group* group = dynamic_cast(this); + if(group){ + ((ive::Group*)(group))->read(in); + } + else + throw Exception("OccluderNode::read(): Could not cast this osg::OccluderNode to an osg::Group."); + // Read OccluderNode's properties + if(in->readBool()){ + osg::ConvexPlanarOccluder* cpo = new osg::ConvexPlanarOccluder(); + ((ive::ConvexPlanarOccluder*)(cpo))->read(in); + setOccluder(cpo); + } + } + else{ + throw Exception("OccluderNode::read(): Expected OccluderNode identification."); + } }