Logo ROOT   6.08/07
Reference Guide
TArrow.h
Go to the documentation of this file.
1 // @(#)root/graf:$Id$
2 // Author: Rene Brun 17/10/95
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2000, 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_TArrow
13 #define ROOT_TArrow
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TArrow //
19 // //
20 // One arrow --->. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #ifndef ROOT_TString
25 #include "TString.h"
26 #endif
27 #ifndef ROOT_TLine
28 #include "TLine.h"
29 #endif
30 #ifndef ROOT_TAttFill
31 #include "TAttFill.h"
32 #endif
33 
34 
35 class TArrow : public TLine, public TAttFill {
36 protected:
37  Float_t fAngle; ///< Arrow opening angle (degrees)
38  Float_t fArrowSize; ///< Arrow Size
39  TString fOption; ///< Arrow shapes
40 
41  static Float_t fgDefaultAngle; ///< Default Arrow opening angle (degrees)
42  static Float_t fgDefaultArrowSize; ///< Default Arrow Size
43  static TString fgDefaultOption; ///< Default Arrow shapes
44 
45 public:
46  TArrow();
48  ,Float_t arrowsize=0.05
49  ,Option_t *option=">");
50  TArrow(const TArrow &arrow);
51  virtual ~TArrow();
52  void Copy(TObject &arrow) const;
53 
54  virtual void Draw(Option_t *option="");
55  virtual void DrawArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
56  ,Float_t arrowsize=0 ,Option_t *option="");
57  Float_t GetAngle() const {return fAngle;}
58  Float_t GetArrowSize() const {return fArrowSize;}
59  Option_t *GetOption() const { return fOption.Data();}
60  virtual void Paint(Option_t *option="");
61  virtual void PaintArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
62  ,Float_t arrowsize=0.05 ,Option_t *option=">");
63  virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
64  virtual void SetAngle(Float_t angle=60) {fAngle=angle;} // *MENU*
65  virtual void SetArrowSize(Float_t arrowsize=0.05) {fArrowSize=arrowsize;} // *MENU*
66  virtual void SetOption(Option_t *option=">"){ fOption = option;}
67 
68  static void SetDefaultAngle (Float_t Angle );
69  static void SetDefaultArrowSize (Float_t ArrowSize);
70  static void SetDefaultOption (Option_t *Option );
71  static Float_t GetDefaultAngle ();
73  static Option_t *GetDefaultOption ();
74 
75  ClassDef(TArrow,1) // An arrow (line with a arrowhead)
76 };
77 
78 #endif
virtual void Paint(Option_t *option="")
Paint this arrow with its current attributes.
Definition: TArrow.cxx:160
Float_t GetArrowSize() const
Definition: TArrow.h:58
static Float_t GetDefaultAngle()
Get default angle.
Definition: TArrow.cxx:413
float Float_t
Definition: RtypesCore.h:53
void Copy(TObject &arrow) const
Copy this arrow to arrow.
Definition: TArrow.cxx:109
const char Option_t
Definition: RtypesCore.h:62
virtual void DrawArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Float_t arrowsize=0, Option_t *option="")
Draw this arrow with new coordinates.
Definition: TArrow.cxx:139
Basic string class.
Definition: TString.h:137
static void SetDefaultAngle(Float_t Angle)
Set default angle.
Definition: TArrow.cxx:383
static TString fgDefaultOption
Default Arrow shapes.
Definition: TArrow.h:43
static Float_t fgDefaultArrowSize
Default Arrow Size.
Definition: TArrow.h:42
static const double x2[5]
Fill Area Attributes class.
Definition: TAttFill.h:24
static Float_t GetDefaultArrowSize()
Get default arrow size.
Definition: TArrow.cxx:423
#define ClassDef(name, id)
Definition: Rtypes.h:254
TArrow * arrow
virtual void Draw(Option_t *option="")
Draw this arrow with its current attributes.
Definition: TArrow.cxx:122
static void SetDefaultOption(Option_t *Option)
Set default option.
Definition: TArrow.cxx:403
virtual void SetArrowSize(Float_t arrowsize=0.05)
Definition: TArrow.h:65
static void SetDefaultArrowSize(Float_t ArrowSize)
Set default arrow sive.
Definition: TArrow.cxx:393
double Angle(const Vector1 &v1, const Vector2 &v2)
Find Angle between two vectors.
Definition: VectorUtil.h:140
static Float_t fgDefaultAngle
Default Arrow opening angle (degrees)
Definition: TArrow.h:41
virtual void PaintArrow(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Float_t arrowsize=0.05, Option_t *option=">")
Draw this arrow.
Definition: TArrow.cxx:173
TArrow()
Arrow default constructor.
Definition: TArrow.cxx:47
A simple line.
Definition: TLine.h:33
Float_t fAngle
Arrow opening angle (degrees)
Definition: TArrow.h:37
virtual void SetOption(Option_t *option=">")
Definition: TArrow.h:66
static const double x1[5]
Option_t * GetOption() const
Definition: TArrow.h:59
double Double_t
Definition: RtypesCore.h:55
Mother of all ROOT objects.
Definition: TObject.h:37
static Option_t * GetDefaultOption()
Get default option.
Definition: TArrow.cxx:433
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TArrow.cxx:357
Float_t GetAngle() const
Definition: TArrow.h:57
TString fOption
Arrow shapes.
Definition: TArrow.h:39
Float_t fArrowSize
Arrow Size.
Definition: TArrow.h:38
Draw all kinds of Arrows.
Definition: TArrow.h:35
virtual ~TArrow()
Arrow default destructor.
Definition: TArrow.cxx:91
virtual void SetAngle(Float_t angle=60)
Definition: TArrow.h:64
const char * Data() const
Definition: TString.h:349