Logo ROOT   6.16/01
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#include "TString.h"
25#include "TLine.h"
26#include "TAttFill.h"
27
28
29class TArrow : public TLine, public TAttFill {
30protected:
31 Float_t fAngle; ///< Arrow opening angle (degrees)
32 Float_t fArrowSize; ///< Arrow Size
33 TString fOption; ///< Arrow shapes
34
35 static Float_t fgDefaultAngle; ///< Default Arrow opening angle (degrees)
36 static Float_t fgDefaultArrowSize; ///< Default Arrow Size
37 static TString fgDefaultOption; ///< Default Arrow shapes
38
39public:
40 TArrow();
42 ,Float_t arrowsize=0.05
43 ,Option_t *option=">");
44 TArrow(const TArrow &arrow);
45 virtual ~TArrow();
46 void Copy(TObject &arrow) const;
47
48 virtual void Draw(Option_t *option="");
49 virtual void DrawArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
50 ,Float_t arrowsize=0 ,Option_t *option="");
51 Float_t GetAngle() const {return fAngle;}
53 Option_t *GetOption() const { return fOption.Data();}
54 virtual void Paint(Option_t *option="");
55 virtual void PaintArrow(Double_t x1, Double_t y1,Double_t x2 ,Double_t y2
56 ,Float_t arrowsize=0.05 ,Option_t *option=">");
57 virtual void SavePrimitive(std::ostream &out, Option_t *option = "");
58 virtual void SetAngle(Float_t angle=60) {fAngle=angle;} // *MENU*
59 virtual void SetArrowSize(Float_t arrowsize=0.05) {fArrowSize=arrowsize;} // *MENU*
60 virtual void SetOption(Option_t *option=">"){ fOption = option;}
61
62 static void SetDefaultAngle (Float_t Angle );
63 static void SetDefaultArrowSize (Float_t ArrowSize);
64 static void SetDefaultOption (Option_t *Option );
65 static Float_t GetDefaultAngle ();
67 static Option_t *GetDefaultOption ();
68
69 ClassDef(TArrow,1) // An arrow (line with a arrowhead)
70};
71
72#endif
static const double x2[5]
static const double x1[5]
double Double_t
Definition: RtypesCore.h:55
float Float_t
Definition: RtypesCore.h:53
const char Option_t
Definition: RtypesCore.h:62
#define ClassDef(name, id)
Definition: Rtypes.h:324
Draw all kinds of Arrows.
Definition: TArrow.h:29
Float_t GetAngle() const
Definition: TArrow.h:51
static Float_t GetDefaultAngle()
Get default angle.
Definition: TArrow.cxx:412
Float_t fArrowSize
Arrow Size.
Definition: TArrow.h:32
static void SetDefaultOption(Option_t *Option)
Set default option.
Definition: TArrow.cxx:402
static void SetDefaultArrowSize(Float_t ArrowSize)
Set default arrow sive.
Definition: TArrow.cxx:392
static void SetDefaultAngle(Float_t Angle)
Set default angle.
Definition: TArrow.cxx:382
static Float_t fgDefaultAngle
Default Arrow opening angle (degrees)
Definition: TArrow.h:35
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:138
static Option_t * GetDefaultOption()
Get default option.
Definition: TArrow.cxx:432
virtual void Draw(Option_t *option="")
Draw this arrow with its current attributes.
Definition: TArrow.cxx:121
void Copy(TObject &arrow) const
Copy this arrow to arrow.
Definition: TArrow.cxx:108
virtual void SetArrowSize(Float_t arrowsize=0.05)
Definition: TArrow.h:59
static Float_t fgDefaultArrowSize
Default Arrow Size.
Definition: TArrow.h:36
TArrow()
Arrow default constructor.
Definition: TArrow.cxx:46
virtual ~TArrow()
Arrow default destructor.
Definition: TArrow.cxx:90
Float_t fAngle
Arrow opening angle (degrees)
Definition: TArrow.h:31
virtual void SetOption(Option_t *option=">")
Definition: TArrow.h:60
Option_t * GetOption() const
Definition: TArrow.h:53
static TString fgDefaultOption
Default Arrow shapes.
Definition: TArrow.h:37
virtual void Paint(Option_t *option="")
Paint this arrow with its current attributes.
Definition: TArrow.cxx:159
TString fOption
Arrow shapes.
Definition: TArrow.h:33
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:172
Float_t GetArrowSize() const
Definition: TArrow.h:52
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save primitive as a C++ statement(s) on output stream out.
Definition: TArrow.cxx:356
virtual void SetAngle(Float_t angle=60)
Definition: TArrow.h:58
static Float_t GetDefaultArrowSize()
Get default arrow size.
Definition: TArrow.cxx:422
Fill Area Attributes class.
Definition: TAttFill.h:19
A simple line.
Definition: TLine.h:23
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:131
const char * Data() const
Definition: TString.h:364
double Angle(const Vector1 &v1, const Vector2 &v2)
Find Angle between two vectors.
Definition: VectorUtil.h:138