Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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
17namespace ROOT {
18namespace Experimental {
19
20class REveDataCollection;
21class REveElement;
22
24{
25public:
28
29protected:
30 void Build(const REveDataCollection* iCollection, REveElement* product, const REveViewContext*) override;
31
32 void BuildViewType(const REveDataCollection* iCollection, REveElement* product, const 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, const 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);
44
45private:
47
49
50 bool VisibilityModelChanges(int idx, REveElement*, const std::string& viewType, const REveViewContext*) override;
51
52};
53//==============================================================================
54
55class REveCollectionCompound : public REveCompound // ?? Should this be in as REveDataSimpleProxyBuilder.hxx ?????
56{
57private:
59
60public:
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
#define c(i)
Definition RSha256.hxx:101
virtual REveElement * GetSelectionMaster() override
Returns the master element - that is:
virtual void Build(const void *data, int index, REveElement *iCollectionHolder, const REveViewContext *)=0
void BuildViewType(const REveDataCollection *iCollection, REveElement *product, const std::string &viewType, const REveViewContext *) override
void FillImpliedSelected(REveElement::Set_t &impSet, Product *p) override
virtual void Build(const void *data, int index, REveElement *iCollectionHolder, const REveViewContext *)=0
bool VisibilityModelChanges(int idx, REveElement *, const std::string &viewType, const REveViewContext *) override
REveDataSimpleProxyBuilder(const REveDataSimpleProxyBuilder &)
void ModelChanges(const REveDataCollection::Ids_t &iIds, Product *p) override
REveCompound * CreateCompound(bool set_color=true, bool propagate_color_to_all_children=false)
virtual void BuildViewType(const void *data, int index, REveElement *iCollectionHolder, const std::string &viewType, const REveViewContext *)=0
const REveDataSimpleProxyBuilder & operator=(const REveDataSimpleProxyBuilder &)
std::set< REveElement * > Set_t
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...