// @(#)root/star:$Name: $:$Id: TVolumeView.cxx,v 1.3 2002/08/20 10:51:50 rdm Exp $ // Author: Valery Fine(fine@bnl.gov) 25/12/98 #include <assert.h> #include <stdlib.h> #include "Riostream.h" #include "TCanvas.h" #include "TPad.h" #include "TCL.h" #include "TBrowser.h" #include "TVolumeView.h" #include "TVolumeViewIter.h" #include "TVolumePosition.h" #include "TROOT.h" #include "TView.h" #include "TPadView3D.h" #include "TGeometry.h" #include "TVirtualPad.h" #include "TObjArray.h" ////////////////////////////////////////////////////////////////////////// // // // TVolumeView // // // // TVolumeView class is a special kind of TDataSet with one extra // // pointer to wrap any TObject onto TDataSet object // // // // BE CAREFUL !!! // // One has to use it carefully no control over that extra object // // is performed. This means: the object m_Obj data-member points to can// // be destroyed with no this kbject notifying. // // There is no tool /protection to check whether m_Obj is till alive. // // It is one's code responsilitiy // // // ////////////////////////////////////////////////////////////////////////// ClassImp(TVolumeView) //_____________________________________________________________________________ TVolumeView::TVolumeView(TVolumeView *viewNode,TVolumePosition *nodePosition) : TObjectSet(viewNode->GetName(),(TObject *)nodePosition),fListOfShapes(0) // ,fListOfAttributes(0) { // // This ctor creates a TVolumeView structure from the "marked" nodes // of the "viewNode" input structure // It re-calculates all positions according of the new topology // All new TVolume became UNMARKED though // if (!gGeometry) new TGeometry; if (viewNode) { SetTitle(viewNode->GetTitle());