View3D.h
Go to the documentation of this file.
1 ////////////////////////////////////////////////////////////////////////
2 /// \file View3D.h
3 /// \brief A collection of 3D drawable objects
4 ///
5 /// \version $Id: View3D.h,v 1.2 2012-03-10 06:57:39 bckhouse Exp $
6 /// \author messier@indiana.edu
7 ////////////////////////////////////////////////////////////////////////
8 #ifndef EVDB_VIEW3D_H
9 #define EVDB_VIEW3D_H
10 #include <list>
11 
12 class TMarker3DBox;
13 class TPolyMarker3D;
14 class TPolyLine3D;
15 class TText;
16 
17 namespace evdb {
18  class View3D {
19  public:
20  View3D();
21  ~View3D();
22 
23  void Draw();
24  void Clear();
25 
26  TMarker3DBox& AddMarker3DBox(double x, double y, double z,
27  double dx, double dy, double dz,
28  double th=0.0, double ph=0.0);
29  TPolyMarker3D& AddPolyMarker3D(int n, int c, int st, double sz);
30  TPolyLine3D& AddPolyLine3D(int n, int c, int w, int s);
31  TText& AddText(double x, double y, const char* text);
32 
33  private:
34  // Shared pool of unused objects. Any instance may take one for its own
35  // purposes. This is the same scheme as used by View2D. See further
36  // description there.
37  static std::list<TMarker3DBox*> fgMarker3DBoxL;
38  static std::list<TPolyMarker3D*> fgPolyMarker3DL;
39  static std::list<TPolyLine3D*> fgPolyLine3DL;
40  static std::list<TText*> fgText3DL;
41 
42  std::list<TMarker3DBox*> fMarker3DBoxL; //!< List of 3D marker boxes
43  std::list<TPolyMarker3D*> fPolyMarker3DL; //!< List of poly markers
44  std::list<TPolyLine3D*> fPolyLine3DL; //!< List of poly lines
45  std::list<TText*> fText3DL; //!< List of texts
46  };
47 }
48 
49 #endif // B_VIEW3D_H
50 ////////////////////////////////////////////////////////////////////////
TMarker3DBox & AddMarker3DBox(double x, double y, double z, double dx, double dy, double dz, double th=0.0, double ph=0.0)
Definition: View3D.cxx:51
Manage all things related to colors for the event display.
Definition: Display3DPad.h:11
static std::list< TPolyMarker3D * > fgPolyMarker3DL
Definition: View3D.h:38
TText & AddText(double x, double y, const char *text)
Definition: View3D.cxx:135
std::list< TText * > fText3DL
List of texts.
Definition: View3D.h:45
static std::list< TPolyLine3D * > fgPolyLine3DL
Definition: View3D.h:39
TPolyLine3D & AddPolyLine3D(int n, int c, int w, int s)
Definition: View3D.cxx:105
const XML_Char * s
Definition: expat.h:262
double dy[NP][NC]
double dx[NP][NC]
double dz[NP][NC]
static std::list< TText * > fgText3DL
Definition: View3D.h:40
std::list< TMarker3DBox * > fMarker3DBoxL
List of 3D marker boxes.
Definition: View3D.h:42
static std::list< TMarker3DBox * > fgMarker3DBoxL
Definition: View3D.h:37
z
Definition: test.py:28
void Draw()
Definition: View3D.cxx:30
std::list< TPolyLine3D * > fPolyLine3DL
List of poly lines.
Definition: View3D.h:44
void Clear()
Definition: View3D.cxx:40
std::list< TPolyMarker3D * > fPolyMarker3DL
List of poly markers.
Definition: View3D.h:43
Float_t w
Definition: plot.C:20
TPolyMarker3D & AddPolyMarker3D(int n, int c, int st, double sz)
Definition: View3D.cxx:75