diff --git a/macro/beamtime/camera_restore.C b/macro/beamtime/camera_restore.C new file mode 100755 index 0000000000000000000000000000000000000000..48fa4f808d4176069f9204665377fd9e002f5536 --- /dev/null +++ b/macro/beamtime/camera_restore.C @@ -0,0 +1,30 @@ +/* +void camera_restore(const char* fname, int mode = 0) +{ + TEveManager::Create(); + writeCurrentCamera(fname); +} +*/ + +void writeCurrentCamera(const char* fname) +{ + TGLCamera& c = gEve->GetDefaultGLViewer()->CurrentCamera(); + TFile* f = TFile::Open(fname, "RECREATE"); + c.Write(); + f->Close(); +} + + +void readCurrentCamera(const char* fname) +{ + TGLCamera& c = gEve->GetDefaultGLViewer()->CurrentCamera(); + TFile* f = TFile::Open(fname, "READ"); + if (!f) + return; + + if (f->GetKey(c.ClassName())) { + f->GetKey(c.ClassName())->Read(&c); + c.IncTimeStamp(); + gEve->GetDefaultGLViewer()->RequestDraw(); + } +}