Skip to content
Snippets Groups Projects
Commit 65bb0ca9 authored by alja's avatar alja Committed by Sergey Linev
Browse files

Pass item index in proxy builder Build() methods.

parent 943c2a17
No related branches found
No related tags found
No related merge requests found
......@@ -33,8 +33,8 @@ protected:
//called once for each collection in collection, the void* points to the
// object properly offset in memory
virtual void Build(const void* data, REveElement* iCollectionHolder, const REveViewContext*) = 0;
virtual void BuildViewType(const void* data, REveElement* iCollectionHolder, std::string viewType, const REveViewContext*) = 0;
virtual void Build(const void* data, unsigned int index, REveElement* iCollectionHolder, const REveViewContext*) = 0;
virtual void BuildViewType(const void* data, unsigned int index, REveElement* iCollectionHolder, std::string viewType, const REveViewContext*) = 0;
virtual void Clean();
......
......@@ -18,29 +18,29 @@ public:
protected:
using REveDataSimpleProxyBuilder::Build;
virtual void Build(const void *iData, REveElement *itemHolder, const REveViewContext *context)
virtual void Build(const void *iData, unsigned int index, REveElement *itemHolder, const REveViewContext *context)
{
if(iData) {
Build(*reinterpret_cast<const T*> (iData), itemHolder, context);
Build(*reinterpret_cast<const T*> (iData), index, itemHolder, context);
}
}
using REveDataSimpleProxyBuilder::BuildViewType;
virtual void BuildViewType(const void *iData, REveElement *itemHolder, std::string viewType, const REveViewContext *context)
virtual void BuildViewType(const void *iData, unsigned int index, REveElement *itemHolder, std::string viewType, const REveViewContext *context)
{
if(iData) {
BuildViewType(*reinterpret_cast<const T*> (iData), itemHolder, viewType, context);
BuildViewType(*reinterpret_cast<const T*> (iData), index, itemHolder, viewType, context);
}
}
virtual void Build(const T &/*iData*/, REveElement */*itemHolder*/, const REveViewContext */*context*/)
virtual void Build(const T &/*iData*/, unsigned int index, REveElement */*itemHolder*/, const REveViewContext */*context*/)
{
throw std::runtime_error("virtual Build(const T&, unsigned int, TEveElement&, const FWViewContext*) not implemented by inherited class.");
throw std::runtime_error("virtual Build(const T&, unsigned int, REveElement&, const REveViewContext*) not implemented by inherited class.");
}
virtual void BuildViewType(const T &/*iData*/, REveElement */*itemHolder*/, std::string /*viewType*/, const REveViewContext */*context*/)
virtual void BuildViewType(const T &/*iData*/, unsigned int index, REveElement */*itemHolder*/, std::string /*viewType*/, const REveViewContext */*context*/)
{
throw std::runtime_error("virtual BuildViewType(const T&, unsigned int, TEveElement&, const FWViewContext*) not implemented by inherited class.");
throw std::runtime_error("virtual BuildViewType(const T&, unsigned int, REveElement&, const REveViewContext*) not implemented by inherited class.");
}
private:
......
......@@ -313,7 +313,7 @@ void REveDataColumn::SetExpressionAndType(const std::string& expr, FieldType_e t
<< ") = [](" << icls->GetName() << "* p){" << icls->GetName() << " &i=*p; return (" << fExpression.Data()
<< "); }";
// printf("%s\n", s.Data());
printf("%s\n", s.str().c_str());
try {
gROOT->ProcessLine(s.str().c_str());
}
......
......@@ -60,7 +60,7 @@ REveDataSimpleProxyBuilder::Build(const REveDataCollection *collection,
auto di = Collection()->GetDataItem(index);
if (di->GetRnrSelf() && !di->GetFiltered())
{
Build(collection->GetDataPtr(index), itemHolder, vc);
Build(collection->GetDataPtr(index), index, itemHolder, vc);
}
}
}
......@@ -91,7 +91,7 @@ REveDataSimpleProxyBuilder::BuildViewType(const REveDataCollection* collection,
auto di = Collection()->GetDataItem(index);
if (di->GetRnrSelf() && !di->GetFiltered())
{
BuildViewType(collection->GetDataPtr(index), itemHolder, viewType, vc);
BuildViewType(collection->GetDataPtr(index), index, itemHolder, viewType, vc);
}
}
}
......@@ -106,7 +106,7 @@ REveDataSimpleProxyBuilder::VisibilityModelChanges(int idx, REveElement* iCompou
if (item->GetRnrSelf() && iCompound->NumChildren()==0)
{
printf("REveDataSimpleProxyBuilder::VisibilityModelChanges BUILD %d \n", idx);
Build(Collection()->GetDataPtr(idx), iCompound, vc);
Build(Collection()->GetDataPtr(idx), idx, iCompound, vc);
returnValue=true;
}
return returnValue;
......
......@@ -148,7 +148,7 @@ class XYJetProxyBuilder: public REX::REveDataSimpleProxyBuilderTemplate<XYJet>
virtual bool HaveSingleProduct() const { return false; }
using REveDataSimpleProxyBuilderTemplate<XYJet>::BuildViewType;
virtual void BuildViewType(const XYJet& dj, REX::REveElement* iItemHolder, std::string viewType, const REX::REveViewContext* context)
virtual void BuildViewType(const XYJet& dj, unsigned int /*idx*/, REX::REveElement* iItemHolder, std::string viewType, const REX::REveViewContext* context)
{
auto jet = new REX::REveJetCone();
jet->SetCylinder(context->GetMaxR(), context->GetMaxZ());
......@@ -206,7 +206,7 @@ class XYJetProxyBuilder: public REX::REveDataSimpleProxyBuilderTemplate<XYJet>
class TrackProxyBuilder : public REX::REveDataSimpleProxyBuilderTemplate<TParticle>
{
using REveDataSimpleProxyBuilderTemplate<TParticle>::Build;
virtual void Build(const TParticle& p, REX::REveElement* iItemHolder, const REX::REveViewContext* context)
virtual void Build(const TParticle& p, unsigned int /*idx*/, REX::REveElement* iItemHolder, const REX::REveViewContext* context)
{
const TParticle *x = &p;
// printf("============== BUILD track %s (pt=%f, eta=%f) \n", iItemHolder->GetCName(), p.Pt(), p.Eta());
......@@ -466,7 +466,6 @@ public:
}
};
//______________________________________________________________________________
void collection_proxies(bool proj=true)
......@@ -475,8 +474,6 @@ void collection_proxies(bool proj=true)
auto event = new Event();
event->Create();
event->N_tracks = 10;
event->N_jets = 4;
gRhoZView = true;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment