Ipelib

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
ipe::Line Class Reference
Ipe Geometry

`#include <ipegeo.h>`

## Public Member Functions
| Line ()
| Line (const Vector &p, const Vector &dir)
double | side (const Vector &p) const
Vector | normal () const
double | distance (const Vector &v) const
bool | intersects (const Line &line, Vector &pt)
Vector | project (const Vector &v) const
Vector | dir () const

## Static Public Member Functions
static Line | through (const Vector &p, const Vector &q)

## Public Attributes
Vector | iP

## Detailed Description

A directed line.

## Constructor & Destructor Documentation

## ◆ Line() [1/2]

ipe::Line::Line | ( |  | ) |
| inline explicit

Create default line (x-axis).

Referenced by through().

## ◆ Line() [2/2]

Line::Line | ( | const Vector & | p,
|  | const Vector & | dir
| ) |  |
| explicit

Construct a line from p with direction dir.

Asserts unit length of dir.

References dir(), iP, and ipe::Vector::sqLen().

## Member Function Documentation

## ◆ through()

Line Line::through | ( | const Vector & | p,
|  | const Vector & | q
| ) |  |
| static

Construct a line through two points.

References Line().

Referenced by ipe::Bezier::straight().

## ◆ side()

double Line::side | ( | const Vector & | p | ) | const

Result is > 0, = 0, < 0 if point lies to the left, on, to the right.

References iP, and normal().

Referenced by ipe::Bezier::intersect().

## ◆ normal()

Vector ipe::Line::normal | ( |  | ) | const
| inline

Return a normal vector pointing to the left of the directed line.

References ipe::Vector::x, and ipe::Vector::y.

Referenced by side().

## ◆ distance()

double Line::distance | ( | const Vector & | v | ) | const

Returns distance between line and v.

References iP, and ipe::Vector::len().

Referenced by ipe::Bezier::straight().

## ◆ intersects()

bool Line::intersects | ( | const Line & | line,
|  | Vector & | pt
| ) |  |

Does this line intersect line? If so, computes intersection point.

References iP.

Referenced by ipe::Snap::snap().

## ◆ project()

Vector Line::project | ( | const Vector & | v | ) | const

Orthogonally project point v onto the line.

References iP.

Referenced by ipe::Snap::setEdge(), and ipe::Snap::snap().

## ◆ dir()

Vector ipe::Line::dir | ( |  | ) | const
| inline

Return direction of line.

Referenced by ipe::Arc::intersect(), Line(), and ipe::Snap::setEdge().

## Member Data Documentation

## ◆ iP

Vector ipe::Line::iP

Point on the line.

Referenced by distance(), ipe::Arc::intersect(), intersects(), Line(), project(), and side().

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

- ipegeo.h
- ipegeo.cpp