File indexing completed on 2024-04-06 12:11:30
0001 #ifndef Fireworks_Core_FW3DViewBase_h
0002 #define Fireworks_Core_FW3DViewBase_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "Rtypes.h"
0025 #include "Fireworks/Core/interface/FWEveView.h"
0026 #include "Fireworks/Core/interface/fwLog.h"
0027 #include "Fireworks/Core/interface/FWLongParameter.h"
0028 #include "Fireworks/Core/interface/FWBoolParameter.h"
0029
0030 class TEveElementList;
0031 class TEveGeoShape;
0032 class TEveWindowSlot;
0033
0034 class FW3DViewGeometry;
0035 class FWColorManager;
0036 class TGLClip;
0037 class TEveLine;
0038 class TEveBoxSet;
0039
0040 class FW3DViewDistanceMeasureTool;
0041
0042 class FW3DViewBase : public FWEveView {
0043 public:
0044 FW3DViewBase(TEveWindowSlot*, FWViewType::EType, unsigned int version = 8);
0045 ~FW3DViewBase() override;
0046
0047
0048
0049 void addTo(FWConfiguration&) const override;
0050 void populateController(ViewerParameterGUI&) const override;
0051
0052
0053
0054
0055 void setContext(const fireworks::Context&) override;
0056 void setFrom(const FWConfiguration&) override;
0057
0058
0059 void updateGlobalSceneScaleParameters();
0060
0061 FW3DViewDistanceMeasureTool* getDMT() { return m_DMT; }
0062 bool requestGLHandlerPick() const override;
0063 void setCurrentDMTVertex(double x, double y, double z);
0064
0065 void showEcalBarrel(bool);
0066
0067 void setClip(float eta, float phi);
0068
0069 private:
0070 FW3DViewBase(const FW3DViewBase&);
0071
0072 const FW3DViewBase& operator=(const FW3DViewBase&);
0073
0074
0075 FW3DViewGeometry* m_geometry;
0076 TGLClip* m_glClip;
0077
0078
0079 FWEnumParameter m_showMuonBarrel;
0080 FWBoolParameter m_showMuonEndcap;
0081 FWBoolParameter m_showPixelBarrel;
0082 FWBoolParameter m_showPixelEndcap;
0083 FWBoolParameter m_showTrackerBarrel;
0084 FWBoolParameter m_showTrackerEndcap;
0085 FWBoolParameter m_showHGCalEE;
0086 FWBoolParameter m_showHGCalHSi;
0087 FWBoolParameter m_showHGCalHSc;
0088 FWBoolParameter m_showMtdBarrel;
0089 FWBoolParameter m_showMtdEndcap;
0090
0091 TEveBoxSet* m_ecalBarrel;
0092 FWBoolParameter m_showEcalBarrel;
0093
0094 FWEnumParameter m_rnrStyle;
0095 FWBoolParameter m_selectable;
0096
0097 FWEnumParameter m_cameraType;
0098
0099 FWBoolParameter m_clipEnable;
0100 FWDoubleParameter m_clipTheta;
0101 FWDoubleParameter m_clipPhi;
0102 FWDoubleParameter m_clipDelta1;
0103 FWDoubleParameter m_clipDelta2;
0104 FWLongParameter m_clipAppexOffset;
0105 FWLongParameter m_clipHGCalLayerBegin;
0106 FWLongParameter m_clipHGCalLayerEnd;
0107
0108 FW3DViewDistanceMeasureTool* m_DMT;
0109 TEveLine* m_DMTline;
0110
0111 void selectable(bool);
0112
0113 void enableSceneClip(bool);
0114 void updateClipPlanes(bool resetCamera);
0115 void updateHGCalVisibility(bool);
0116
0117 void rnrStyle(long);
0118 void showMuonBarrel(long);
0119 void setCameraType(long);
0120 };
0121
0122 #endif