4 #include "TGLSelectRecord.h" 5 #include "TGLPhysicalShape.h" 6 #include "TGLLogicalShape.h" 7 #include "TGeoVolume.h" 8 #include "TEveManager.h" 9 #include "TEveSelection.h" 10 #include "TBuffer3D.h" 21 fTitle=
"GeoTopNodeScene";
32 Error(
"FWGeoTopNodeGLScene::OpenComposite",
"composite already open");
36 UInt_t extraSections = TGLScenePad::AddObject(phyID, buffer,
nullptr);
38 Error(
"FWGeoTopNodeGLScene::OpenComposite",
"expected top level composite to not require extra buffer sections");
56 int ns = TGLScenePad::AddObject(1, buffer, addChildren);
61 fwLog(
fwlog::kError)<<
"FWGeoTopNodeGLScene::AddObject() should not be called if fNextCompositeID \n";
62 return TGLScenePad::AddObject(buffer, addChildren);
75 if (curIdx >= rec.GetN())
78 TGLPhysicalShape* pshp = FindPhysical(rec.GetItem(curIdx));
87 rec.SetTransparent(pshp->IsTransparent());
88 rec.SetPhysShape(pshp);
90 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,32,0) 94 rec.SetSpecific(
nullptr);
113 return TGLScene::DestroyPhysicals();
120 return TGLScene::DestroyPhysical(x);
132 #if ROOT_VERSION_CODE < ROOT_VERSION(5,32,0) 135 FWGeoTopNodeEveScene::FWGeoTopNodeEveScene(
FWGeoTopNodeGLScene* gl_scene,
const char*
n,
const char*
t)
144 fGLScene->SetName(
n);
145 fGLScene->SetAutoDestruct(kFALSE);
146 fGLScene->SetSmartRefresh(kTRUE);
void GeoPopupMenu(Int_t gx, Int_t gy, TGLViewer *)
Int_t DestroyPhysicals() override
Int_t AddObject(const TBuffer3D &buffer, Bool_t *addChildren=nullptr) override
FWGeoTopNode * m_eveTopNode
virtual Bool_t DestroyPhysical(Int_t)
bool OpenCompositeWithPhyID(UInt_t phyID, const TBuffer3D &buffer)
FWGeoTopNodeGLScene(const FWGeoTopNodeGLScene &)=delete
Bool_t ResolveSelectRecord(TGLSelectRecord &rec, Int_t curIdx) override
virtual void popupMenu(int x, int y, TGLViewer *)
void SetPad(TVirtualPad *p)