00001 // @(#)root/gpad:$Id: TViewer3DPad.h 20882 2007-11-19 11:31:26Z rdm $ 00002 // Author: Richard Maunder 10/3/2005 00003 00004 /************************************************************************* 00005 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. * 00006 * All rights reserved. * 00007 * * 00008 * For the licensing terms see $ROOTSYS/LICENSE. * 00009 * For the list of contributors see $ROOTSYS/README/CREDITS. * 00010 *************************************************************************/ 00011 00012 #ifndef ROOT_TViewer3DPad 00013 #define ROOT_TViewer3DPad 00014 00015 ////////////////////////////////////////////////////////////////////////// 00016 // // 00017 // TViewer3DPad // 00018 // // 00019 // Provides 3D viewer interface (TVirtualViewer3D) support on a pad. // 00020 // Will be merged with TView / TView3D eventually. // 00021 // // 00022 ////////////////////////////////////////////////////////////////////////// 00023 00024 #ifndef ROOT_TVirtualViewer3D 00025 #include "TVirtualViewer3D.h" 00026 #endif 00027 00028 class TVirtualPad; 00029 00030 class TViewer3DPad : public TVirtualViewer3D { 00031 private: 00032 TVirtualPad & fPad; // the pad we paint into. 00033 Bool_t fBuilding; // is scene being built? 00034 00035 // Non-copyable 00036 TViewer3DPad(const TViewer3DPad &); 00037 TViewer3DPad & operator = (const TViewer3DPad &); 00038 00039 public: 00040 TViewer3DPad(TVirtualPad & pad) : fPad(pad), fBuilding(kFALSE) {}; 00041 ~TViewer3DPad() {}; 00042 00043 virtual Bool_t PreferLocalFrame() const; 00044 virtual void BeginScene(); 00045 virtual Bool_t BuildingScene() const { return fBuilding; } 00046 virtual void EndScene(); 00047 virtual Int_t AddObject(const TBuffer3D & buffer, Bool_t * addChildren = 0); 00048 virtual Int_t AddObject(UInt_t placedID, const TBuffer3D & buffer, Bool_t * addChildren = 0); 00049 00050 // Composite shapes not supported on this viewer currently - ignore. 00051 // Will result in a set of individual component shapes 00052 virtual Bool_t OpenComposite(const TBuffer3D & buffer, Bool_t * addChildren = 0); 00053 virtual void CloseComposite(); 00054 virtual void AddCompositeOp(UInt_t operation); 00055 00056 ClassDef(TViewer3DPad,0) //A 3D Viewer painter for TPads 00057 }; 00058 00059 #endif