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
FWEveText::ProjectedClass
TClass * ProjectedClass(const TEveProjection *p) const override
Definition: FWTextProjected.cc:29
FWEveTextGL::DirectDraw
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Definition: FWTextProjected.cc:54
FWEveTextProjected::operator=
FWEveTextProjected & operator=(const FWEveTextProjected &)
FWEveTextGL::~FWEveTextGL
~FWEveTextGL() override
Definition: FWTextProjected.h:67
FWEveTextProjected::UpdateProjection
void UpdateProjection() override
Definition: FWTextProjected.cc:36
FWEveText::ClassDefOverride
ClassDefOverride(FWEveText, 0)
FWEveTextProjected::FWEveTextProjected
FWEveTextProjected()
Definition: FWTextProjected.h:53
FWEveTextGL
Definition: FWTextProjected.h:64
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FWEveText::~FWEveText
~FWEveText() override
Definition: FWTextProjected.h:38
FWEveText::FWEveText
FWEveText(const FWEveText &)
FWEveText::m_offsetZ
float m_offsetZ
Definition: FWTextProjected.h:35
FWEveTextProjected::ClassDefOverride
ClassDefOverride(FWEveTextProjected, 0)
FWEveTextProjected
Definition: FWTextProjected.h:47
FWEveText
Definition: FWTextProjected.h:29
FWEveTextGL::ClassDefOverride
ClassDefOverride(FWEveTextGL, 0)
FWEveText::operator=
const FWEveText & operator=(const FWEveText &)
FWEveTextProjected::~FWEveTextProjected
~FWEveTextProjected() override
Definition: FWTextProjected.h:54
FWEveTextGL::FWEveTextGL
FWEveTextGL()
Definition: FWTextProjected.h:66
FWEveText::FWEveText
FWEveText(const char *txt="")
Definition: FWTextProjected.h:37
FWEveText::m_textPad
float m_textPad
Definition: FWTextProjected.h:36
FWEveTextProjected::GetProjectedAsElement
TEveElement * GetProjectedAsElement() override
Definition: FWTextProjected.h:57