CMS 3D CMS Logo

FWDigitSetProxyBuilder.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWDigitSetProxyBuilder_h
2 #define Fireworks_Core_FWDigitSetProxyBuilder_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWDigitSetProxyBuilder
7 //
16 //
17 // Original Author: Alja Mrak-Tadel
18 // Created: Tue Oct 19 12:00:57 CEST 2010
19 //
20 
21 // system include files
22 
23 // user include files
25 
26 // forward declarations
27 class TEveDigitSet;
28 class TEveBoxSet;
30 
32 public:
34  ~FWDigitSetProxyBuilder() override;
35 
36  // ---------- const member functions ---------------------
37 
38  bool willHandleInteraction() const override { return true; }
39 
40  // ---------- static member functions --------------------
41 
42  // ---------- member functions ---------------------------
43 
44  FWDigitSetProxyBuilder(const FWDigitSetProxyBuilder&) = delete; // stop default
45 
46  const FWDigitSetProxyBuilder& operator=(const FWDigitSetProxyBuilder&) = delete; // stop default
47 
48 protected:
49  // AMT: temproary structure since TEveBoxSet::BFreeBox_t is protected
50  // this workaround should be removed in next root patch
51  struct BFreeBox_t {
52  Int_t fValue;
53  void* fUserData;
54  Float_t fVertices[8][3];
55  BFreeBox_t(Int_t v = 0) : fValue(v), fUserData(nullptr) {}
56  };
57 
58  TEveBoxSet* addBoxSetToProduct(TEveElementList* product);
59  void addBox(TEveBoxSet* set, const float* pnts, const FWDisplayProperties& dp);
60  TEveBoxSet* getBoxSet() const { return m_boxSet; }
61 
62 private:
63  // ---------- member data --------------------------------
64 
65  void modelChanges(const FWModelIds&, Product*) override;
66 
67  static TString getTooltip(TEveDigitSet* set, int idx);
68 
69  TEveDigitSet* digitSet(TEveElement* product);
70 
71  TEveBoxSet* m_boxSet;
72 };
73 
74 #endif
bool willHandleInteraction() const override
static TString getTooltip(TEveDigitSet *set, int idx)
TEveBoxSet * getBoxSet() const
void modelChanges(const FWModelIds &, Product *) override
std::set< FWModelId > FWModelIds
const FWDigitSetProxyBuilder & operator=(const FWDigitSetProxyBuilder &)=delete
TEveBoxSet * addBoxSetToProduct(TEveElementList *product)
void addBox(TEveBoxSet *set, const float *pnts, const FWDisplayProperties &dp)
TEveDigitSet * digitSet(TEveElement *product)