Logo ROOT  
Reference Guide
TEveBox.h
Go to the documentation of this file.
1 // @(#)root/eve:$Id$
2 // Author: Matevz Tadel, 2010
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TEveBox
13 #define ROOT_TEveBox
14 
15 #include "TEveShape.h"
16 
17 //------------------------------------------------------------------------------
18 // TEveBox
19 //------------------------------------------------------------------------------
20 
21 class TEveBox : public TEveShape
22 {
23  friend class TEveBoxGL;
24 
25 private:
26  TEveBox(const TEveBox&); // Not implemented
27  TEveBox& operator=(const TEveBox&); // Not implemented
28 
29 protected:
31 
32 public:
33  TEveBox(const char* n="TEveBox", const char* t="");
34  virtual ~TEveBox();
35 
36  void SetVertex(Int_t i, Float_t x, Float_t y, Float_t z);
37  void SetVertex(Int_t i, const Float_t* v);
38  void SetVertices(const Float_t* vs);
39 
40  const Float_t* GetVertex(Int_t i) const { return fVertices[i]; }
41 
42  // For TAttBBox:
43  virtual void ComputeBBox();
44 
45  // Projectable:
46  virtual TClass* ProjectedClass(const TEveProjection* p) const;
47 
48  ClassDef(TEveBox, 0); // 3D box with arbitrary vertices.
49 };
50 
51 
52 //------------------------------------------------------------------------------
53 // TEveBoxProjected
54 //------------------------------------------------------------------------------
55 
56 class TEveBoxProjected : public TEveShape,
57  public TEveProjected
58 {
59  friend class TEveBoxProjectedGL;
60 
61 private:
62  TEveBoxProjected(const TEveBoxProjected&); // Not implemented
63  TEveBoxProjected& operator=(const TEveBoxProjected&); // Not implemented
64 
65 protected:
69 
70  virtual void SetDepthLocal(Float_t d);
71 
73 
74 public:
75  TEveBoxProjected(const char* n="TEveBoxProjected", const char* t="");
76  virtual ~TEveBoxProjected();
77 
78  // For TAttBBox:
79  virtual void ComputeBBox();
80 
81  // Projected:
83  virtual void UpdateProjection();
84 
85  virtual TEveElement* GetProjectedAsElement() { return this; }
86 
88  static void SetDebugCornerPoints(Bool_t d);
89 
90  ClassDef(TEveBoxProjected, 0); // Projection of TEveBox.
91 };
92 
93 #endif
n
const Int_t n
Definition: legend1.C:16
TEveElement
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition: TEveElement.h:36
TEveBoxProjected
Projection of TEveBox.
Definition: TEveBox.h:58
TEveBoxProjected::operator=
TEveBoxProjected & operator=(const TEveBoxProjected &)
TEveBox
3D box with arbitrary vertices (cuboid).
Definition: TEveBox.h:22
TEveBoxProjected::SetDebugCornerPoints
static void SetDebugCornerPoints(Bool_t d)
Set state of fgDebugCornerPoints static.
Definition: TEveBox.cxx:225
TEveBox::GetVertex
const Float_t * GetVertex(Int_t i) const
Definition: TEveBox.h:40
TEveProjection
Base-class for non-linear projections.
Definition: TEveProjections.h:27
TEveShape::vVector2_t
std::vector< TEveVector2 > vVector2_t
Definition: TEveShape.h:34
Float_t
float Float_t
Definition: RtypesCore.h:57
TEveBoxProjectedGL
OpenGL renderer class for TEveBoxProjected.
Definition: TEveBoxGL.h:65
x
Double_t x[n]
Definition: legend1.C:17
TEveBoxProjected::fDebugPoints
vVector2_t fDebugPoints
Definition: TEveBox.h:68
TEveBoxProjected::GetDebugCornerPoints
static Bool_t GetDebugCornerPoints()
Get state of fgDebugCornerPoints static.
Definition: TEveBox.cxx:215
Bool_t
bool Bool_t
Definition: RtypesCore.h:63
TEveBox::operator=
TEveBox & operator=(const TEveBox &)
TEveBox::SetVertex
void SetVertex(Int_t i, Float_t x, Float_t y, Float_t z)
Set vertex 'i'.
Definition: TEveBox.cxx:48
v
@ v
Definition: rootcling_impl.cxx:3635
bool
TEveBoxProjected::~TEveBoxProjected
virtual ~TEveBoxProjected()
Destructor.
Definition: TEveBox.cxx:121
TEveBoxGL
OpenGL renderer class for TEveBox.
Definition: TEveBoxGL.h:28
TEveBoxProjected::fBreakIdx
Int_t fBreakIdx
Definition: TEveBox.h:67
TEveShape.h
TEveBox::ProjectedClass
virtual TClass * ProjectedClass(const TEveProjection *p) const
Virtual from TEveProjectable, return TEveBoxProjected class.
Definition: TEveBox.cxx:94
TEveProjectable
Abstract base-class for non-linear projectable objects.
Definition: TEveProjectionBases.h:35
TEveBoxProjected::ComputeBBox
virtual void ComputeBBox()
Compute bounding-box, virtual from TAttBBox.
Definition: TEveBox.cxx:128
TEveBoxProjected::UpdateProjection
virtual void UpdateProjection()
Re-project the box.
Definition: TEveBox.cxx:161
TEveProjectionManager
Manager class for steering of projections and managing projected objects.
Definition: TEveProjectionManager.h:22
TEveBoxProjected::TEveBoxProjected
TEveBoxProjected(const TEveBoxProjected &)
TEveBoxProjected::fPoints
vVector2_t fPoints
Definition: TEveBox.h:66
TEveBoxProjected::SetProjection
virtual void SetProjection(TEveProjectionManager *mng, TEveProjectable *model)
This is virtual method from base-class TEveProjected.
Definition: TEveBox.cxx:148
y
Double_t y[n]
Definition: legend1.C:17
TEveBox::TEveBox
TEveBox(const TEveBox &)
TEveBox::ComputeBBox
virtual void ComputeBBox()
Compute bounding-box of the data.
Definition: TEveBox.cxx:80
TEveBoxProjected::fgDebugCornerPoints
static Bool_t fgDebugCornerPoints
Definition: TEveBox.h:72
TEveProjected
Abstract base class for classes that hold results of a non-linear projection transformation.
Definition: TEveProjectionBases.h:84
TClass
TClass instances represent classes, structs and namespaces in the ROOT type system.
Definition: TClass.h:80
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TEveBoxProjected::GetProjectedAsElement
virtual TEveElement * GetProjectedAsElement()
Returns this projected dynamic-casted to TEveElement.
Definition: TEveBox.h:85
d
#define d(i)
Definition: RSha256.hxx:102
TEveBox::~TEveBox
virtual ~TEveBox()
Destructor.
Definition: TEveBox.cxx:41
TEveBox::fVertices
Float_t fVertices[8][3]
Definition: TEveBox.h:30
make_cnn_model.model
model
Definition: make_cnn_model.py:6
TEveBoxProjected::SetDepthLocal
virtual void SetDepthLocal(Float_t d)
This is virtual method from base-class TEveProjected.
Definition: TEveBox.cxx:140
TEveBox::SetVertices
void SetVertices(const Float_t *vs)
Set vertices.
Definition: TEveBox.cxx:70
TEveShape
Abstract base-class for 2D/3D shapes.
Definition: TEveShape.h:26
int