# LibBoard::Polyline Struct Reference

A polygonal line described by a series of 2D points. More...

`#include <Shapes.h>`

Inheritance diagram for LibBoard::Polyline:

List of all members.

## Public Member Functions

| Polyline (const std::vector< Point > &points, bool closed, Color penColor, Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
| Polyline (const Path &path, Color penColor, Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
| Polyline (bool closed, Color penColor, Color fillColor, double lineWidth, const LineStyle lineStyle=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
const std::string & | name () const
Point | center () const
Polyline & | operator<< (const Point &p)
Point & | operator[] (const unsigned int n)
Polyline & | rotate (double angle, const Point &center)
Polyline | rotated (double angle, const Point &center) const
Polyline & | rotate (double angle)
Polyline | rotated (double angle) const
Polyline & | translate (double dx, double dy)
Polyline | translated (double dx, double dy) const
Shape & | scale (double sx, double sy)
Shape & | scale (double s)
Polyline | scaled (double sx, double sy) const
Polyline | scaled (double s) const
void | scaleAll (double s)
void | flushPostscript (std::ostream &stream, const TransformEPS &transform) const
void | flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const
void | flushSVG (std::ostream &stream, const TransformSVG &transform) const
Rect | boundingBox () const
Polyline * | clone () const

## Protected Attributes

Path | _path

## Detailed Description

A polygonal line described by a series of 2D points.

The polyline structure.

## Member Function Documentation

Rect LibBoard::Polyline::boundingBox | ( |  | ) | const`[virtual]`

Returns the bounding box of the figure.

Returns:
  The rectangle of the bounding box.

Implements LibBoard::Shape.

Point LibBoard::Polyline::center | ( |  | ) | const`[virtual]`

Returns the gravity center of the shape.

Returns:
  The center of the shape.

Implements LibBoard::Shape.

Reimplemented in LibBoard::GouraudTriangle.

References LibBoard::Path::center().

Referenced by rotate(), LibBoard::Rectangle::rotated(), and rotated().

Polyline * LibBoard::Polyline::clone | ( |  | ) | const`[virtual]`

Return a copy of the shape.

Returns:

Implements LibBoard::Shape.

Reimplemented in LibBoard::Rectangle, LibBoard::Triangle, and LibBoard::GouraudTriangle.

void LibBoard::Polyline::flushFIG | ( | std::ostream & | stream,
|  | const TransformFIG & | transform,
|  | std::map< Color, int > & | colormap |
| ) |  |  | const`[virtual]`

Writes the FIG code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Implements LibBoard::Shape.

Reimplemented in LibBoard::Rectangle, and LibBoard::GouraudTriangle.

References LibBoard::Shape::_depth, LibBoard::Shape::_fillColor, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineStyle, LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, and LibBoard::Shape::filled().

void LibBoard::Polyline::flushPostscript | ( | std::ostream & | stream,
|  | const TransformEPS & | transform |
| ) |  |  | const`[virtual]`

Writes the EPS code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Implements LibBoard::Shape.

Reimplemented in LibBoard::GouraudTriangle.

References LibBoard::Shape::_fillColor, LibBoard::Shape::_lineCap, LibBoard::Shape::_lineJoin, LibBoard::Shape::_lineWidth, LibBoard::Shape::_penColor, LibBoard::Shape::filled(), and LibBoard::Shape::postscriptProperties().

Referenced by LibBoard::Board::saveEPS().

void LibBoard::Polyline::flushSVG | ( | std::ostream & | stream,
|  | const TransformSVG & | transform |
| ) |  |  | const`[virtual]`

Writes the SVG code of the shape in a stream according to a transform.

Parameters:

  | stream | The output stream.
  | transform | A 2D transform to be applied.

Implements LibBoard::Shape.

Reimplemented in LibBoard::Rectangle, and LibBoard::GouraudTriangle.

References LibBoard::Shape::svgProperties().

const std::string & LibBoard::Polyline::name | ( |  | ) | const`[virtual]`

Returns the generic name of the shape (e.g., Circle, Rectangle, etc.)

Returns:

Reimplemented from LibBoard::Shape.

Reimplemented in LibBoard::Rectangle, LibBoard::Triangle, and LibBoard::GouraudTriangle.

Polyline & LibBoard::Polyline::operator<< | ( | const Point & | p | ) |

Add a point to the polyline.

Parameters:

  | p |

Returns:

Point& LibBoard::Polyline::operator[] | ( | const unsigned int | n | ) | `[inline]`

Returns the n-th point of the polyline.

Parameters:

  | i |

Returns:

Polyline & LibBoard::Polyline::rotate | ( | double | angle | ) | `[virtual]`

Rotate the shape around its center.

Parameters:

  | angle | The rotation angle in radian.

Returns:
  A reference to the shape itself.

Implements LibBoard::Shape.

Reimplemented in LibBoard::GouraudTriangle.

References center(), and LibBoard::Path::rotate().

Polyline & LibBoard::Polyline::rotate | ( | double | angle,
|  | const Point & | center |
| ) |  |  | `[virtual]`

Rotate the shape around a given center of rotation.

Parameters:

  | angle | The rotation angle in radian.
  | center | The center of rotation.

Returns:
  A reference to the shape itself.

Implements LibBoard::Shape.

Reimplemented in LibBoard::GouraudTriangle.

References LibBoard::Path::rotate().

Referenced by rotated().

Polyline LibBoard::Polyline::rotated | ( | double | angle | ) | const

Parameters:

  | angle |

Returns:

Reimplemented in LibBoard::Rectangle, LibBoard::Triangle, and LibBoard::GouraudTriangle.

References center(), and rotate().

Polyline LibBoard::Polyline::rotated | ( | double | angle,
|  | const Point & | center |
| ) |  |  | const

Parameters:

  | angle |
  | center |

Returns:

Reimplemented in LibBoard::Rectangle, and LibBoard::GouraudTriangle.

References rotate().

Shape & LibBoard::Polyline::scale | ( | double | s | ) | `[virtual]`

Scale the shape along both axis.

Parameters:

  | s | The scale factor along both axis.

Returns:
  The shape itself.

Implements LibBoard::Shape.

References scale().

Shape & LibBoard::Polyline::scale | ( | double | sx,
|  | double | sy |
| ) |  |  | `[virtual]`

Scale the shape along the x an y axis.

Parameters:

  | sx | The scale factor along the x axis.
  | sy | The scale factor along the y axis.

Returns:
  The shape itself.

Implements LibBoard::Shape.

References LibBoard::Path::scale().

Referenced by scale().

void LibBoard::Polyline::scaleAll | ( | double | s | ) | `[virtual]`

Scales all the values (positions, dimensions, etc.) associated with the shape.

Parameters:

  | s | The scaling factor.

Implements LibBoard::Shape.

Reimplemented in LibBoard::Rectangle, and LibBoard::GouraudTriangle.

References LibBoard::Path::scaleAll().

Polyline LibBoard::Polyline::scaled | ( | double | sx,
|  | double | sy |
| ) |  |  | const

Parameters:

  | sx |
  | sy |

Returns:

Reimplemented in LibBoard::Rectangle, LibBoard::Triangle, and LibBoard::GouraudTriangle.

Polyline & LibBoard::Polyline::translate | ( | double | dx,
|  | double | dy |
| ) |  |  | `[virtual]`

Translate the shape by a given offset.

Parameters:

  | dx | The x offset.
  | dy | The y offset.

Returns:
  A reference to the shape itself.

Implements LibBoard::Shape.

References LibBoard::Path::translate().

Referenced by translated().

Polyline LibBoard::Polyline::translated | ( | double | dx,
|  | double | dy |
| ) |  |  | const

Parameters:

  | dx |
  | dy |

Returns:

Reimplemented in LibBoard::Rectangle, LibBoard::Triangle, and LibBoard::GouraudTriangle.

References translate().

The documentation for this struct was generated from the following files:

- include/board/Shapes.h
- src/Shapes.cpp