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 48 of file FWProxyBuilderBase.h.

Constructor & Destructor Documentation

◆ Product()

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

Definition at line 43 of file FWProxyBuilderBase.cc.

References m_elements.

44  : m_viewType(t), m_viewContext(c), m_elements(nullptr) {
45  m_elements = new TEveElementList("ProxyProduct");
46  m_elements->IncDenyDestroy();
47 }
const FWViewContext * m_viewContext

◆ ~Product()

FWProxyBuilderBase::Product::~Product ( )

Definition at line 49 of file FWProxyBuilderBase.cc.

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

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

Member Data Documentation

◆ m_elements

TEveElementList* FWProxyBuilderBase::Product::m_elements

◆ m_scaleConnection

sigc::connection FWProxyBuilderBase::Product::m_scaleConnection

Definition at line 52 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::createProduct().

◆ m_viewContext

const FWViewContext* FWProxyBuilderBase::Product::m_viewContext

Definition at line 50 of file FWProxyBuilderBase.h.

◆ m_viewType

FWViewType::EType FWProxyBuilderBase::Product::m_viewType

Definition at line 49 of file FWProxyBuilderBase.h.