CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

FW3DViewBase Class Reference

#include <Fireworks/Core/interface/FW3DViewBase.h>

Inheritance diagram for FW3DViewBase:
FWEveView FWViewBase FWConfigurableParameterizable FWParameterizable FWConfigurable FW3DView FWISpyView

List of all members.

Public Member Functions

virtual void addTo (FWConfiguration &) const
 FW3DViewBase (TEveWindowSlot *, FWViewType::EType)
virtual void populateController (ViewerParameterGUI &) const
virtual void setContext (const fireworks::Context &)
virtual void setFrom (const FWConfiguration &)
void updateGlobalSceneScaleParameters ()
virtual ~FW3DViewBase ()

Private Member Functions

 FW3DViewBase (const FW3DViewBase &)
const FW3DViewBaseoperator= (const FW3DViewBase &)
void rnrStyle (long)
void sceneClip (bool)
void selectable (bool)
void showMuonBarrel (long)

Private Attributes

FWBoolParameter m_clipParam
FW3DViewGeometrym_geometry
TGLClip * m_glClip
FWEnumParameter m_rnrStyle
FWBoolParameter m_selectable
FWEnumParameter m_showMuonBarrel
FWBoolParameter m_showMuonEndcap
FWBoolParameter m_showPixelBarrel
FWBoolParameter m_showPixelEndcap
FWBoolParameter m_showTrackerBarrel
FWBoolParameter m_showTrackerEndcap

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 39 of file FW3DViewBase.h.


Constructor & Destructor Documentation

FW3DViewBase::FW3DViewBase ( TEveWindowSlot *  iParent,
FWViewType::EType  typeId 
)

Definition at line 108 of file FW3DViewBase.cc.

References FWEnumParameter::addEntry(), FWGenericParameter< T >::changed_, m_clipParam, m_rnrStyle, m_selectable, m_showMuonBarrel, rnrStyle(), sceneClip(), selectable(), showMuonBarrel(), and FWEveView::viewerGL().

                                                                         :
   FWEveView(iParent, typeId, 8),
   m_geometry(0),
   m_glClip(0),
   m_showMuonBarrel(this, "Show Muon Barrel",  0l, 0l, 2l ),
   m_showMuonEndcap(this, "Show Muon Endcap", false ),
   m_showPixelBarrel(this, "Show Pixel Barrel", false ),
   m_showPixelEndcap(this, "Show Pixel Endcap", false),
   m_showTrackerBarrel(this, "Show Tracker Barrel", false ),
   m_showTrackerEndcap(this, "Show Tracker Endcap", false),
   m_rnrStyle(this, "Render Style", 0l, 0l, 2l),
   m_clipParam(this, "View dependent Clip", false),
   m_selectable(this, "Enable Tooltips", false)
{
   viewerGL()->SetCurrentCamera(TGLViewer::kCameraPerspXOZ);

   m_showMuonBarrel.addEntry(0, "Hide");
   m_showMuonBarrel.addEntry(1, "Simplified");
   m_showMuonBarrel.addEntry(2, "Full");
   m_showMuonBarrel.changed_.connect(boost::bind(&FW3DViewBase::showMuonBarrel,this,_1));

   m_rnrStyle.addEntry(TGLRnrCtx::kFill, "Fill");
   m_rnrStyle.addEntry(TGLRnrCtx::kOutline, "Outline");
   m_rnrStyle.addEntry(TGLRnrCtx::kWireFrame, "WireFrame");
   m_rnrStyle.changed_.connect(boost::bind(&FW3DViewBase::rnrStyle,this, _1));
   m_clipParam.changed_.connect(boost::bind(&FW3DViewBase::sceneClip,this, _1));

   m_selectable.changed_.connect(boost::bind(&FW3DViewBase::selectable,this, _1));

}
FW3DViewBase::~FW3DViewBase ( ) [virtual]

Definition at line 139 of file FW3DViewBase.cc.

References m_glClip.

{
  delete m_glClip;
}
FW3DViewBase::FW3DViewBase ( const FW3DViewBase ) [private]

Member Function Documentation

void FW3DViewBase::addTo ( FWConfiguration iTo) const [virtual]

Reimplemented from FWEveView.

Definition at line 203 of file FW3DViewBase.cc.

References FWEveView::addToPerspectiveCamera(), and FWEveView::viewerGL().

{
   // take care of parameters
   FWEveView::addTo(iTo);
   TGLPerspectiveCamera* camera = dynamic_cast<TGLPerspectiveCamera*>(&(viewerGL()->CurrentCamera()));
   if (camera)
      addToPerspectiveCamera(camera, "Plain3D", iTo);   
}
const FW3DViewBase& FW3DViewBase::operator= ( const FW3DViewBase ) [private]
void FW3DViewBase::populateController ( ViewerParameterGUI gui) const [virtual]

Reimplemented from FWEveView.

Definition at line 236 of file FW3DViewBase.cc.

