# LibBoard::Path Struct Reference

A path, according to Postscript and SVG definition. More...

`#include <Path.h>`

List of all members.

## Public Member Functions

| Path (const std::vector< Point > &points, bool closed)
| Path (bool closed)
void | clear ()
bool | closed () const
bool | empty () const
unsigned int | size () const
void | setClosed (bool closed)
Point | center () const
Path & | operator<< (const Point &p)
Path & | pop_back ()
Point & | operator[] (const unsigned int n)
const Point & | operator[] (const unsigned int n) const
Path & | rotate (double angle, const Point &center)
Path | rotated (double angle, const Point &center) const
Path & | rotate (double angle)
Path | rotated (double angle) const
Path & | translate (double dx, double dy)
Path | translated (double dx, double dy) const
Path & | scale (double sx, double sy)
Path & | scale (double s)
Path | scaled (double sx, double sy) const
Path | 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) const
void | flushSVGPoints (std::ostream &stream, const TransformSVG &transform) const
void | flushSVGCommands (std::ostream &stream, const TransformSVG &transform) const
Rect | boundingBox () const

## Protected Attributes

std::vector< Point > | _points
bool | _closed

## Detailed Description

A path, according to Postscript and SVG definition.

The path structure.

Examples:

  examples/clipping.cpp.

## Member Function Documentation

Point LibBoard::Path::center | ( |  | ) | const

Barycenter of the path

Returns:

References LibBoard::Rect::height, LibBoard::Rect::left, LibBoard::Rect::top, and LibBoard::Rect::width.

Referenced by LibBoard::Polyline::center(), rotate(), rotated(), LibBoard::Group::scale(), scale(), and LibBoard::Board::scale().

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

Add a point at the end of the path.

Parameters:

  | p |

Returns:

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

Returns the n-th point of the polyline.

Parameters:

  | i |

Returns:

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

Returns the n-th point of the polyline.

Parameters:

  | i |

Returns:

Path & LibBoard::Path::pop_back | ( |  | ) |

Returns:

Referenced by LibBoard::Group::setClippingPath(), and LibBoard::Board::setClippingPath().

Path & LibBoard::Path::rotate | ( | double | angle | ) |

Parameters:

  | angle |

Returns:

References center(), and rotate().

Path & LibBoard::Path::rotate | ( | double | angle,
|  | const Point & | center |
| ) |  |  |

Parameters:

  | angle |
  | center |

Returns:

Referenced by LibBoard::GouraudTriangle::rotate(), LibBoard::Polyline::rotate(), LibBoard::Group::rotate(), rotate(), LibBoard::Board::rotate(), and rotated().

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

Parameters:

  | angle |

Returns:

References center(), and rotate().

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

Parameters:

  | angle |
  | center |

Returns:

Path & LibBoard::Path::scale | ( | double | s | ) |

Parameters:

  | s |

Returns:

References scale().

Path & LibBoard::Path::scale | ( | double | sx,
|  | double | sy |
| ) |  |  |

Parameters:

  | sx |
  | sy |

Returns:

References center(), translate(), LibBoard::Point::x, and LibBoard::Point::y.

Referenced by LibBoard::Polyline::scale(), LibBoard::Group::scale(), scale(), LibBoard::Board::scale(), and scaled().

void LibBoard::Path::scaleAll | ( | double | s | ) |

Scales all the points.

Parameters:

  | s | The scaling factor.

Referenced by LibBoard::GouraudTriangle::scaleAll(), LibBoard::Rectangle::scaleAll(), and LibBoard::Polyline::scaleAll().

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

Parameters:

  | sx |
  | sy |

Returns:

References scale().

Path & LibBoard::Path::translate | ( | double | dx,
|  | double | dy |
| ) |  |  |

Parameters:

  | dx |
  | dy |

Returns:

Referenced by LibBoard::Group::scale(), scale(), LibBoard::Board::scale(), LibBoard::Polyline::translate(), LibBoard::Group::translate(), and LibBoard::Board::translate().

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

Parameters:

  | dx |
  | dy |

Returns:

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

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