7 using namespace ROOT::Experimental;
8 namespace REX = ROOT::Experimental;
10 REveDataSimpleProxyBuilder::REveDataSimpleProxyBuilder(
const std::string &type) : REveDataProxyBuilderBase(type)
15 REveDataSimpleProxyBuilder::~REveDataSimpleProxyBuilder()
20 REveDataSimpleProxyBuilder::Clean()
22 for (
auto &p: m_products)
26 REveElement *elms = p->m_elements;
27 for (
auto &c: elms->RefChildren())
38 REveDataSimpleProxyBuilder::Build(
const REveDataCollection *collection,
39 REveElement* product,
const REveViewContext* vc)
41 auto size = collection->GetNItems();
42 auto pIdx = product->RefChildren().begin();
43 for (
int index = 0; index < size; ++index)
45 auto di = Collection()->GetDataItem(index);
46 REveElement *itemHolder =
nullptr;
48 if (index < product->NumChildren())
51 itemHolder->SetRnrSelfChildren(
true,
true);
56 itemHolder = CreateCompound(
true,
true);
57 itemHolder->SetMainColor(collection->GetMainColor());
58 itemHolder->SetName(Form(
"%s %d", collection->GetCName(), index));
60 product->AddElement(itemHolder);
63 di->AddNiece(itemHolder);
64 itemHolder->SetSelectionMaster(di);
66 if (di->GetRnrSelf() && !di->GetFiltered())
68 Build(collection->GetDataPtr(index), index, itemHolder, vc);
74 REveDataSimpleProxyBuilder::BuildViewType(
const REveDataCollection* collection,
75 REveElement* product, std::string viewType,
const REveViewContext* vc)
77 auto size = collection->GetNItems();
78 auto pIdx = product->RefChildren().begin();
79 for (
int index = 0; index < size; ++index)
81 auto di = Collection()->GetDataItem(index);
82 REveElement* itemHolder =
nullptr;
84 if (index < product->NumChildren())
87 itemHolder->SetRnrSelfChildren(
true,
true);
92 itemHolder = CreateCompound(
true,
true);
93 itemHolder->SetMainColor(collection->GetMainColor());
94 itemHolder->SetName(Form(
"%s %d", collection->GetCName(), index));
96 product->AddElement(itemHolder);
99 di->AddNiece(itemHolder);
100 itemHolder->SetSelectionMaster(di);
102 if (di->GetRnrSelf() && !di->GetFiltered())
104 BuildViewType(collection->GetDataPtr(index), index, itemHolder, viewType, vc);
112 REveDataSimpleProxyBuilder::VisibilityModelChanges(
int idx, REveElement* iCompound,
const REveViewContext* vc)
114 REveDataItem* item = Collection()->GetDataItem(idx);
115 bool returnValue =
false;
116 if (item->GetRnrSelf() && iCompound->NumChildren()==0)
118 printf(
"REveDataSimpleProxyBuilder::VisibilityModelChanges BUILD %d \n", idx);
119 Build(Collection()->GetDataPtr(idx), idx, iCompound, vc);