Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TViewer3DPad.h
Go to the documentation of this file.
1 // @(#)root/gpad:$Id$
2 // Author: Richard Maunder 10/3/2005
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TViewer3DPad
13 #define ROOT_TViewer3DPad
14 
15 
16 #include "TVirtualViewer3D.h"
17 
18 class TVirtualPad;
19 
20 class TViewer3DPad : public TVirtualViewer3D {
21 private:
22  TVirtualPad & fPad; ///< the pad we paint into.
23  Bool_t fBuilding; ///< is scene being built?
24 
25  // Non-copyable
26  TViewer3DPad(const TViewer3DPad &);
27  TViewer3DPad & operator = (const TViewer3DPad &);
28 
29 public:
30  TViewer3DPad(TVirtualPad & pad) : fPad(pad), fBuilding(kFALSE) {};
31  ~TViewer3DPad() {};
32 
33  virtual Bool_t PreferLocalFrame() const;
34  virtual void BeginScene();
35  virtual Bool_t BuildingScene() const { return fBuilding; }
36  virtual void EndScene();
37  virtual Int_t AddObject(const TBuffer3D & buffer, Bool_t * addChildren = 0);
38  virtual Int_t AddObject(UInt_t placedID, const TBuffer3D & buffer, Bool_t * addChildren = 0);
39 
40  // Composite shapes not supported on this viewer currently - ignore.
41  // Will result in a set of individual component shapes
42  virtual Bool_t OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren = 0);
43  virtual void CloseComposite();
44  virtual void AddCompositeOp(UInt_t operation);
45 
46  ClassDef(TViewer3DPad,0) //A 3D Viewer painter for TPads
47 };
48 
49 #endif