118 TEveElementList* elms = (*i)->m_elements;
119 size_t oldSize = elms->NumChildren();
130 TEveProjectable* pable =
dynamic_cast<TEveProjectable*
>(elms);
131 if (pable->HasProjecteds()) {
133 for (TEveProjectable::ProjList_i
i = pable->BeginProjecteds();
i != pable->EndProjecteds(); ++
i) {
134 TEveProjectionManager* pmgr = (*i)->GetManager();
135 Float_t oldDepth = pmgr->GetCurrentDepth();
139 TEveElement* projectedAsElement = (*i)->GetProjectedAsElement();
140 TEveElement::List_i parentIt = projectedAsElement->BeginChildren();
141 for (TEveElement::List_i prodIt = elms->BeginChildren(); prodIt != elms->EndChildren(); ++prodIt, ++cnt) {
144 if ((*parentIt)->NumChildren()) {
146 for (TEveElement::List_i pci = (*parentIt)->BeginChildren(); pci != (*parentIt)->EndChildren(); pci++)
147 pmgr->ProjectChildrenRecurse(*parentIt);
150 pmgr->SubImportChildren(*prodIt, *parentIt);
154 }
else if (cnt < itemSize) {
156 pmgr->SubImportElements(*prodIt, projectedAsElement);
161 pmgr->SetCurrentDepth(oldDepth);
166 TEveElement::List_i elIt = elms->BeginChildren();
167 for (
size_t cnt = 0; cnt < itemSize; ++cnt, ++elIt) {
173 }
catch (
const std::runtime_error& iException) {
175 << iException.what() << std::endl;
virtual void buildViewType(const FWEventItem *iItem, TEveElementList *, FWViewType::EType, const FWViewContext *)
std::vector< Product * >::iterator Product_it
std::vector< Product * > m_products
virtual bool haveSingleProduct() const
const FWEventItem * m_item
void added(TEveElement *, unsigned int)
const std::string & name() const
FWInteractionList * m_interactionList
const FWEventItem * item() const