CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 public:
51  FWViewGeometryList(const FWViewGeometryList&) = delete; // stop default
52 
53  const FWViewGeometryList& operator=(const FWViewGeometryList&) = delete; // stop default
54 
55 private:
56  // ---------- member data --------------------------------
57  sigc::connection m_transpConnection;
58  sigc::connection m_colorConnection;
59  bool m_projected; // needed for transparency
60 };
61 
62 #endif
TEveCompound * m_colorComp[kFWGeomColorSize]
FWGeomColorIndex
FWViewGeometryList(const fireworks::Context &context, bool projected=true)
void updateTransparency(bool projectedType)
const FWViewGeometryList & operator=(const FWViewGeometryList &)=delete
void addToCompound(TEveElement *el, FWGeomColorIndex idx, bool applyTransp=true) const
~FWViewGeometryList() override
const FWGeometry * m_geom
sigc::connection m_transpConnection
sigc::connection m_colorConnection
const fireworks::Context & m_context