Logo ROOT  
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, Option_t *option=">");
43 TArrow(const TArrow &arrow);
44 virtual ~TArrow();
45
46 void Copy(TObject &arrow) const override;
47
48 void Draw(Option_t *option="") override;
50 Float_t arrowsize=0 ,Option_t *option="");
51 Float_t GetAngle() const {return fAngle;}
53 Option_t *GetOption() const override { return fOption.Data();}
54 void Paint(Option_t *option="") override;
56 ,Float_t arrowsize=0.05 ,Option_t *option=">");
57 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
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 ClassDefOverride(TArrow,1) // An arrow (line with a arrowhead)
70};
71
72#endif
float Float_t
Definition: RtypesCore.h:57
double Double_t
Definition: RtypesCore.h:59
const char Option_t
Definition: RtypesCore.h:66
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
Option_t Option_t option
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Option_t Option_t TPoint TPoint angle
Option_t Option_t TPoint TPoint const char y2
Option_t Option_t TPoint TPoint const char y1
Draw all kinds of Arrows.
Definition: TArrow.h:29
Float_t GetAngle() const
Definition: TArrow.h:51
Option_t * GetOption() const override
Definition: TArrow.h:53
static Float_t GetDefaultAngle()
Get default angle.
Definition: TArrow.cxx:408
Float_t fArrowSize
Arrow Size.
Definition: TArrow.h:32
static void SetDefaultOption(Option_t *Option)
Set default option.
Definition: TArrow.cxx:398
static void SetDefaultArrowSize(Float_t ArrowSize)
Set default arrow sive.
Definition: TArrow.cxx:389
static void SetDefaultAngle(Float_t Angle)
Set default angle.
Definition: TArrow.cxx:380
static Float_t fgDefaultAngle
Default Arrow opening angle (degrees)
Definition: TArrow.h:35
static Option_t * GetDefaultOption()
Get default option.
Definition: TArrow.cxx:428
virtual void SetArrowSize(Float_t arrowsize=0.05)
Definition: TArrow.h:59
static Float_t fgDefaultArrowSize
Default Arrow Size.
Definition: TArrow.h:36
virtual TArrow * 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:135
void Paint(Option_t *option="") override
Paint this arrow with its current attributes.
Definition: TArrow.cxx:157
TArrow()
Arrow default constructor.
Definition: TArrow.cxx:47
virtual ~TArrow()
Arrow default destructor.
Definition: TArrow.cxx:91
Float_t fAngle
Arrow opening angle (degrees)
Definition: TArrow.h:31
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save primitive as a C++ statement(s) on output stream out.
Definition: TArrow.cxx:352
virtual void SetOption(Option_t *option=">")
Definition: TArrow.h:60
static TString fgDefaultOption
Default Arrow shapes.
Definition: TArrow.h:37
TString fOption
Arrow shapes.
Definition: TArrow.h:33
void Draw(Option_t *option="") override
Draw this arrow with its current attributes.
Definition: TArrow.cxx:120
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:175
Float_t GetArrowSize() const
Definition: TArrow.h:52
virtual void SetAngle(Float_t angle=60)
Definition: TArrow.h:58
static Float_t GetDefaultArrowSize()
Get default arrow size.
Definition: TArrow.cxx:418
void Copy(TObject &arrow) const override
Copy this arrow to arrow.
Definition: TArrow.cxx:108
Fill Area Attributes class.
Definition: TAttFill.h:19
Use the TLine constructor to create a simple line.
Definition: TLine.h:22
Mother of all ROOT objects.
Definition: TObject.h:37
Basic string class.
Definition: TString.h:136
const char * Data() const
Definition: TString.h:369
double Angle(const Vector1 &v1, const Vector2 &v2)
Find Angle between two vectors.
Definition: VectorUtil.h:169