Warning, file /include/root/ROOT/REveGeoTopNode.hxx was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002 #ifndef ROOT7_REveGeoTopNode
0003 #define ROOT7_REveGeoTopNode
0004
0005 #include <ROOT/REveElement.hxx>
0006 #include <ROOT/RGeomData.hxx>
0007 #include <ROOT/RGeomHierarchy.hxx>
0008
0009 class TGeoNode;
0010
0011 namespace ROOT {
0012 namespace Experimental {
0013
0014
0015 class REveGeoTopNodeData : public REveElement,
0016 public REveAuntAsList
0017 {
0018 friend class REveGeoTopNodeViz;
0019 protected:
0020 REveGeoTopNodeData(const REveGeoTopNodeData &) = delete;
0021 REveGeoTopNodeData &operator=(const REveGeoTopNodeData &) = delete;
0022
0023 TGeoNode* fGeoNode{nullptr};
0024 RGeomDescription fDesc;
0025 std::shared_ptr<RGeomHierarchy> fWebHierarchy;
0026
0027 public:
0028 REveGeoTopNodeData(const Text_t *n = "REveGeoTopNodeData", const Text_t *t = "");
0029 virtual ~REveGeoTopNodeData() {}
0030
0031 Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
0032 void SetTNode(TGeoNode* n);
0033 void ProcessSignal(const std::string &);
0034 RGeomDescription& RefDescription() {return fDesc;}
0035
0036 void SetChannel(unsigned connid, int chid);
0037 };
0038
0039 class REveGeoTopNodeViz : public REveElement
0040 {
0041 private:
0042 REveGeoTopNodeViz(const REveGeoTopNodeViz &) = delete;
0043 REveGeoTopNodeViz &operator=(const REveGeoTopNodeViz &) = delete;
0044
0045 REveGeoTopNodeData* fGeoData{nullptr};
0046
0047 public:
0048 REveGeoTopNodeViz(const Text_t *n = "REveGeoTopNodeViz", const Text_t *t = "");
0049 void SetGeoData(REveGeoTopNodeData* d) {fGeoData = d;}
0050 Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override;
0051 void BuildRenderData() override;
0052
0053 bool RequiresExtraSelectionData() const override { return true; };
0054 void FillExtraSelectionData(nlohmann::json& j, const std::set<int>& secondary_idcs) const override;
0055
0056 using REveElement::GetHighlightTooltip;
0057 std::string GetHighlightTooltip(const std::set<int>& secondary_idcs) const override;
0058 };
0059
0060 }
0061 }
0062
0063 #endif
0064