CMS 3D CMS Logo

Public Member Functions | Public Attributes

FWProxyBuilderBase::Product Struct Reference

#include <FWProxyBuilderBase.h>

List of all members.

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


Constructor & Destructor Documentation

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

Definition at line 45 of file FWProxyBuilderBase.cc.

References m_elements.

                                                                            : m_viewType(t), m_viewContext(c), m_elements(0)
{
   m_elements = new TEveElementList("ProxyProduct");
   m_elements->IncDenyDestroy();
}
FWProxyBuilderBase::Product::~Product ( )

Definition at line 52 of file FWProxyBuilderBase.cc.

References i, and dbtoconf::parent.

{
   // remove product from projected scene (RhoPhi or RhoZ)
   TEveProjectable* pable = dynamic_cast<TEveProjectable*>(m_elements);
   // don't have to check cast, because TEveElementList is TEveProjectable
   for (TEveProjectable::ProjList_i i = pable->BeginProjecteds(); i != pable->EndProjecteds(); ++i)
   {
      TEveElement* projected  = (*i)->GetProjectedAsElement();
      (*projected->BeginParents())->RemoveElement(projected);
   }

   // remove from 3D scenes
   while (m_elements->HasParents())
   {
      TEveElement* parent = *m_elements->BeginParents();
      parent->RemoveElement(m_elements);
   }

   m_elements->Annihilate();
}

Member Data Documentation

Definition at line 56 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::createProduct().

Definition at line 54 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::modelChanges().

Definition at line 53 of file FWProxyBuilderBase.h.

Referenced by FWProxyBuilderBase::modelChanges().