Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:11:39

0001 #ifndef Fireworks_Core_FWGeoTopNodeScene_h
0002 #define Fireworks_Core_FWGeoTopNodeScene_h
0003 
0004 #include "TGLScenePad.h"
0005 
0006 class FWGeoTopNode;
0007 class TGLViewer;
0008 
0009 class FWGeoTopNodeGLScene : public TGLScenePad {
0010 public:
0011   FWGeoTopNodeGLScene(const FWGeoTopNodeGLScene&) = delete;             // Not implemented
0012   FWGeoTopNodeGLScene& operator=(const FWGeoTopNodeGLScene&) = delete;  // Not implemented
0013 protected:
0014 public:
0015   // UInt_t fNextCompositeID;
0016   FWGeoTopNode* m_eveTopNode;
0017 
0018   FWGeoTopNodeGLScene(TVirtualPad* pad);
0019   ~FWGeoTopNodeGLScene() override {}
0020 
0021   void SetPad(TVirtualPad* p) { fPad = p; }
0022 
0023   void GeoPopupMenu(Int_t gx, Int_t gy, TGLViewer*);
0024 
0025   using TGLScenePad::ResolveSelectRecord;
0026   Bool_t ResolveSelectRecord(TGLSelectRecord& rec, Int_t curIdx) override;
0027 
0028   bool OpenCompositeWithPhyID(UInt_t phyID, const TBuffer3D& buffer);
0029 
0030   // virtual DestroyPhysicals() ... call m_eveTopNode->ClearSelectionHighlight;
0031   // There: if selected => gEve->GetSelection()->Remove(this) or sth
0032   //        if highlighted .... "" .....
0033 
0034   using TGLScenePad::DestroyPhysicals;
0035   Int_t DestroyPhysicals() override;
0036   using TGLScenePad::DestroyPhysical;
0037   virtual Bool_t DestroyPhysical(Int_t);
0038 
0039   using TGLScenePad::AddObject;
0040   Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = nullptr) override;
0041 };
0042 
0043 //==============================================================================
0044 //==============================================================================
0045 //==============================================================================
0046 #if ROOT_VERSION_CODE < ROOT_VERSION(5, 32, 0)
0047 
0048 #include "TEveScene.h"
0049 class FWGeoTopNodeEveScene : public TEveScene {
0050 public:
0051   FWGeoTopNodeEveScene(FWGeoTopNodeGLScene* gl_scene, const char* n = "TEveScene", const char* t = "");
0052 
0053   ~FWGeoTopNodeEveScene() {}
0054 };
0055 #endif
0056 
0057 #endif