12 #ifndef ROOT_TVirtualViewer3D
13 #define ROOT_TVirtualViewer3D
37 class TVirtualViewer3D :
public TObject
40 virtual ~TVirtualViewer3D();
46 virtual Bool_t PreferLocalFrame()
const = 0;
49 virtual Bool_t CanLoopOnPrimitives()
const {
return kFALSE; }
52 virtual void PadPaint(TVirtualPad*) {}
53 virtual void ObjectPaint(TObject*, Option_t* =
"") {}
56 virtual void BeginScene() = 0;
57 virtual Bool_t BuildingScene()
const = 0;
58 virtual void EndScene() = 0;
61 virtual Int_t AddObject(
const TBuffer3D & buffer, Bool_t * addChildren = 0) = 0;
65 virtual Int_t AddObject(UInt_t physicalID,
const TBuffer3D & buffer, Bool_t * addChildren = 0) = 0;
67 virtual Bool_t OpenComposite(
const TBuffer3D & buffer, Bool_t * addChildren = 0) = 0;
68 virtual void CloseComposite() = 0;
69 virtual void AddCompositeOp(UInt_t operation) = 0;
71 virtual TObject *SelectObject(Int_t, Int_t){
return 0;}
72 virtual void DrawViewer(){}
74 virtual void PrintObjects(){}
75 virtual void ResetCameras(){}
76 virtual void ResetCamerasAfterNextUpdate(){}
78 static TVirtualViewer3D *Viewer3D(TVirtualPad *pad = 0, Option_t *type =
"");
80 ClassDef(TVirtualViewer3D,0)