00001 #ifndef Fireworks_Core_FWGeoTopNodeScene_h 00002 #define Fireworks_Core_FWGeoTopNodeScene_h 00003 00004 #include "TGLScenePad.h" 00005 00006 class FWGeoTopNode; 00007 class TGLViewer; 00008 00009 class FWGeoTopNodeGLScene : public TGLScenePad 00010 { 00011 private: 00012 FWGeoTopNodeGLScene(const FWGeoTopNodeGLScene&); // Not implemented 00013 FWGeoTopNodeGLScene& operator=(const FWGeoTopNodeGLScene&); // Not implemented 00014 protected: 00015 00016 public: 00017 // UInt_t fNextCompositeID; 00018 FWGeoTopNode *m_eveTopNode; 00019 00020 FWGeoTopNodeGLScene(TVirtualPad* pad); 00021 virtual ~FWGeoTopNodeGLScene() {} 00022 00023 void SetPad(TVirtualPad* p) { fPad = p; } 00024 00025 void GeoPopupMenu(Int_t gx, Int_t gy, TGLViewer*); 00026 00027 virtual Bool_t ResolveSelectRecord(TGLSelectRecord& rec, Int_t curIdx); 00028 00029 bool OpenCompositeWithPhyID(UInt_t phyID, const TBuffer3D& buffer); 00030 00031 // virtual DestroyPhysicals() ... call m_eveTopNode->ClearSelectionHighlight; 00032 // There: if selected => gEve->GetSelection()->Remove(this) or sth 00033 // if highlighted .... "" ..... 00034 00035 virtual Int_t DestroyPhysicals(); 00036 virtual Bool_t DestroyPhysical(Int_t); 00037 00038 virtual Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0); 00039 }; 00040 00041 //============================================================================== 00042 //============================================================================== 00043 //============================================================================== 00044 #if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0) 00045 00046 #include "TEveScene.h" 00047 class FWGeoTopNodeEveScene : public TEveScene 00048 { 00049 public: 00050 FWGeoTopNodeEveScene(FWGeoTopNodeGLScene* gl_scene, const char* n="TEveScene", const char* t=""); 00051 00052 ~FWGeoTopNodeEveScene() {} 00053 }; 00054 #endif 00055 00056 #endif