Logo ROOT  
Reference Guide
REveDataSimpleProxyBuilder.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Authors: Matevz Tadel & Alja Mrak-Tadel, 2019
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT7_REveDataProxySimpleBuilder
13 #define ROOT7_REveDataProxySimpleBuilder
14 
16 
17 namespace ROOT {
18 namespace Experimental {
19 
20 class REveDataCollection;
21 class REveElement;
22 
24 {
25 public:
28 
29 protected:
30  void Build(const REveDataCollection* iCollection, REveElement* product, const REveViewContext*) override;
31 
32  void BuildViewType(const REveDataCollection* iCollection, REveElement* product, std::string viewType, const REveViewContext*) override;
33 
34  // Called once for every item in collection, the void* points to the
35  // item properly offset in memory.
36  virtual void Build(const void* data, int index, REveElement* iCollectionHolder, const REveViewContext*) = 0;
37  virtual void BuildViewType(const void* data, int index, REveElement* iCollectionHolder, std::string viewType, const REveViewContext*) = 0;
38 
39  void ModelChanges(const REveDataCollection::Ids_t& iIds, Product* p) override;
40  void FillImpliedSelected(REveElement::Set_t& impSet, Product* p) override;
41  void Clean() override; // Utility
42  REveCompound* CreateCompound(bool set_color=true, bool propagate_color_to_all_children=false);
43 
44 
45 private:
47 
49 
50  bool VisibilityModelChanges(int idx, REveElement*, const REveViewContext*) override;
51 
52 };
53 //==============================================================================
54 
55 class REveCollectionCompound : public REveCompound // ?? Should this be in as REveDataSimpleProxyBuilder.hxx ?????
56 {
57 private:
59 
60 public:
62  virtual ~REveCollectionCompound();
63  // Int_t WriteCoreJson(nlohmann::json &cj, Int_t rnr_offset) override;
64 
65  // virtual REveElement* GetSelectionMaster(const bool &secondary = false, const std::set<int>& secondary_idcs = {});
66  virtual REveElement* GetSelectionMaster() override;
67 };
68 
69 
70 } // namespace Experimental
71 } // namespace ROOT
72 
73 #endif
ROOT::Experimental::REveViewContext
Definition: REveViewContext.hxx:21
ROOT::Experimental::REveCollectionCompound::~REveCollectionCompound
virtual ~REveCollectionCompound()
Definition: REveDataSimpleProxyBuilder.cxx:243
c
#define c(i)
Definition: RSha256.hxx:101
ROOT::Experimental::REveDataCollection
Definition: REveDataCollection.hxx:109
ROOT::Experimental::REveDataCollection::Ids_t
std::vector< int > Ids_t
Definition: REveDataCollection.hxx:114
REveDataProxyBuilderBase.hxx
ROOT::Experimental::REveDataSimpleProxyBuilder::REveDataSimpleProxyBuilder
REveDataSimpleProxyBuilder()
Definition: REveDataSimpleProxyBuilder.cxx:22
ROOT::Experimental::REveDataSimpleProxyBuilder::BuildViewType
void BuildViewType(const REveDataCollection *iCollection, REveElement *product, std::string viewType, const REveViewContext *) override
Definition: REveDataSimpleProxyBuilder.cxx:85
ROOT::Experimental::REveDataSimpleProxyBuilder::Clean
void Clean() override
Definition: REveDataSimpleProxyBuilder.cxx:32
ROOT::Experimental::REveElement
Definition: REveElement.hxx:41
ROOT::Experimental::REveDataProxyBuilderBase::Product
Definition: REveDataProxyBuilderBase.hxx:29
ROOT::Experimental::REveDataProxyBuilderBase::Build
void Build()
Definition: REveDataProxyBuilderBase.cxx:68
ROOT::Experimental::REveDataSimpleProxyBuilder::CreateCompound
REveCompound * CreateCompound(bool set_color=true, bool propagate_color_to_all_children=false)
Definition: REveDataSimpleProxyBuilder.cxx:178
ROOT::Experimental::REveDataSimpleProxyBuilder::operator=
const REveDataSimpleProxyBuilder & operator=(const REveDataSimpleProxyBuilder &)
ROOT::Experimental::REveCollectionCompound::REveCollectionCompound
REveCollectionCompound(REveDataCollection *c)
Definition: REveDataSimpleProxyBuilder.cxx:235
ROOT::Experimental::REveDataSimpleProxyBuilder
Definition: REveDataSimpleProxyBuilder.hxx:24
ROOT::Experimental::REveDataSimpleProxyBuilder::VisibilityModelChanges
bool VisibilityModelChanges(int idx, REveElement *, const REveViewContext *) override
Definition: REveDataSimpleProxyBuilder.cxx:203
ROOT::Experimental::REveElement::Set_t
std::set< REveElement * > Set_t
Definition: REveElement.hxx:50
ROOT::Experimental::REveDataProxyBuilderBase
Definition: REveDataProxyBuilderBase.hxx:26
ROOT::Experimental::REveDataSimpleProxyBuilder::FillImpliedSelected
void FillImpliedSelected(REveElement::Set_t &impSet, Product *p) override
Definition: REveDataSimpleProxyBuilder.cxx:218
ROOT::Experimental::REveCollectionCompound::GetSelectionMaster
virtual REveElement * GetSelectionMaster() override
Returns the master element - that is:
Definition: REveDataSimpleProxyBuilder.cxx:251
ROOT::Experimental::REveDataSimpleProxyBuilder::REveDataSimpleProxyBuilder
REveDataSimpleProxyBuilder(const REveDataSimpleProxyBuilder &)
ROOT::Experimental::REveDataSimpleProxyBuilder::~REveDataSimpleProxyBuilder
virtual ~REveDataSimpleProxyBuilder()
Definition: REveDataSimpleProxyBuilder.cxx:27
ROOT::Experimental::REveDataSimpleProxyBuilderTemplate::Build
virtual void Build(const void *data, int index, REveElement *iCollectionHolder, const REveViewContext *)=0
ROOT::Experimental::REveCollectionCompound::fCollection
REveDataCollection * fCollection
Definition: REveDataSimpleProxyBuilder.hxx:58
ROOT::Experimental::REveDataSimpleProxyBuilder::ModelChanges
void ModelChanges(const REveDataCollection::Ids_t &iIds, Product *p) override
Definition: REveDataSimpleProxyBuilder.cxx:137
ROOT::Experimental::REveCompound
Definition: REveCompound.hxx:28
ROOT::Experimental::REveCollectionCompound
Definition: REveDataSimpleProxyBuilder.hxx:56
ROOT
VSD Structures.
Definition: StringConv.hxx:21