#include <Fireworks/Core/interface/FWSimpleProxyBuilder.h>
Public Member Functions | |
FWSimpleProxyBuilder (const std::type_info &iType) | |
virtual | ~FWSimpleProxyBuilder () |
Static Public Member Functions | |
static std::string | typeOfBuilder () |
Used by the plugin system to determine how the proxy uses the data from FWEventItem. | |
Protected Member Functions | |
virtual void | build (const FWEventItem *iItem, TEveElementList *product, const FWViewContext *) |
virtual void | buildViewType (const FWEventItem *iItem, TEveElementList *product, FWViewType::EType viewType, const FWViewContext *) |
virtual void | clean () |
Protected Attributes | |
FWSimpleProxyHelper | m_helper |
Private Member Functions | |
virtual void | build (const void *, unsigned int iIndex, TEveElement &iItemHolder, const FWViewContext *)=0 |
virtual void | buildViewType (const void *, unsigned int iIndex, TEveElement &iItemHolder, FWViewType::EType, const FWViewContext *)=0 |
FWSimpleProxyBuilder (const FWSimpleProxyBuilder &) | |
virtual void | itemChangedImp (const FWEventItem *) |
const FWSimpleProxyBuilder & | operator= (const FWSimpleProxyBuilder &) |
virtual bool | visibilityModelChanges (const FWModelId &, TEveElement *, FWViewType::EType, const FWViewContext *) |
Description: <one line="" class="" summary>="">
Usage:s <usage>
Definition at line 31 of file FWSimpleProxyBuilder.h.
FWSimpleProxyBuilder::FWSimpleProxyBuilder | ( | const std::type_info & | iType | ) |
Definition at line 33 of file FWSimpleProxyBuilder.cc.
: m_helper(iType) { }
FWSimpleProxyBuilder::~FWSimpleProxyBuilder | ( | ) | [virtual] |
Definition at line 43 of file FWSimpleProxyBuilder.cc.
{ }
FWSimpleProxyBuilder::FWSimpleProxyBuilder | ( | const FWSimpleProxyBuilder & | ) | [private] |
void FWSimpleProxyBuilder::build | ( | const FWEventItem * | iItem, |
TEveElementList * | product, | ||
const FWViewContext * | vc | ||
) | [protected, virtual] |
Reimplemented from FWProxyBuilderBase.
Definition at line 89 of file FWSimpleProxyBuilder.cc.
References FWProxyBuilderBase::build(), FWProxyBuilderBase::createCompound(), getHLTprescales::index, m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), FWSimpleProxyHelper::offsetObject(), findQualityFiles::size, and FWEventItem::size().
{ size_t size = iItem->size(); TEveElement::List_i pIdx = product->BeginChildren(); for (int index = 0; index < static_cast<int>(size); ++index) { TEveElement* itemHolder = 0; if (index < product->NumChildren()) { itemHolder = *pIdx; itemHolder->SetRnrSelfChildren(true, true); ++pIdx; } else { itemHolder = createCompound(); product->AddElement(itemHolder); } if (iItem->modelInfo(index).displayProperties().isVisible()) { const void* modelData = iItem->modelData(index); build(m_helper.offsetObject(modelData),index, *itemHolder, vc); } } }
virtual void FWSimpleProxyBuilder::build | ( | const void * | , |
unsigned int | iIndex, | ||
TEveElement & | iItemHolder, | ||
const FWViewContext * | |||
) | [private, pure virtual] |
Implemented in FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, FWSimpleProxyBuilderTemplate< SiStripCluster >, FWSimpleProxyBuilderTemplate< SimVertex >, FWSimpleProxyBuilderTemplate< reco::Track >, FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle >, FWSimpleProxyBuilderTemplate< BeamSpotOnline >, FWSimpleProxyBuilderTemplate< TrackingParticle >, FWSimpleProxyBuilderTemplate< reco::MET >, FWSimpleProxyBuilderTemplate< reco::Photon >, FWSimpleProxyBuilderTemplate< reco::Vertex >, FWSimpleProxyBuilderTemplate< reco::Candidate >, FWSimpleProxyBuilderTemplate< DTRecSegment4D >, FWSimpleProxyBuilderTemplate< reco::SecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::Conversion >, FWSimpleProxyBuilderTemplate< reco::BeamSpot >, FWSimpleProxyBuilderTemplate< reco::GsfElectron >, FWSimpleProxyBuilderTemplate< RPCRecHit >, FWSimpleProxyBuilderTemplate< reco::CaloCluster >, FWSimpleProxyBuilderTemplate< reco::PFJet >, FWSimpleProxyBuilderTemplate< reco::Muon >, and FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >.
virtual void FWSimpleProxyBuilder::buildViewType | ( | const void * | , |
unsigned int | iIndex, | ||
TEveElement & | iItemHolder, | ||
FWViewType::EType | , | ||
const FWViewContext * | |||
) | [private, pure virtual] |
Implemented in FWSimpleProxyBuilderTemplate< T >, FWSimpleProxyBuilderTemplate< DTRecHit1DPair >, FWSimpleProxyBuilderTemplate< reco::PFBlock >, FWSimpleProxyBuilderTemplate< pat::Jet >, FWSimpleProxyBuilderTemplate< reco::Jet >, FWSimpleProxyBuilderTemplate< PSimHit >, FWSimpleProxyBuilderTemplate< TrackingVertex >, FWSimpleProxyBuilderTemplate< CSCSegment >, FWSimpleProxyBuilderTemplate< CSCRecHit2D >, FWSimpleProxyBuilderTemplate< reco::PFCluster >, FWSimpleProxyBuilderTemplate< reco::PFCandidate >, FWSimpleProxyBuilderTemplate< reco::GenParticle >, FWSimpleProxyBuilderTemplate< SiStripCluster >, FWSimpleProxyBuilderTemplate< SimVertex >, FWSimpleProxyBuilderTemplate< reco::Track >, FWSimpleProxyBuilderTemplate< l1extra::L1EmParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1EtMissParticle >, FWSimpleProxyBuilderTemplate< l1extra::L1MuonParticle >, FWSimpleProxyBuilderTemplate< BeamSpotOnline >, FWSimpleProxyBuilderTemplate< TrackingParticle >, FWSimpleProxyBuilderTemplate< reco::MET >, FWSimpleProxyBuilderTemplate< reco::Photon >, FWSimpleProxyBuilderTemplate< reco::Vertex >, FWSimpleProxyBuilderTemplate< reco::Candidate >, FWSimpleProxyBuilderTemplate< DTRecSegment4D >, FWSimpleProxyBuilderTemplate< reco::SecondaryVertexTagInfo >, FWSimpleProxyBuilderTemplate< reco::Conversion >, FWSimpleProxyBuilderTemplate< reco::BeamSpot >, FWSimpleProxyBuilderTemplate< reco::GsfElectron >, FWSimpleProxyBuilderTemplate< RPCRecHit >, FWSimpleProxyBuilderTemplate< reco::CaloCluster >, FWSimpleProxyBuilderTemplate< reco::PFJet >, FWSimpleProxyBuilderTemplate< reco::Muon >, and FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >.
void FWSimpleProxyBuilder::buildViewType | ( | const FWEventItem * | iItem, |
TEveElementList * | product, | ||
FWViewType::EType | viewType, | ||
const FWViewContext * | vc | ||
) | [protected, virtual] |
Reimplemented from FWProxyBuilderBase.
Definition at line 117 of file FWSimpleProxyBuilder.cc.
References FWProxyBuilderBase::createCompound(), getHLTprescales::index, m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), FWSimpleProxyHelper::offsetObject(), findQualityFiles::size, and FWEventItem::size().
Referenced by visibilityModelChanges().
{ size_t size = iItem->size(); TEveElement::List_i pIdx = product->BeginChildren(); for (int index = 0; index < static_cast<int>(size); ++index) { TEveElement* itemHolder = 0; if (index < product->NumChildren()) { itemHolder = *pIdx; itemHolder->SetRnrSelfChildren(true, true); ++pIdx; } else { itemHolder = createCompound(); product->AddElement(itemHolder); } if (iItem->modelInfo(index).displayProperties().isVisible()) { const void* modelData = iItem->modelData(index); buildViewType(m_helper.offsetObject(modelData),index, *itemHolder, viewType, vc); } } }
void FWSimpleProxyBuilder::clean | ( | ) | [protected, virtual] |
Reimplemented from FWProxyBuilderBase.
Definition at line 64 of file FWSimpleProxyBuilder.cc.
References FWProxyBuilderBase::cleanLocal(), i, and FWProxyBuilderBase::m_products.
{ for (Product_it i = m_products.begin(); i != m_products.end(); ++i) { if ((*i)->m_elements) { TEveElement* elms = (*i)->m_elements; for (TEveElement::List_i it = elms->BeginChildren(); it != elms->EndChildren(); ++it) (*it)->DestroyElements(); } } cleanLocal(); }
void FWSimpleProxyBuilder::itemChangedImp | ( | const FWEventItem * | iItem | ) | [private, virtual] |
Definition at line 80 of file FWSimpleProxyBuilder.cc.
References FWSimpleProxyHelper::itemChanged(), and m_helper.
{ if (iItem) { m_helper.itemChanged(iItem); } }
const FWSimpleProxyBuilder& FWSimpleProxyBuilder::operator= | ( | const FWSimpleProxyBuilder & | ) | [private] |
std::string FWSimpleProxyBuilder::typeOfBuilder | ( | ) | [static] |
Used by the plugin system to determine how the proxy uses the data from FWEventItem.
Reimplemented from FWProxyBuilderBase.
Reimplemented in FWPFClusterLegoProxyBuilder.
Definition at line 173 of file FWSimpleProxyBuilder.cc.
{ return std::string("simple#"); }
bool FWSimpleProxyBuilder::visibilityModelChanges | ( | const FWModelId & | iId, |
TEveElement * | iCompound, | ||
FWViewType::EType | viewType, | ||
const FWViewContext * | vc | ||
) | [private, virtual] |
Reimplemented from FWProxyBuilderBase.
Definition at line 146 of file FWSimpleProxyBuilder.cc.
References FWProxyBuilderBase::build(), buildViewType(), FWEventItem::ModelInfo::displayProperties(), FWProxyBuilderBase::haveSingleProduct(), FWModelId::index(), info, FWDisplayProperties::isVisible(), FWModelId::item(), m_helper, FWEventItem::modelData(), FWEventItem::modelInfo(), and FWSimpleProxyHelper::offsetObject().
{ const FWEventItem::ModelInfo& info = iId.item()->modelInfo(iId.index()); bool returnValue = false; if (info.displayProperties().isVisible() && iCompound->NumChildren()==0) { const void* modelData = iId.item()->modelData(iId.index()); if (haveSingleProduct()) build(m_helper.offsetObject(modelData),iId.index(),*iCompound, vc); else buildViewType(m_helper.offsetObject(modelData),iId.index(),*iCompound, viewType, vc); returnValue=true; } return returnValue; }
FWSimpleProxyHelper FWSimpleProxyBuilder::m_helper [protected] |
Definition at line 51 of file FWSimpleProxyBuilder.h.
Referenced by build(), buildViewType(), itemChangedImp(), FWSimpleProxyBuilderTemplate< l1extra::L1JetParticle >::modelData(), and visibilityModelChanges().