Go to the documentation of this file.
53 inline Line(
double x1,
double y1,
double x2,
double y2,
66 inline Line(
double x1,
double y1,
double x2,
double y2,
const Style & style);
96 const std::string &
name()
const override;
149 Line &
scale(
double sx,
double sy)
override;
195 Line resized(
double w,
double h, LineWidthFlag lineWidthFlag)
const;
208 void flushFIG(std::ostream & stream,
const TransformFIG & transform, std::map<Color, int> & colormap)
const override;
261 inline const Point &
a()
const;
268 inline const Point &
b()
const;
272 Line & operator=(
const Line & line);
273 ~
Line()
override =
default;
276 static const std::string _name;
291 Line::Line(
double x1,
double y1,
double x2,
double y2,
Color color,
double lineWidth,
const LineStyle style,
const LineCap cap,
const LineJoin join)
void flushTikZ(std::ostream &stream, const TransformTikZ &transform) const override
Definition: Line.cpp:193
const Point & a() const
Definition: Line.h:311
Line & rotate(double angle, const Point ¢er) override
Definition: Line.cpp:55
@copyright This source code is part of the Board project, a C++ library whose purpose is to allow sim...
static const double & defaultLineWidth()
defaultLineWidth
Definition: Style.h:276
const Point & b() const
Definition: Line.h:316
Point _a
Definition: Line.h:279
virtual void accept(ShapeVisitor &visitor) override
Accepts a visitor object.
Definition: Line.cpp:200
Struct representing a rectangle on the plane.
Definition: Rect.h:39
Line scaled(double sx, double sy) const
Definition: Line.cpp:118
Line & scale(double sx, double sy) override
Definition: Line.cpp:99
Line & translate(double dx, double dy) override
Definition: Line.cpp:84
Line rotated(double angle, const Point ¢er) const
Definition: Line.cpp:67
Rect boundingBox(LineWidthFlag) const override
Definition: Line.cpp:242
Line resized(double w, double h, LineWidthFlag lineWidthFlag) const
Definition: Line.cpp:136
void flushPostscript(std::ostream &stream, const TransformEPS &transform) const override
Definition: Line.cpp:146
void flushFIG(std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const override
Definition: Line.cpp:157
Struct representing a 2D point.
Definition: Point.h:42
A line between two points.
Definition: Line.h:38
void scaleAll(double s) override
Definition: Line.cpp:128
Line translated(double dx, double dy) const
Definition: Line.cpp:91
static const LineCap & defaultLineCap()
defaultLineCap
Definition: Style.h:296
Abstract structure for a 2D shape.
Definition: Shape.h:63
A ConstShapeVisitor may visit const shapes of a composite shape tree in back-to-front order.
Definition: ShapeVisitor.h:78
const std::string & name() const override
Definition: Line.cpp:50
Line * clone() const override
Definition: Line.cpp:141
void flushSVG(std::ostream &stream, const TransformSVG &transform) const override
Definition: Line.cpp:183
virtual Point center(LineWidthFlag lineWidthFlag=IgnoreLineWidth) const
Definition: Shape.cpp:59
Line(double x1, double y1, double x2, double y2, Color color, double lineWidth=Style::defaultLineWidth(), const LineStyle lineStyle=Style::defaultLineStyle(), const LineCap cap=Style::defaultLineCap(), const LineJoin join=Style::defaultLineJoin())
Definition: Line.h:291
static const LineJoin & defaultLineJoin()
defaultLineJoin
Definition: Style.h:301
static const LineStyle & defaultLineStyle()
defaultLineStyle
Definition: Style.h:291
Point _b
Definition: Line.h:280
A ShapeVisitor visits all shapes in a composite shape tree in back-to-front order.
Definition: ShapeVisitor.h:53
Structure representing an RGB triple.
Definition: Color.h:43
Abstract structure for a 2D shape.
Definition: ShapeWithStyle.h:38