CMS 3D CMS Logo

FWViewGeometryList.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWViewGeometryList_h
2 #define Fireworks_Core_FWViewGeometryList_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWViewGeometryList
7 //
16 //
17 // Original Author: Alja Mrak-Tadel
18 // Created: Tue Sep 14 13:28:39 CEST 2010
19 //
20 
21 #include "sigc++/connection.h"
22 
23 #include "TEveElement.h"
25 
26 class TGeoMatrix;
27 class TEveCompound;
28 class FWGeometry;
29 
30 namespace fireworks {
31  class Context;
32 }
33 
34 class FWViewGeometryList : public TEveElementList {
35 public:
36  FWViewGeometryList(const fireworks::Context& context, bool projected = true);
37  ~FWViewGeometryList() override;
38 
39  void updateColors();
40  void updateTransparency(bool projectedType);
41 
42 protected:
44  const FWGeometry* m_geom; // cached
45 
46  TEveCompound* m_colorComp[kFWGeomColorSize];
47 
48  void addToCompound(TEveElement* el, FWGeomColorIndex idx, bool applyTransp = true) const;
49 
50 private:
51  FWViewGeometryList(const FWViewGeometryList&) = delete; // stop default
52 
53  const FWViewGeometryList& operator=(const FWViewGeometryList&) = delete; // stop default
54 
55  // ---------- member data --------------------------------
56  sigc::connection m_transpConnection;
57  sigc::connection m_colorConnection;
58  bool m_projected; // needed for transparency
59 };
60 
61 #endif
FWGeomColorIndex
const FWGeometry * m_geom
sigc::connection m_transpConnection
sigc::connection m_colorConnection
const fireworks::Context & m_context