ipe::ClosedSpline Class Reference
Ipe Geometry

`#include <ipeshape.h>`

Inherits ipe::SubPath.

## Public Member Functions

| ClosedSpline (const std::vector< Vector > &v)
virtual Type | type () const
virtual const ClosedSpline * | asClosedSpline () const
void | beziers (std::vector< Bezier > &bez) const
virtual void | save (Stream &stream) const
virtual void | draw (Painter &painter) const
virtual void | addToBBox (Rect &box, const Matrix &m, bool cp) const
virtual double | distance (const Vector &v, const Matrix &m, double bound) const
virtual void | snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
virtual void | snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
Public Member Functions inherited from ipe::SubPath
virtual | ~SubPath ()=0
virtual bool | closed () const
virtual const Ellipse * | asEllipse () const
virtual const Curve * | asCurve () const

## Public Attributes

std::vector< Vector > | iCP

## Additional Inherited Members

Public Types inherited from ipe::SubPath
enum | Type { ECurve, EEllipse, EClosedSpline }

## Detailed Description

A closed B-spline curve.

## Constructor & Destructor Documentation

ClosedSpline::ClosedSpline | ( | const std::vector< Vector > & | v | ) |

## Member Function Documentation

SubPath::Type ClosedSpline::type | ( |  | ) | const

virtual

Return type of this subpath.

Implements ipe::SubPath.

References ipe::SubPath::EClosedSpline.

const ClosedSpline * ClosedSpline::asClosedSpline | ( |  | ) | const

virtual

Return this object as an ClosedSpline, or 0 if it's not a closed spline.

Reimplemented from ipe::SubPath.

void ClosedSpline::beziers | ( | std::vector< Bezier > & | bez | ) | const

References ipe::Bezier::closedSpline().

void ClosedSpline::save | ( | Stream & | stream | ) | const

virtual

Save subpath to XML stream.

Implements ipe::SubPath.

void ClosedSpline::draw | ( | Painter & | painter | ) | const

virtual

Draw subpath (does not call drawPath()).

Implements ipe::SubPath.

References ipe::Painter::closePath(), ipe::Painter::curveTo(), and ipe::Painter::moveTo().

void ClosedSpline::addToBBox | ( | Rect & | box,
|  | const Matrix & | m,
|  | bool | cp
| ) |  | const

virtual

Add subpath to box.

Implements ipe::SubPath.

References ipe::Rect::addPoint(), and ipe::Rect::addRect().

double ClosedSpline::distance | ( | const Vector & | v,
|  | const Matrix & | m,
|  | double | bound
| ) |  | const

virtual

Return distance from v to subpath transformed by m.

Implements ipe::SubPath.

References ipe::Ellipse::distance().

void ClosedSpline::snapVtx | ( | const Vector & | mouse,
|  | const Matrix & | m,
|  | Vector & | pos,
|  | double & | bound,
|  | bool | cp
| ) |  | const

virtual

Snap to vertex.

Implements ipe::SubPath.

void ClosedSpline::snapBnd | ( | const Vector & | mouse,
|  | const Matrix & | m,
|  | Vector & | pos,
|  | double & | bound
| ) |  | const

virtual

Snap to boundary of subpath.

Implements ipe::SubPath.

References ipe::Shape::Shape().

## Member Data Documentation

std::vector<Vector> ipe::ClosedSpline::iCP

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

- ipeshape.h
- ipeshape.cpp