CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
FWProxyBuilderBase::Product Struct Reference

#include <FWProxyBuilderBase.h>

Public Member Functions

 Product (FWViewType::EType t, const FWViewContext *c)
 
 ~Product ()
 

Public Attributes

TEveElementList * m_elements
 
sigc::connection m_scaleConnection
 
const FWViewContextm_viewContext
 
FWViewType::EType m_viewType
 

Detailed Description

Definition at line 50 of file FWProxyBuilderBase.h.

Constructor & Destructor Documentation

FWProxyBuilderBase::Product::Product ( FWViewType::EType  t,
const FWViewContext c 
)

Definition at line 44 of file FWProxyBuilderBase.cc.

References m_elements.

45 {
46  m_elements = new TEveElementList("ProxyProduct");
47  m_elements->IncDenyDestroy();
48 }
const FWViewContext * m_viewContext
FWProxyBuilderBase::Product::~Product ( )

Definition at line 51 of file FWProxyBuilderBase.cc.

References mps_fire::i, m_elements, and class-composition::parent.

52 {
53  // remove product from projected scene (RhoPhi or RhoZ)
54  TEveProjectable* pable = dynamic_cast<TEveProjectable*>(m_elements);
55  // don't have to check cast, because TEveElementList is TEveProjectable
56  for (TEveProjectable::ProjList_i i = pable->BeginProjecteds(); i != pable->EndProjecteds(); ++i)
57  {
58  TEveElement* projected = (*i)->GetProjectedAsElement();
59  (*projected->BeginParents())->RemoveElement(projected);
60  }
61 
62  // remove from 3D scenes
63  while (m_elements->HasParents())
64  {
65  TEveElement* parent = *m_elements->BeginParents();
66  parent->RemoveElement(m_elements);
67  }
68 
69  m_elements->Annihilate();
70 }

Member Data Documentation

TEveElementList* FWProxyBuilderBase::Product::m_elements
sigc::connection FWProxyBuilderBase::Product::m_scaleConnection

Definition at line 55 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::createProduct().

const FWViewContext* FWProxyBuilderBase::Product::m_viewContext

Definition at line 53 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::modelChanges().

FWViewType::EType FWProxyBuilderBase::Product::m_viewType

Definition at line 52 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::modelChanges().