FW3DViewBase

Macros

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
#ifndef Fireworks_Core_FW3DViewBase_h
#define Fireworks_Core_FW3DViewBase_h
// -*- C++ -*-
//
// Package:     Core
// Class  :     FW3DViewBase
//
/**\class FW3DViewBase FW3DViewBase.h Fireworks/Core/interface/FW3DViewBase.h

   Description: <one line class summary>

   Usage:
    <usage>

 */
//
// Original Author:  Chris Jones
//         Created:  Thu Feb 21 11:22:37 EST 2008
//

// system include files

// user include files
#include "Rtypes.h"
#include "Fireworks/Core/interface/FWEveView.h"
#include "Fireworks/Core/interface/fwLog.h"
#include "Fireworks/Core/interface/FWLongParameter.h"
#include "Fireworks/Core/interface/FWBoolParameter.h"
// forward declarations
class TEveElementList;
class TEveGeoShape;
class TEveWindowSlot;

class FW3DViewGeometry;
class FWColorManager;
class TGLClip;
class TEveLine;
class TEveBoxSet;

class FW3DViewDistanceMeasureTool;

class FW3DViewBase : public FWEveView {
public:
  FW3DViewBase(TEveWindowSlot*, FWViewType::EType, unsigned int version = 8);
  ~FW3DViewBase() override;

  // ---------- const member functions ---------------------

  void addTo(FWConfiguration&) const override;
  void populateController(ViewerParameterGUI&) const override;

  // ---------- static member functions --------------------

  // ---------- member functions ---------------------------
  void setContext(const fireworks::Context&) override;
  void setFrom(const FWConfiguration&) override;

  // To be fixed.
  void updateGlobalSceneScaleParameters();

  FW3DViewDistanceMeasureTool* getDMT() { return m_DMT; }
  bool requestGLHandlerPick() const override;
  void setCurrentDMTVertex(double x, double y, double z);

  void showEcalBarrel(bool);

  void setClip(float eta, float phi);

private:
  FW3DViewBase(const FW3DViewBase&);  // stop default

  const FW3DViewBase& operator=(const FW3DViewBase&);  // stop default

  // ---------- member data --------------------------------
  FW3DViewGeometry* m_geometry;
  TGLClip* m_glClip;

  // parameters
  FWEnumParameter m_showMuonBarrel;
  FWBoolParameter m_showMuonEndcap;
  FWBoolParameter m_showPixelBarrel;
  FWBoolParameter m_showPixelEndcap;
  FWBoolParameter m_showTrackerBarrel;
  FWBoolParameter m_showTrackerEndcap;
  FWBoolParameter m_showHGCalEE;
  FWBoolParameter m_showHGCalHSi;
  FWBoolParameter m_showHGCalHSc;
  FWBoolParameter m_showMtdBarrel;
  FWBoolParameter m_showMtdEndcap;

  TEveBoxSet* m_ecalBarrel;
  FWBoolParameter m_showEcalBarrel;

  FWEnumParameter m_rnrStyle;
  FWBoolParameter m_selectable;

  FWEnumParameter m_cameraType;

  FWBoolParameter m_clipEnable;
  FWDoubleParameter m_clipTheta;
  FWDoubleParameter m_clipPhi;
  FWDoubleParameter m_clipDelta1;
  FWDoubleParameter m_clipDelta2;
  FWLongParameter m_clipAppexOffset;
  FWLongParameter m_clipHGCalLayerBegin;
  FWLongParameter m_clipHGCalLayerEnd;

  FW3DViewDistanceMeasureTool* m_DMT;
  TEveLine* m_DMTline;

  void selectable(bool);

  void enableSceneClip(bool);
  void updateClipPlanes(bool resetCamera);
  void updateHGCalVisibility(bool);

  void rnrStyle(long);
  void showMuonBarrel(long);
  void setCameraType(long);
};

#endif