Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TEveArrow.h
Go to the documentation of this file.
1// @(#)root/eve:$Id$
2// Author: Matevz Tadel 2007
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_TEveArrow
13#define ROOT_TEveArrow
14
15#include "TEveElement.h"
16#include "TEveVector.h"
17#include "TNamed.h"
18#include "TAtt3D.h"
19#include "TAttBBox.h"
20
21class TEveArrow : public TEveElement,
22 public TNamed,
23 public TAtt3D,
24 public TAttBBox
25{
26 friend class TEveArrowGL;
27 friend class TEveArrowEditor;
28
29private:
30 TEveArrow(const TEveArrow&); // Not implemented
31 TEveArrow& operator=(const TEveArrow&); // Not implemented
32
33protected:
35
39
42
43 Int_t fDrawQuality; // Number of segments of circles.
44
45public:
46 TEveArrow(Float_t xVec=0, Float_t yVec=0, Float_t zVec=1,
47 Float_t xOrg=0, Float_t yOrg=0, Float_t zOrg=0);
48 ~TEveArrow() override {}
49
50 TObject* GetObject(const TEveException& ) const override
51 { const TObject* obj = this; return const_cast<TObject*>(obj); }
52
54
55 Float_t GetTubeR() const { return fTubeR; }
56 Float_t GetConeR() const { return fConeR; }
57 Float_t GetConeL() const { return fConeL; }
58
62
67
68 void SetOrigin(const TEveVector& o) { fOrigin = o; StampGeom(); }
70 void SetVector(const TEveVector& v) { fVector = v; StampGeom(); }
72
73 Int_t GetDrawQuality() const { return fDrawQuality; }
75
76 void ComputeBBox() override;
77 void Paint(Option_t* option="") override;
78
79 ClassDefOverride(TEveArrow, 0); // Class for gl visualisation of arrow.
80};
81
82#endif
short Color_t
Definition RtypesCore.h:85
float Float_t
Definition RtypesCore.h:57
const char Option_t
Definition RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition Rtypes.h:346
Option_t Option_t option
float * q
Use this attribute class when an object should have 3D capabilities.
Definition TAtt3D.h:19
Helper for management of bounding-box information.
Definition TAttBBox.h:18
void ResetBBox()
Definition TAttBBox.h:57
GUI editor for TEveArrow.
OpenGL renderer class for TEveArrow.
Definition TEveArrowGL.h:22
Class used for display of a thick arrow.
Definition TEveArrow.h:25
void SetOrigin(Float_t x, Float_t y, Float_t z)
Definition TEveArrow.h:69
Float_t fConeR
Definition TEveArrow.h:37
TEveVector fOrigin
Definition TEveArrow.h:40
void SetDrawQuality(Int_t q)
Definition TEveArrow.h:74
TEveVector GetOrigin()
Definition TEveArrow.h:63
void SetOrigin(const TEveVector &o)
Definition TEveArrow.h:68
~TEveArrow() override
Definition TEveArrow.h:48
void SetConeR(Float_t x)
Definition TEveArrow.h:60
Color_t fColor
Definition TEveArrow.h:34
void ComputeBBox() override
Compute bounding-box of the arrow.
Definition TEveArrow.cxx:46
TEveArrow(const TEveArrow &)
Float_t fTubeR
Definition TEveArrow.h:36
void Paint(Option_t *option="") override
Paint object.
Definition TEveArrow.cxx:70
Float_t GetConeL() const
Definition TEveArrow.h:57
TEveVector & RefOrigin()
Definition TEveArrow.h:64
TEveVector GetVector()
Definition TEveArrow.h:65
TEveVector fVector
Definition TEveArrow.h:41
TObject * GetObject(const TEveException &) const override
Get a TObject associated with this render-element.
Definition TEveArrow.h:50
void SetVector(Float_t x, Float_t y, Float_t z)
Definition TEveArrow.h:71
void SetVector(const TEveVector &v)
Definition TEveArrow.h:70
void StampGeom()
Definition TEveArrow.h:53
Float_t GetTubeR() const
Definition TEveArrow.h:55
Float_t GetConeR() const
Definition TEveArrow.h:56
void SetConeL(Float_t x)
Definition TEveArrow.h:61
Int_t GetDrawQuality() const
Definition TEveArrow.h:73
TEveArrow & operator=(const TEveArrow &)
Float_t fConeL
Definition TEveArrow.h:38
void SetTubeR(Float_t x)
Definition TEveArrow.h:59
TEveVector & RefVector()
Definition TEveArrow.h:66
Int_t fDrawQuality
Definition TEveArrow.h:43
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
Definition TEveElement.h:36
virtual void AddStamp(UChar_t bits)
Add (bitwise or) given stamps to fChangeBits.
Exception class thrown by TEve classes and macros.
Definition TEveUtil.h:102
void Set(const Float_t *v)
Definition TEveVector.h:82
The TNamed class is the base class for all named ROOT classes.
Definition TNamed.h:29
Mother of all ROOT objects.
Definition TObject.h:41
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17