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