References ViewerParameterGUI::getTabContainer(), m_clipParam, m_rnrStyle, m_selectable, m_showMuonBarrel, m_showMuonEndcap, m_showPixelBarrel, m_showPixelEndcap, m_showTrackerBarrel, m_showTrackerEndcap, ViewerParameterGUI::requestTab(), ViewerParameterGUI::separator(), and FWEveView::viewerGL().

{
   FWEveView::populateController(gui);

   gui.requestTab("Detector").
      addParam(&m_showMuonBarrel).
      addParam(&m_showMuonEndcap).
      addParam(&m_showTrackerBarrel).
      addParam(&m_showTrackerEndcap).
      addParam(&m_showPixelBarrel).
      addParam(&m_showPixelEndcap).  
      separator().
      addParam(&m_rnrStyle).
      addParam(&m_clipParam).
      addParam(&m_selectable);


   gui.requestTab("Style").separator();
   gui.getTabContainer()->AddFrame(new TGTextButton(gui.getTabContainer(), "Root controls",
                                                    Form("TEveGedEditor::SpawnNewEditor((TGLViewer*)0x%lx)", (unsigned long)viewerGL())));
}
void FW3DViewBase::rnrStyle ( long  x) [private]

Definition at line 173 of file FW3DViewBase.cc.

References FWEveView::geoScene(), and FWEveView::viewerGL().

Referenced by FW3DViewBase().

{
   geoScene()->GetGLScene()->SetStyle(x);  
   viewerGL()->Changed();
   gEve->Redraw3D();
}
void FW3DViewBase::sceneClip ( bool  x) [private]

Definition at line 186 of file FW3DViewBase.cc.

References FWEveView::geoScene(), m_glClip, and FWEveView::viewerGL().

Referenced by FW3DViewBase().

{
   if (m_glClip == 0)  {
      m_glClip = new Clipsi(viewerGL()->GetRnrCtx());
   }

   geoScene()->GetGLScene()->SetClip(x ? m_glClip : 0);
   for (TEveElement::List_i it =gEve->GetScenes()->BeginChildren(); it != gEve->GetScenes()->EndChildren(); ++it )
   {
      if (strncmp((*it)->GetElementName(), "TopGeoNodeScene", 15) == 0)
         ((TEveScene*)(*it))->GetGLScene()->SetClip(x ? m_glClip : 0);
   }
   viewerGL()->RequestDraw();
}
void FW3DViewBase::selectable ( bool  x) [private]

Definition at line 181 of file FW3DViewBase.cc.

References FWEveView::geoScene().

Referenced by FW3DViewBase().

{
      geoScene()->GetGLScene()->SetSelectable(x);
}
void FW3DViewBase::setContext ( const fireworks::Context context) [virtual]
void FW3DViewBase::setFrom ( const FWConfiguration iFrom) [virtual]

Reimplemented from FWEveView.

Definition at line 214 of file FW3DViewBase.cc.

References fireworks::Context::colorManager(), FWEveView::context(), alignCSCRings::s, FWEveView::setFromPerspectiveCamera(), FWColorManager::setGeomTransparency(), AlCaHLTBitMon_QueryRunRegistry::string, FWConfiguration::value(), FWConfiguration::valueForKey(), FWConfiguration::version(), and FWEveView::viewerGL().

{
   // take care of parameters
   FWEveView::setFrom(iFrom);

   TGLPerspectiveCamera* camera = dynamic_cast<TGLPerspectiveCamera*>(&(viewerGL()->CurrentCamera()));
   if (camera)
      setFromPerspectiveCamera(camera, "Plain3D", iFrom);

   if (iFrom.version() < 5)
   {
      // transparency moved to common preferences in FWEveView version 5
      std::string tName("Detector Transparency");
      std::istringstream s(iFrom.valueForKey(tName)->value());
      int transp;
      s>> transp;
      context().colorManager()->setGeomTransparency(transp, false);
   }
}
void FW3DViewBase::showMuonBarrel ( long  x) [private]
void FW3DViewBase::updateGlobalSceneScaleParameters ( )

Member Data Documentation

Definition at line 77 of file FW3DViewBase.h.

Referenced by FW3DViewBase(), and populateController().

Definition at line 65 of file FW3DViewBase.h.

Referenced by setContext(), and showMuonBarrel().

TGLClip* FW3DViewBase::m_glClip [private]

Definition at line 66 of file FW3DViewBase.h.

Referenced by sceneClip(), and ~FW3DViewBase().

Definition at line 76 of file FW3DViewBase.h.

Referenced by FW3DViewBase(), and populateController().

Definition at line 78 of file FW3DViewBase.h.

Referenced by FW3DViewBase(), and populateController().

Definition at line 69 of file FW3DViewBase.h.

Referenced by FW3DViewBase(), and populateController().

Definition at line 70 of file FW3DViewBase.h.

Referenced by populateController(), and setContext().

Definition at line 71 of file FW3DViewBase.h.

Referenced by populateController(), and setContext().

Definition at line 72 of file FW3DViewBase.h.

Referenced by populateController(), and setContext().

Definition at line 73 of file FW3DViewBase.h.

Referenced by populateController(), and setContext().

Definition at line 74 of file FW3DViewBase.h.

Referenced by populateController(), and setContext().