Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TCurlyLine.h
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Otto Schaile 20/11/99
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#ifndef ROOT_TCurlyLine
12#define ROOT_TCurlyLine
13
14#include "TPolyLine.h"
15#include "TAttBBox2D.h"
16
17class TPoint;
18
19class TCurlyLine : public TPolyLine, public TAttBBox2D {
20
21protected:
22 Double_t fX1; ///< start x, center for arc
23 Double_t fY1; ///< start y, center for arc
24 Double_t fX2; ///< end x
25 Double_t fY2; ///< end y
26 Double_t fWaveLength; ///< wavelength of sinusoid in percent of pad height
27 Double_t fAmplitude; ///< amplitude of sinusoid in percent of pad height
28 Int_t fNsteps; ///< used internally (controls precision)
29 Bool_t fIsCurly; ///< true: Gluon, false: Gamma
30
31 static Double_t fgDefaultWaveLength; ///< default wavelength
32 static Double_t fgDefaultAmplitude; ///< default amplitude
33 static Bool_t fgDefaultIsCurly; ///< default curly type
34
35public:
38 Double_t wl = .02,
39 Double_t amp = .01);
40 ~TCurlyLine() override{}
41 virtual void Build();
43 void ExecuteEvent(Int_t event, Int_t px, Int_t py) override;
44 Bool_t GetCurly() const {return fIsCurly;}
47 Double_t GetStartX() const {return fX1;}
48 Double_t GetEndX() const {return fX2;}
49 Double_t GetStartY() const {return fY1;}
50 Double_t GetEndY() const {return fY2;}
51 virtual void SetCurly(); // *MENU*
52 virtual void SetWavy(); // *MENU*
53 virtual void SetWaveLength(Double_t WaveLength); // *MENU* *ARGS={WaveLength=>fWaveLength}
54 virtual void SetAmplitude(Double_t x); // *MENU* *ARGS={x=>fAmplitude}
55 virtual void SetStartPoint(Double_t x1, Double_t y1);
56 virtual void SetEndPoint (Double_t x2, Double_t y2);
57 void SavePrimitive(std::ostream &out, Option_t * = "") override;
58
59 static void SetDefaultWaveLength(Double_t WaveLength);
60 static void SetDefaultAmplitude (Double_t Amplitude );
61 static void SetDefaultIsCurly (Bool_t IsCurly );
65
66 Rectangle_t GetBBox() override;
68 void SetBBoxCenter(const TPoint &p) override;
69 void SetBBoxCenterX(const Int_t x) override;
70 void SetBBoxCenterY(const Int_t y) override;
71 void SetBBoxX1(const Int_t x) override;
72 void SetBBoxX2(const Int_t x) override;
73 void SetBBoxY1(const Int_t y) override;
74 void SetBBoxY2(const Int_t y) override;
75
76 ClassDefOverride(TCurlyLine,3) // A curly polyline
77};
78
79#endif
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
bool Bool_t
Boolean (0=false, 1=true) (bool).
Definition RtypesCore.h:77
double Double_t
Double 8 bytes.
Definition RtypesCore.h:73
const char Option_t
Option string (const char).
Definition RtypesCore.h:80
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
Abstract base class for elements drawn in the editor.
Definition TAttBBox2D.h:19
~TCurlyLine() override
Definition TCurlyLine.h:40
Double_t fY1
start y, center for arc
Definition TCurlyLine.h:23
Double_t fWaveLength
wavelength of sinusoid in percent of pad height
Definition TCurlyLine.h:26
Double_t fAmplitude
amplitude of sinusoid in percent of pad height
Definition TCurlyLine.h:27
static void SetDefaultIsCurly(Bool_t IsCurly)
void SetBBoxY1(const Int_t y) override
Double_t GetAmplitude() const
Definition TCurlyLine.h:46
void SetBBoxX2(const Int_t x) override
Int_t fNsteps
used internally (controls precision)
Definition TCurlyLine.h:28
void SetBBoxCenter(const TPoint &p) override
void SetBBoxY2(const Int_t y) override
virtual void Build()
static Double_t GetDefaultWaveLength()
Rectangle_t GetBBox() override
TPoint GetBBoxCenter() override
static Bool_t GetDefaultIsCurly()
Double_t GetEndY() const
Definition TCurlyLine.h:50
virtual void SetAmplitude(Double_t x)
static void SetDefaultWaveLength(Double_t WaveLength)
virtual void SetEndPoint(Double_t x2, Double_t y2)
void SavePrimitive(std::ostream &out, Option_t *="") override
Save a primitive as a C++ statement(s) on output stream "out".
TCurlyLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Double_t wl=.02, Double_t amp=.01)
virtual void SetWavy()
Double_t GetStartY() const
Definition TCurlyLine.h:49
static Bool_t fgDefaultIsCurly
default curly type
Definition TCurlyLine.h:33
Double_t fY2
end y
Definition TCurlyLine.h:25
virtual void SetCurly()
virtual void SetWaveLength(Double_t WaveLength)
static void SetDefaultAmplitude(Double_t Amplitude)
static Double_t GetDefaultAmplitude()
void SetBBoxX1(const Int_t x) override
Double_t fX1
start x, center for arc
Definition TCurlyLine.h:22
static Double_t fgDefaultWaveLength
default wavelength
Definition TCurlyLine.h:31
void SetBBoxCenterX(const Int_t x) override
Bool_t GetCurly() const
Definition TCurlyLine.h:44
Double_t GetWaveLength() const
Definition TCurlyLine.h:45
static Double_t fgDefaultAmplitude
default amplitude
Definition TCurlyLine.h:32
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Computes distance from point (px,py) to the object.
Double_t GetStartX() const
Definition TCurlyLine.h:47
Double_t fX2
end x
Definition TCurlyLine.h:24
virtual void SetStartPoint(Double_t x1, Double_t y1)
void ExecuteEvent(Int_t event, Int_t px, Int_t py) override
Execute action corresponding to an event at (px,py).
Bool_t fIsCurly
true: Gluon, false: Gamma
Definition TCurlyLine.h:29
Double_t GetEndX() const
Definition TCurlyLine.h:48
void SetBBoxCenterY(const Int_t y) override
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
Rectangle structure (maps to the X11 XRectangle structure).
Definition GuiTypes.h:362