12 #ifndef ROOT7_REveGeomViewer
13 #define ROOT7_REveGeomViewer
23 namespace Experimental {
28 class REveGeomViewer {
30 friend class REveManager;
34 TGeoManager *fGeoManager{
nullptr};
35 std::string fSelectedVolume;
36 REveGeomDescription fDesc;
37 bool fShowHierarchy{
true};
39 std::shared_ptr<RWebWindow> fWebWindow;
41 void WebWindowCallback(
unsigned connid,
const std::string &arg);
43 std::vector<int> GetStackFromJson(
const std::string &json,
bool node_ids =
false);
45 void SendGeometry(
unsigned connid);
49 REveGeomViewer(TGeoManager *mgr =
nullptr,
const std::string &volname =
"");
50 virtual ~REveGeomViewer();
52 void SetGeometry(TGeoManager *mgr,
const std::string &volname =
"");
54 void SelectVolume(
const std::string &volname);
57 void SetLimits(
int nnodes = 5000,
int nfaces = 100000)
59 fDesc.SetMaxVisNodes(nnodes);
60 fDesc.SetMaxVisFaces(nfaces);
64 void SetVisLevel(
int lvl = 3)
66 fDesc.SetVisLevel(lvl);
70 void SetShowHierarchy(
bool on =
true) { fShowHierarchy = on; }
73 bool GetShowHierarchy()
const {
return fShowHierarchy; }
75 void SetDrawOptions(
const std::string &opt);
77 void Show(
const RWebDisplayArgs &args =
"",
bool always_start_new_browser =
false);
81 void SaveImage(
const std::string &fname =
"geometry.png");