# IpeEllipse Class Reference
[Ipe Objects]

An ellipse subpath. More...

Inherits IpeSubPath.

List of all members.

## Public Member Functions

- IpeEllipse (const IpeMatrix &m)
- virtual TType Type () const
- virtual const IpeEllipse * AsEllipse () const
- virtual IpeEllipse * AsEllipse ()
- virtual IpeSubPath * Clone () const
- virtual IpeSubPath * Transform (const IpeMatrix &m) const
- IpeMatrix Matrix () const
- void SetMatrix (const IpeMatrix &m)
- virtual void SaveAsXml (IpeStream &stream) const
- virtual void Draw (IpePainter &painter) const
- virtual void AddToBBox (IpeRect &box, const IpeMatrix &m) const
- virtual double Distance (const IpeVector &v, const IpeMatrix &m, double bound) const
- virtual void SnapVtx (const IpeVector &mouse, const IpeMatrix &m, IpeVector &pos, double &bound) const
- virtual void SnapBnd (const IpeVector &mouse, const IpeMatrix &m, IpeVector &pos, double &bound) const

## Detailed Description

An ellipse subpath.

## Member Function Documentation

IpeSubPath::TType IpeEllipse::Type | ( |  | ) | const`[virtual]`

Return type of this subpath.

Implements IpeSubPath.

const IpeEllipse * IpeEllipse::AsEllipse | ( |  | ) | const`[virtual]`

Return this object as an IpeEllipse, or 0 if it's not an ellipse.

Reimplemented from IpeSubPath.

IpeEllipse * IpeEllipse::AsEllipse | ( |  | ) | `[virtual]`

Return this object as an IpeEllipse, or 0 if it's not an ellipse.

Reimplemented from IpeSubPath.

IpeSubPath * IpeEllipse::Clone | ( |  | ) | const`[virtual]`

Return a copy of this subpath.

Implements IpeSubPath.

IpeSubPath * IpeEllipse::Transform | ( | const IpeMatrix & | m | ) | const`[virtual]`

Return a transformed copy of this subpath.

Implements IpeSubPath.

IpeMatrix IpeEllipse::Matrix | ( |  | ) | const`[inline]`

Return matrix that transforms unit circle to the ellipse.

void IpeEllipse::SetMatrix | ( | const IpeMatrix & | m | ) | `[inline]`

Set matrix.

void IpeEllipse::SaveAsXml | ( | IpeStream & | stream | ) | const`[virtual]`

Save subpath to XML stream.

Implements IpeSubPath.

void IpeEllipse::Draw | ( | IpePainter & | painter | ) | const`[virtual]`

Draw subpath (does not call DrawPath()).

Implements IpeSubPath.

void IpeEllipse::AddToBBox | ( | IpeRect & | box,
|  | const IpeMatrix & | m |
| ) |  |  | const`[virtual]`

Add subpath to box.

Implements IpeSubPath.

double IpeEllipse::Distance | ( | const IpeVector & | v,
|  | const IpeMatrix & | m,
|  | double | bound |
| ) |  |  | const`[virtual]`

Return distance from v to subpath transformed by m.

Implements IpeSubPath.

void IpeEllipse::SnapVtx | ( | const IpeVector & | mouse,
|  | const IpeMatrix & | m,
|  | IpeVector & | pos,
|  | double & | bound |
| ) |  |  | const`[virtual]`

Snaps to center of ellipse.

Implements IpeSubPath.

void IpeEllipse::SnapBnd | ( | const IpeVector & | mouse,
|  | const IpeMatrix & | m,
|  | IpeVector & | pos,
|  | double & | bound |
| ) |  |  | const`[virtual]`

Snap to boundary of subpath.

Implements IpeSubPath.

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

- ipepath.h
- ipepath.cpp