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"
16 m_eveTopNode(nullptr) {
19 fTitle =
"GeoTopNodeScene";
29 Error(
"FWGeoTopNodeGLScene::OpenComposite",
"composite already open");
33 UInt_t extraSections = TGLScenePad::AddObject(phyID,
buffer,
nullptr);
35 Error(
"FWGeoTopNodeGLScene::OpenComposite",
"expected top level composite to not require extra buffer sections");
51 int ns = TGLScenePad::AddObject(1,
buffer, addChildren);
54 fwLog(
fwlog::kError) <<
"FWGeoTopNodeGLScene::AddObject() should not be called if fNextCompositeID \n";
55 return TGLScenePad::AddObject(
buffer, addChildren);
67 if (curIdx >= rec.GetN())
70 TGLPhysicalShape* pshp = FindPhysical(rec.GetItem(curIdx));
78 rec.SetTransparent(pshp->IsTransparent());
79 rec.SetPhysShape(pshp);
81 #if ROOT_VERSION_CODE >= ROOT_VERSION(5, 32, 0)
85 rec.SetSpecific(
nullptr);
102 return TGLScene::DestroyPhysicals();
108 return TGLScene::DestroyPhysical(
x);
117 #if ROOT_VERSION_CODE < ROOT_VERSION(5, 32, 0)
120 FWGeoTopNodeEveScene::FWGeoTopNodeEveScene(
FWGeoTopNodeGLScene* gl_scene,
const char*
n,
const char*
t) {
128 fGLScene->SetName(
n);
129 fGLScene->SetAutoDestruct(kFALSE);
130 fGLScene->SetSmartRefresh(kTRUE);