12 #ifndef ROOT_TEveArrow
13 #define ROOT_TEveArrow
21 class TEveArrow :
public TEveElement,
26 friend class TEveArrowGL;
27 friend class TEveArrowEditor;
30 TEveArrow(
const TEveArrow&);
31 TEveArrow& operator=(
const TEveArrow&);
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 virtual ~TEveArrow() {}
50 virtual TObject* GetObject(
const TEveException& )
const
51 {
const TObject* obj =
this;
return const_cast<TObject*
>(obj); }
53 void StampGeom() { ResetBBox(); AddStamp(kCBTransBBox | kCBObjProps); }
55 Float_t GetTubeR()
const {
return fTubeR; }
56 Float_t GetConeR()
const {
return fConeR; }
57 Float_t GetConeL()
const {
return fConeL; }
59 void SetTubeR(Float_t x) { fTubeR = x; StampGeom(); }
60 void SetConeR(Float_t x) { fConeR = x; StampGeom(); }
61 void SetConeL(Float_t x) { fConeL = x; StampGeom(); }
63 TEveVector GetOrigin() {
return fOrigin; }
64 TEveVector& RefOrigin() {
return fOrigin; }
65 TEveVector GetVector() {
return fVector; }
66 TEveVector& RefVector() {
return fVector; }
68 void SetOrigin(
const TEveVector& o) { fOrigin = o; StampGeom(); }
69 void SetOrigin(Float_t x, Float_t y, Float_t z) { fOrigin.Set(x, y, z); StampGeom(); }
70 void SetVector(
const TEveVector& v) { fVector = v; StampGeom(); }
71 void SetVector(Float_t x, Float_t y, Float_t z) { fVector.Set(x, y, z); StampGeom(); }
73 Int_t GetDrawQuality()
const {
return fDrawQuality; }
74 void SetDrawQuality(Int_t q) { fDrawQuality = q; }
76 virtual void ComputeBBox();
77 virtual void Paint(Option_t* option=
"");
79 ClassDef(TEveArrow, 0);