CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 // $Id: FWTextProjected.h,v 1.2 2011/08/16 21:43:27 amraktad Exp $
20 //
21 
22 #include "TNamed.h"
23 #include "TAtt3D.h"
24 #include "TAttBBox.h"
25 
26 #include "TEveProjectionBases.h"
27 #include "TEveText.h"
28 #include "TEveTextGL.h"
29 
30 
31 class FWEveText : public TEveText,
32  public TEveProjectable
33 {
34 private:
35  FWEveText(const FWEveText&); // stop default
36  const FWEveText& operator=(const FWEveText&); // stop default
37 
38 public:
39  float m_offsetZ;
40  float m_textPad;
41  FWEveText(const char* txt=""):TEveText(txt), m_offsetZ(0), m_textPad(5) {}
42  virtual ~FWEveText() {}
43 
44  virtual TClass* ProjectedClass(const TEveProjection* p) const ;
45  ClassDef(FWEveText, 0); // Class for visualisation of text with FTGL font.
46 };
47 
48 //==============================================================================
49 //==============================================================================
50 
51 
53  public TEveProjected
54 {
55 private:
56  FWEveTextProjected(const FWEveTextProjected&); // Not implemented
57  FWEveTextProjected& operator=(const FWEveTextProjected&); // Not implemented
58 
59 public:
61  virtual ~FWEveTextProjected() {}
62 
63  virtual void UpdateProjection();
64  virtual TEveElement* GetProjectedAsElement() { return this; }
65 
66  ClassDef(FWEveTextProjected, 0); // Projected replica of a FWEveText.
67 };
68 
69 //______________________________________________________________________________
70 
71 class FWEveTextGL : public TEveTextGL
72 {
73 public:
75  virtual ~FWEveTextGL() {}
76 
77  virtual void DirectDraw(TGLRnrCtx & rnrCtx) const;
78 
79  ClassDef(FWEveTextGL, 0); // GL renderer class for TEveText.
80 };
81 
82 
83 #endif
virtual void UpdateProjection()
const FWEveText & operator=(const FWEveText &)
float m_offsetZ
ClassDef(FWEveTextProjected, 0)
FWEveTextProjected & operator=(const FWEveTextProjected &)
virtual TEveElement * GetProjectedAsElement()
virtual ~FWEveTextGL()
float m_textPad
virtual void DirectDraw(TGLRnrCtx &rnrCtx) const
virtual ~FWEveTextProjected()
ClassDef(FWEveTextGL, 0)
FWEveText(const char *txt="")
virtual ~FWEveText()
virtual TClass * ProjectedClass(const TEveProjection *p) const
FWEveText(const FWEveText &)
ClassDef(FWEveText, 0)