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;
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;
276 static const std::string _name;
@copyright This source code is part of the Board project, a C++ library whose purpose is to allow sim...
Structure representing an RGB triple.
Definition Color.h:43
LineStyle
Definition Style.h:47
LineCap
Definition Style.h:35
LineWidthFlag
Definition Style.h:57
LineJoin
Definition Style.h:41
A ConstShapeVisitor may visit const shapes of a composite shape tree in back-to-front order.
Definition ShapeVisitor.h:79
A line between two points.
Definition Line.h:38
Point _a
Definition Line.h:279
virtual void accept(ShapeVisitor &visitor) override
Accepts a visitor object.
Definition Line.cpp:200
Line rotated(double angle, const Point ¢er) const
Definition Line.cpp:67
void flushFIG(std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const override
Definition Line.cpp:157
const std::string & name() const override
Definition Line.cpp:50
Point _b
Definition Line.h:280
void flushTikZ(std::ostream &stream, const TransformTikZ &transform) const override
Definition Line.cpp:193
const Point & b() const
Definition Line.h:316
void flushPostscript(std::ostream &stream, const TransformEPS &transform) const override
Definition Line.cpp:146
Line & operator=(const Line &line)
Definition Line.cpp:235
Line translated(double dx, double dy) const
Definition Line.cpp:91
Rect boundingBox(LineWidthFlag) const override
Definition Line.cpp:242
Line resized(double w, double h, LineWidthFlag lineWidthFlag) const
Definition Line.cpp:136
Line & translate(double dx, double dy) override
Definition Line.cpp:84
Line & scale(double sx, double sy) override
Definition Line.cpp:99
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
const Point & a() const
Definition Line.h:311
Line scaled(double sx, double sy) const
Definition Line.cpp:118
void flushSVG(std::ostream &stream, const TransformSVG &transform) const override
Definition Line.cpp:183
Line & rotate(double angle, const Point ¢er) override
Definition Line.cpp:55
Line * clone() const override
Definition Line.cpp:141
void scaleAll(double s) override
Definition Line.cpp:128
Struct representing a 2D point.
Definition Point.h:42
Struct representing a rectangle on the plane.
Definition Rect.h:40
A ShapeVisitor visits all shapes in a composite shape tree in back-to-front order.
Definition ShapeVisitor.h:54
Abstract structure for a 2D shape.
Definition ShapeWithStyle.h:38
Style style() const
Definition ShapeWithStyle.h:215
double lineWidth() const
Definition ShapeWithStyle.h:165
LineStyle lineStyle() const
Definition ShapeWithStyle.h:176
Abstract structure for a 2D shape.
Definition Shape.h:64
virtual Point center(LineWidthFlag lineWidthFlag=IgnoreLineWidth) const
Definition Shape.cpp:59
static const double & defaultLineWidth()
defaultLineWidth
Definition Style.h:274
static const LineStyle & defaultLineStyle()
defaultLineStyle
Definition Style.h:289
static const LineCap & defaultLineCap()
defaultLineCap
Definition Style.h:294
static const LineJoin & defaultLineJoin()
defaultLineJoin
Definition Style.h:299