CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FWEveView.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Core
4 // Class : FWEveView
5 //
6 // Implementation:
7 // [Notes on implementation]
8 //
9 // Original Author: Alja Mrak-Tadel
10 // Created: Thu Mar 16 14:11:32 CET 2010
11 //
12 
13 
14 
15 #include <RVersion.h>
16 #include <boost/bind.hpp>
17 #include <stdexcept>
18 
19 
20 // user include files
21 
22 #define private public
23 #include "TGLOrthoCamera.h"
24 #include "TGLPerspectiveCamera.h"
25 #undef private
26 #include "TGLCameraGuide.h"
27 
28 #include "TGLEmbeddedViewer.h"
29 #include "TEveViewer.h"
30 #include "TGLScenePad.h"
31 #include "TEveManager.h"
32 #include "TEveElement.h"
33 #include "TEveWindow.h"
34 #include "TEveScene.h"
35 #define protected public
36 #include "TEveCalo.h"
37 #undef protected
38 #include "TGLOverlay.h"
39 
55 
56 namespace fireworks
57 {
58 class Context;
59 }
60 
61 /* This class is temporary workaround for missing in TGLAnnotation functionality */
62 class ScaleAnnotation : public TGLAnnotation
63 {
64 public:
65  ScaleAnnotation(TGLViewerBase* parent, const char* text, Float_t posx, Float_t posy):
66  TGLAnnotation(parent, text, posx, posy) {}
67  virtual ~ScaleAnnotation() {}
68 
69  void setText(const char* txt)
70  {
71  fText = txt;
72  }
73 };
74 
75 //
76 // constructors and destructor
77 //
78 
79 FWEveView::FWEveView(TEveWindowSlot* iParent, FWViewType::EType type, unsigned int version) :
80  FWViewBase(type, version),
81  m_context(0),
82  m_viewer(0),
83  m_eventScene(0),
84  m_ownedProducts(0),
85  m_geoScene(0),
86  m_overlayEventInfo(0),
87  m_overlayLogo(0),
88  m_energyMaxValAnnotation(0),
89  m_cameraGuide(0),
90  // style
91 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,26,0)
92  m_imageScale(this, "Image Scale", 1.0, 1.0, 6.0),
93 #endif
94  m_eventInfoLevel(this, "Overlay Event Info", 0l, 0l, 2l),
95  m_drawCMSLogo(this,"Show Logo",false),
96  m_pointSmooth(this, "Smooth points", false),
97  m_pointSize(this, "Point size", 1.0, 1.0, 10.0),
98  m_lineSmooth(this, "Smooth lines", false),
99  m_lineWidth(this,"Line width",1.0,1.0,10.0),
100  m_lineOutlineScale(this, "Outline width scale", 1.0, 0.01, 10.0),
101  m_lineWireframeScale(this, "Wireframe width scale", 1.0, 0.01, 10.0),
102  m_showCameraGuide(this,"Show Camera Guide",false),
103  m_useGlobalEnergyScale(this, "UseGlobalEnergyScale", true),
104  m_viewContext( new FWViewContext()),
105  m_localEnergyScale( new FWViewEnergyScale(FWViewType::idToName(type), version)),
106  m_viewEnergyScaleEditor(0)
107 {
108  m_viewer = new TEveViewer(typeName().c_str());
109 
110  TGLEmbeddedViewer* embeddedViewer;
111 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,25,4)
112  embeddedViewer = m_viewer->SpawnGLEmbeddedViewer(0);
113 #else
114  embeddedViewer = m_viewer->SpawnGLEmbeddedViewer();
115 #endif
116  iParent->ReplaceWindow(m_viewer);
117  gEve->GetViewers()->AddElement(m_viewer);
118 
119  m_eventScene = gEve->SpawnNewScene(Form("EventScene %s", typeName().c_str()));
120  m_ownedProducts = new TEveElementList("ViewSpecificProducts");
121  m_eventScene->AddElement(m_ownedProducts);
122 
123  m_viewer->AddScene(m_eventScene);
124 
125  // spawn geo scene
126  m_geoScene = gEve->SpawnNewScene(Form("GeoScene %s", typeName().c_str()));
127  m_geoScene->GetGLScene()->SetSelectable(kFALSE);
128  m_viewer->AddScene(m_geoScene);
129 
130  FWGLEventHandler* eh = new FWGLEventHandler((TGWindow*)embeddedViewer->GetGLWidget(), (TObject*)embeddedViewer);
131  embeddedViewer->SetEventHandler(eh);
132  eh->setViewer(this);
134  eh->SetDoInternalSelection(kFALSE);
136  // ctxHand->setPickCameraCenter(true);
137  m_viewContextMenu.reset(ctxHand);
138 
139  m_energyMaxValAnnotation = new ScaleAnnotation(viewerGL(), "empty", 0.1, 0.9);
140  m_energyMaxValAnnotation->SetRole(TGLOverlayElement::kViewer);
141  m_energyMaxValAnnotation->SetState(TGLOverlayElement::kInvisible);
142  m_energyMaxValAnnotation->SetUseColorSet(false);
143  m_energyMaxValAnnotation->SetTextSize(0.05);
144  m_energyMaxValAnnotation->SetTextColor(kMagenta);
145 
146  // style params
147 
148  m_overlayEventInfo = new FWEventAnnotation(embeddedViewer);
150 
151  m_eventInfoLevel.addEntry(0, "Nothing");
152  m_eventInfoLevel.addEntry(1, "Run / event");
153  m_eventInfoLevel.addEntry(2, "Run / event / lumi");
154  m_eventInfoLevel.addEntry(3, "Full");
156 
157  m_overlayLogo = new CmsAnnotation(embeddedViewer, 0.02, 0.98);
158  m_overlayLogo->setVisible(false);
160 
161  m_cameraGuide = new TGLCameraGuide(0.9, 0.1, 0.08);
162  m_cameraGuide->SetState(TGLOverlayElement::kInvisible);
163  embeddedViewer->AddOverlayElement(m_cameraGuide);
164  m_showCameraGuide.changed_.connect(boost::bind(&FWEveView::cameraGuideChanged,this));
165 
166  m_pointSmooth.changed_.connect(boost::bind(&FWEveView::pointLineScalesChanged,this));
167  m_pointSize.changed_.connect(boost::bind(&FWEveView::pointLineScalesChanged,this));
168  m_lineSmooth.changed_.connect(boost::bind(&FWEveView::pointLineScalesChanged,this));
169  m_lineWidth.changed_.connect(boost::bind(&FWEveView::pointLineScalesChanged,this));
172 
173 
174  // create scale for view ..
175  m_viewContext->setEnergyScale(m_localEnergyScale.get());
177  m_localEnergyScale->parameterChanged_.connect(boost::bind(&FWEveView::setupEnergyScale, this));
178 }
179 
181 {
182  m_geoScene->RemoveElements();
183  m_eventScene->RemoveElements();
184  m_viewer->DestroyWindowAndSlot();
185 }
186 
187 //______________________________________________________________________________
188 // const member functions
189 
190 
193  return dynamic_cast<FWViewContextMenuHandlerBase*> (m_viewContextMenu.get());
194 }
195 
196 TGLViewer*
198 {
199  return m_viewer->GetGLViewer();
200 }
201 
202 void
204 {
205  bool succeeded = false;
206 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,26,0)
207  succeeded = viewerGL()->SavePictureScale(iName, m_imageScale.value());
208 #else
209  succeeded = viewerGL()->SavePicture(iName.c_str());
210 #endif
211 
212  if(!succeeded) {
213  throw std::runtime_error("Unable to save picture");
214  }
215  fwLog(fwlog::kInfo) << "Saved image " << iName << std::endl;
216 }
217 
218 //-------------------------------------------------------------------------------
219 void
221 {
222  viewerGL()->SetSmoothPoints(m_pointSmooth.value());
223  viewerGL()->SetPointScale (m_pointSize.value());
224  viewerGL()->SetSmoothLines (m_lineSmooth.value());
225  viewerGL()->SetLineScale (m_lineWidth.value());
226  viewerGL()->SetOLLineW (m_lineOutlineScale.value());
227  viewerGL()->SetWFLineW (m_lineWireframeScale.value());
228  viewerGL()->Changed();
229  gEve->Redraw3D();
230 }
231 
232 void
234 {
235  m_cameraGuide->SetBinaryState(m_showCameraGuide.value());
236  viewerGL()->Changed();
237  gEve->Redraw3D();
238 }
239 
240 void
242 {
243 }
244 
245 void
247 {
250 }
251 
252 void
254 {
256 }
257 
258 void
260 {
261  viewerGL()->ResetCurrentCamera();
262 }
263 
264 //______________________________________________________________________________
265 void
267 {
268  m_context = &x ;
269 
270  // in constructor view context has local scale
272  m_viewContext->setEnergyScale(context().commonPrefs()->getEnergyScale());
273 }
274 
275 bool
277 {
278  return m_useGlobalEnergyScale.value();
279 }
280 
281 void
283 {
287 }
288 
289 void
291 {
292  TEveCaloViz* calo = getEveCalo();
293  if (calo)
294  context().voteMaxEtAndEnergy(calo->GetData()->GetMaxVal(1), calo->GetData()->GetMaxVal(0));
295 }
296 
297 void
299 {
300  // Called at end of event OR if scale parameters changed.
301 
302  FWViewEnergyScale* energyScale = viewContext()->getEnergyScale();
303  // printf("setupEnergyScale %s >> scale name %s\n", typeName().c_str(), energyScale->name().c_str());
304  voteCaloMaxVal();
305 
306  // set cache for energy to lenght conversion
307  float maxVal = context().getMaxEnergyInEvent(energyScale->getPlotEt());
308  energyScale->updateScaleFactors(maxVal);
309  // printf("max event val %f \n", maxVal);
310  // printf("scales lego %f \n", energyScale->getScaleFactorLego());
311 
312  // configure TEveCaloViz
313  TEveCaloViz* calo = getEveCalo();
314  if (calo)
315  {
316  calo->SetPlotEt(energyScale->getPlotEt());
317  if (FWViewType::isLego(typeId()))
318  {
319  float f = energyScale->getScaleFactorLego();
320  calo->SetMaxValAbs(TMath::Pi()/f);
321  }
322  else
323  {
324  float f = energyScale->getScaleFactor3D();
325  calo->SetMaxValAbs(100/f);
326  }
327  calo->ElementChanged();
328  }
329 
330  // emit signal to proxy builders
332  gEve->Redraw3D();
333 }
334 
335 //-------------------------------------------------------------------------------
336 void
338 {
339  // take care of parameters
341 
342  {
343  assert ( m_overlayEventInfo );
345  }
346  {
347  assert ( m_overlayLogo );
348  m_overlayLogo->addTo(iTo);
349  }
350 
351  m_viewContext->getEnergyScale()->addTo(iTo);
352 }
353 
354 void
356 {
357  // Make sure you change the version ranges here
358  // whenever you update the logic.
359  // The rationale should be:
360  // (version range supported by the next block) && (version range in the configuration file)
361  //
362  // This is not "forward" compatible, but I don't think
363  // we care.
364  if (version() >= 2 && iFrom.version() >= 1)
365  {
366  for(const_iterator it =begin(), itEnd = end();
367  it != itEnd;
368  ++it) {
369  (*it)->setFrom(iFrom);
370  }
371  }
372  if (iFrom.version() > 1)
373  {
374  assert( m_overlayEventInfo);
375  m_overlayEventInfo->setFrom(iFrom);
376  }
377  {
378  assert( m_overlayLogo);
379  m_overlayLogo->setFrom(iFrom);
380  }
381 
382  if (iFrom.version() > 4)
383  {
384  m_localEnergyScale->setFrom(iFrom);
385  }
386 
387 
388  // selection clors
389  {
390  const TGLColorSet& lcs = context().commonPrefs()->getLightColorSet();
391  const TGLColorSet& dcs = context().commonPrefs()->getDarkColorSet();
392  const UChar_t* ca = 0;
393 
394  ca = lcs.Selection(1).CArr();
395  viewerGL()->RefLightColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
396  ca = lcs.Selection(3).CArr();
397  viewerGL()->RefLightColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
398  ca = dcs.Selection(1).CArr();
399  viewerGL()->RefDarkColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
400  ca = dcs.Selection(3).CArr();
401  viewerGL()->RefDarkColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
402  }
403 }
404 
405 //______________________________________________________________________________
406 
407 
408 void
409 FWEveView::addToOrthoCamera(TGLOrthoCamera* camera, FWConfiguration& iTo) const
410 {
411  // zoom
412  std::ostringstream s;
413  s<<(camera->fZoom);
414  std::string name("cameraZoom");
415  iTo.addKeyValue(name+typeName(),FWConfiguration(s.str()));
416 
417  // transformation matrix
418  std::string matrixName("cameraMatrix");
419  for ( unsigned int i = 0; i < 16; ++i ) {
420  std::ostringstream osIndex;
421  osIndex << i;
422  std::ostringstream osValue;
423  osValue << camera->GetCamTrans()[i];
424  iTo.addKeyValue(matrixName+osIndex.str()+typeName(),FWConfiguration(osValue.str()));
425  }
426 }
427 
428 void
429 FWEveView::setFromOrthoCamera(TGLOrthoCamera* camera, const FWConfiguration& iFrom)
430 {
431  try {
432  // zoom
433  std::string zoomName("cameraZoom"); zoomName += typeName();
434  if (iFrom.valueForKey(zoomName) == 0 )
435  {
436  throw std::runtime_error("can't restore parameter cameraZoom");
437  }
438  std::istringstream s(iFrom.valueForKey(zoomName)->value());
439  s>>(camera->fZoom);
440 
441  // transformation matrix
442  std::string matrixName("cameraMatrix");
443  for ( unsigned int i = 0; i < 16; ++i ) {
444  std::ostringstream os;
445  os << i;
446  const FWConfiguration* value = iFrom.valueForKey( matrixName + os.str() + typeName() );
447  if ( value == 0 )
448  {
449  throw std::runtime_error ("can't restore parameter cameraMatrix.");
450  }
451  std::istringstream s(value->value());
452  s>> (camera->RefCamTrans()[i]);
453  }
454  }
455  catch (const std::runtime_error& iException)
456  {
457  fwLog(fwlog::kInfo) << "Caught exception while restoring camera parameters in view " << typeName() << "\n.";
458  viewerGL()->ResetCamerasAfterNextUpdate();
459 
460  }
461  camera->IncTimeStamp();
462 }
463 
464 void
465 FWEveView::addToPerspectiveCamera(TGLPerspectiveCamera* cam, const std::string& name, FWConfiguration& iTo) const
466 {
467  // transformation matrix
468  std::string matrixName("cameraMatrix");
469  for ( unsigned int i = 0; i < 16; ++i ){
470  std::ostringstream osIndex;
471  osIndex << i;
472  std::ostringstream osValue;
473  osValue << (cam->GetCamTrans())[i];
474  iTo.addKeyValue(matrixName+osIndex.str()+name,FWConfiguration(osValue.str()));
475  }
476 
477  // transformation matrix base
478  matrixName = "cameraMatrixBase";
479  for ( unsigned int i = 0; i < 16; ++i ){
480  std::ostringstream osIndex;
481  osIndex << i;
482  std::ostringstream osValue;
483  osValue << (cam->GetCamBase())[i];
484  iTo.addKeyValue(matrixName+osIndex.str()+name,FWConfiguration(osValue.str()));
485  }
486  {
487  std::ostringstream osValue;
488  osValue << cam->fFOV;
489  iTo.addKeyValue(name+" FOV",FWConfiguration(osValue.str()));
490  }
491 }
492 
493 void
494 FWEveView::setFromPerspectiveCamera(TGLPerspectiveCamera* cam, const std::string& name, const FWConfiguration& iFrom)
495 {
496  try {
497  std::string matrixName("cameraMatrix");
498  for ( unsigned int i = 0; i < 16; ++i ){
499  std::ostringstream os;
500  os << i;
501  const FWConfiguration* value = iFrom.valueForKey( matrixName + os.str() + name );
502  if ( value == 0 )
503  {
504  throw std::runtime_error ("can't restore parameter cameraMatrix.");
505  }
506  std::istringstream s(value->value());
507  s>>((cam->RefCamTrans())[i]);
508  }
509 
510  // transformation matrix base
511  matrixName = "cameraMatrixBase";
512  for ( unsigned int i = 0; i < 16; ++i ){
513  std::ostringstream os;
514  os << i;
515  const FWConfiguration* value = iFrom.valueForKey( matrixName + os.str() + name );
516  if ( value == 0 )
517  {
518  throw std::runtime_error ("can't restore parameter cameraMatrixBase.");
519  }
520 
521  std::istringstream s(value->value());
522  s>>((cam->RefCamBase())[i]);
523  }
524 
525  {
526  const FWConfiguration* value = iFrom.valueForKey( name + " FOV" );
527  if ( value == 0 )
528  {
529  throw std::runtime_error ("can't restore parameter cameraMatrixBase.");
530  }
531  std::istringstream s(value->value());
532  s>>cam->fFOV;
533  }
534 
535  cam->IncTimeStamp();
536  }
537  catch (const std::runtime_error& iException)
538  {
539  fwLog(fwlog::kInfo) << "Caught exception while restoring camera parameters in view " << typeName() << "\n.";
540  viewerGL()->ResetCamerasAfterNextUpdate();
541  fwLog(fwlog::kDebug) << "Reset camera fo view " << typeName() << "\n.";
542  }
543 }
544 
545 
546 void
548 {
549  gui.requestTab("Style").
550  addParam(&m_eventInfoLevel).
551  addParam(&m_drawCMSLogo).
552  addParam(&m_showCameraGuide).
553  separator().
554 #if ROOT_VERSION_CODE >= ROOT_VERSION(5,26,0)
555  addParam(&m_imageScale).
556 #endif
557  addParam(&m_pointSize).
558  addParam(&m_pointSmooth).
559  addParam(&m_lineSmooth).
560  addParam(&m_lineWidth).
561  addParam(&m_lineOutlineScale).
562  addParam(&m_lineWireframeScale);
563 
564 
565  gui.requestTab("Scales").
566  addParam(&m_useGlobalEnergyScale);
567 
571 }
void scaleChanged()
const double Pi
type
Definition: HCALResponse.h:21
float getScaleFactor3D() const
int i
Definition: DBlmapReader.cc:9
void addToOrthoCamera(TGLOrthoCamera *, FWConfiguration &) const
Definition: FWEveView.cc:409
FWEventAnnotation * m_overlayEventInfo
Definition: FWEveView.h:118
std::vector< FWParameterBase * >::const_iterator const_iterator
virtual TEveCaloViz * getEveCalo() const
Definition: FWEveView.h:95
list parent
Definition: dbtoconf.py:74
virtual ~FWEveView()
Definition: FWEveView.cc:180
virtual void useGlobalEnergyScaleChanged()
Definition: FWEveView.cc:282
const_iterator begin() const
std::auto_ptr< FWViewContext > m_viewContext
Definition: FWEveView.h:145
TEveViewer * m_viewer
Definition: FWEveView.h:113
virtual void populateController(ViewerParameterGUI &) const
Definition: FWEveView.cc:547
virtual void pointLineScalesChanged()
Definition: FWEveView.cc:220
void voteMaxEtAndEnergy(float Et, float energy) const
Definition: Context.cc:184
ScaleAnnotation(TGLViewerBase *parent, const char *text, Float_t posx, Float_t posy)
Definition: FWEveView.cc:65
ViewerParameterGUI & requestTab(const char *)
FWViewEnergyScale * getEnergyScale() const
virtual void setFrom(const FWConfiguration &)
Definition: FWEveView.cc:355
const std::string & typeName() const
Definition: FWViewBase.cc:120
virtual void setFrom(const FWConfiguration &)
TEveScene * m_geoScene
Definition: FWEveView.h:116
unsigned int version() const
FWViewEnergyScaleEditor * m_viewEnergyScaleEditor
Definition: FWEveView.h:148
virtual void setupEnergyScale()
Definition: FWEveView.cc:298
void addFrameToContainer(TGCompositeFrame *)
FWDoubleParameter m_pointSize
Definition: FWEveView.h:135
virtual FWViewContextMenuHandlerBase * contextMenuHandler() const
Definition: FWEveView.cc:192
TGLViewer * viewerGL() const
Definition: FWEveView.cc:197
void updateScaleFactors(float iMaxVal)
sigc::signal< void, T > changed_
const fireworks::Context * m_context
Definition: FWEveView.h:104
TEveElement * m_ownedProducts
Definition: FWEveView.h:115
FWBoolParameter m_lineSmooth
Definition: FWEveView.h:136
virtual void eventEnd()
Definition: FWEveView.cc:246
FWBoolParameter m_showCameraGuide
Definition: FWEveView.h:141
FWBoolParameter m_useGlobalEnergyScale
Definition: FWEveView.h:142
virtual void cameraGuideChanged()
Definition: FWEveView.cc:233
virtual void voteCaloMaxVal()
Definition: FWEveView.cc:290
virtual void setFrom(const FWConfiguration &)
virtual void saveImageTo(const std::string &iName) const
Definition: FWEveView.cc:203
ScaleAnnotation * m_energyMaxValAnnotation
Definition: FWEveView.h:120
void setText(const char *txt)
Definition: FWEveView.cc:69
float getScaleFactorLego() const
const_iterator end() const
bool addEntry(Long_t id, const std::string &txt)
const TGLColorSet & getLightColorSet() const
Definition: CmsShowCommon.h:69
double f[11][100]
tuple text
Definition: runonSM.py:42
float getMaxEnergyInEvent(bool isEt) const
Definition: Context.cc:200
virtual void resetCamera()
Definition: FWEveView.cc:259
virtual void addTo(FWConfiguration &) const
sigc::signal< void, Int_t, Int_t > openSelectedModelContextMenu_
FWBoolParameter m_drawCMSLogo
Definition: FWEveView.h:132
void setViewer(FWEveView *ev)
FWConfiguration & addKeyValue(const std::string &, const FWConfiguration &)
virtual void eventBegin()
Definition: FWEveView.cc:241
std::auto_ptr< FWViewEnergyScale > m_localEnergyScale
Definition: FWEveView.h:146
const std::string & value(unsigned int iIndex=0) const
const fireworks::Context & context()
Definition: FWEveView.h:64
FWBoolParameter m_pointSmooth
Definition: FWEveView.h:134
FWDoubleParameter m_imageScale
Definition: FWEveView.h:129
void setFromPerspectiveCamera(TGLPerspectiveCamera *, const std::string &, const FWConfiguration &)
Definition: FWEveView.cc:494
#define fwLog(_level_)
Definition: fwLog.h:50
FWViewContext * viewContext()
Definition: FWEveView.h:79
FWViewEnergyScale * getEnergyScale() const
Definition: CmsShowCommon.h:67
virtual ~ScaleAnnotation()
Definition: FWEveView.cc:67
virtual void setBackgroundColor(Color_t)
Definition: FWEveView.cc:253
FWEveView(TEveWindowSlot *, FWViewType::EType, unsigned int version=7)
Definition: FWEveView.cc:79
FWDoubleParameter m_lineOutlineScale
Definition: FWEveView.h:138
const TGLColorSet & getDarkColorSet() const
Definition: CmsShowCommon.h:70
CmsShowCommon * commonPrefs() const
Definition: Context.cc:178
TGCompositeFrame * getTabContainer()
TEveScene * m_eventScene
Definition: FWEveView.h:114
FWEnumParameter m_eventInfoLevel
Definition: FWEveView.h:131
static bool isLego(int)
Definition: FWViewType.cc:135
static Bool_t setColorSetViewer(TGLViewer *, Color_t)
boost::shared_ptr< FWViewContextMenuHandlerGL > m_viewContextMenu
Definition: FWEveView.h:144
virtual void addTo(FWConfiguration &) const
const FWConfiguration * valueForKey(const std::string &iKey) const
volatile std::atomic< bool > shutdown_flag false
Definition: DDAxes.h:10
virtual bool isEnergyScaleGlobal() const
Definition: FWEveView.cc:276
FWDoubleParameter m_lineWidth
Definition: FWEveView.h:137
if(conf.exists("allCellsPositionCalc"))
FWDoubleParameter m_lineWireframeScale
Definition: FWEveView.h:139
void setFromOrthoCamera(TGLOrthoCamera *, const FWConfiguration &)
Definition: FWEveView.cc:429
virtual void addTo(FWConfiguration &) const
Definition: FWEveView.cc:337
void setVisible(bool x)
sigc::signal< void, Int_t, Int_t > openSelectedModelContextMenu_
Definition: FWViewBase.h:56
TGLCameraGuide * m_cameraGuide
Definition: FWEveView.h:121
virtual void setContext(const fireworks::Context &x)
Definition: FWEveView.cc:266
bool getPlotEt() const
CmsAnnotation * m_overlayLogo
Definition: FWEveView.h:119
virtual void addTo(FWConfiguration &) const
FWViewType::EType typeId() const
Definition: FWViewBase.h:41
void addToPerspectiveCamera(TGLPerspectiveCamera *, const std::string &, FWConfiguration &) const
Definition: FWEveView.cc:465