CMS 3D CMS Logo

FWTextProjected.h
Go to the documentation of this file.
1 #ifndef Fireworks_Core_FWTextProjected_h
2 #define Fireworks_Core_FWTextProjected_h
3 // -*- C++ -*-
4 //
5 // Package: Core
6 // Class : FWTextProjected
7 //
16 //
17 // Original Author: Alja Mrak-Tadel
18 // Created: Fri Aug 12 01:12:28 CEST 2011
19 //
20 
21 #include "TNamed.h"
22 #include "TAtt3D.h"
23 #include "TAttBBox.h"
24 
25 #include "TEveProjectionBases.h"
26 #include "TEveText.h"
27 #include "TEveTextGL.h"
28 
29 class FWEveText : public TEveText, public TEveProjectable {
30 private:
31  FWEveText(const FWEveText&); // stop default
32  const FWEveText& operator=(const FWEveText&); // stop default
33 
34 public:
35  float m_offsetZ;
36  float m_textPad;
37  FWEveText(const char* txt = "") : TEveText(txt), m_offsetZ(0), m_textPad(5) {}
38  ~FWEveText() override {}
39 
40  TClass* ProjectedClass(const TEveProjection* p) const override;
41  ClassDefOverride(FWEveText, 0); // Class for visualisation of text with FTGL font.
42 };
43 
44 //==============================================================================
45 //==============================================================================
46 
47 class FWEveTextProjected : public FWEveText, public TEveProjected {
48 private:
49  FWEveTextProjected(const FWEveTextProjected&); // Not implemented
50  FWEveTextProjected& operator=(const FWEveTextProjected&); // Not implemented
51 
52 public:
54  ~FWEveTextProjected() override {}
55 
56  void UpdateProjection() override;
57  TEveElement* GetProjectedAsElement() override { return this; }
58 
59  ClassDefOverride(FWEveTextProjected, 0); // Projected replica of a FWEveText.
60 };
61 
62 //______________________________________________________________________________
63 
64 class FWEveTextGL : public TEveTextGL {
65 public:
67  ~FWEveTextGL() override {}
68 
69  void DirectDraw(TGLRnrCtx& rnrCtx) const override;
70 
71  ClassDefOverride(FWEveTextGL, 0); // GL renderer class for TEveText.
72 };
73 
74 #endif
const FWEveText & operator=(const FWEveText &)
float m_offsetZ
~FWEveTextGL() override
~FWEveText() override
TClass * ProjectedClass(const TEveProjection *p) const override
~FWEveTextProjected() override
ClassDefOverride(FWEveText, 0)
float m_textPad
FWEveText(const char *txt="")
TEveElement * GetProjectedAsElement() override
FWEveText(const FWEveText &)