// // $Id: GeometryIO.cpp,v 1.1 2001/03/25 20:54:21 hobbs Exp $ // // File: BaseGeometry.cc // Purpose: // Created: 28-OCT-1997 John Hobbs // // $Revision: 1.1 $ // // // Include files #include #include #include #include #include "geometry_system/utils/GeometryIO.hpp" using namespace std; using namespace dgs; GeometryIO::GeometryIO() {} // Write a geometry instance to the given file bool GeometryIO::writeGeometry(d0_Ref_Any det, string fname, string type) { d0StreamFactory* theFactory = d0StreamFactory::locateStreamFactory(); d0Stream* geomfile = theFactory->make_d0Stream(fname,type.c_str(),ios::out); if( !geomfile ) return false; geomfile->write(*det); geomfile->close(); delete geomfile; return true; } // Read a geometry instance from the given file d0_Ref_Any GeometryIO::readGeometry(string fname, string type, string top) { d0StreamFactory* theFactory = d0StreamFactory::locateStreamFactory(); d0Stream* geomfile = theFactory->make_d0Stream(fname.c_str(),type.c_str(),ios::in); if( !geomfile ) return 0; d0Key mykey(top.c_str()); d0_Ref_Any topDet = geomfile->read(&mykey); if( !topDet ) return 0; geomfile->close(); delete geomfile; return topDet; }