# IpeLine Class Reference
[Ipe Geometry]

A directed line. More...

List of all members.

## Public Member Functions

- IpeLine ()
- IpeLine (const IpeVector &p, const IpeVector &dir)
- double Side (const IpeVector &p) const
- IpeVector Normal () const
- double Distance (const IpeVector &v) const
- bool Intersects (const IpeLine &line, IpeVector &pt)
- IpeVector Project (const IpeVector &v) const

## Public Attributes

- IpeVector iP
- IpeVector iDir

## Detailed Description

A directed line.

The direction vector iDir must have unit length. Since it's a public member, you have to take care of this yourself. The class asserts that iDir has unit length in the member functions that rely on it if IPELIB_DEBUG was defined when compiling Ipelib.

## Constructor & Destructor Documentation

IpeLine::IpeLine | ( |  | ) | `[inline, explicit]`

| Create default line (x-axis).

IpeLine::IpeLine | ( | const IpeVector & | p,
|  | const IpeVector & | dir
| ) | `[inline, explicit]`

| Construct a line from starting point and direction.

## Member Function Documentation

double IpeLine::Side | ( | const IpeVector & | p | ) | const

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

IpeVector IpeLine::Normal | ( |  | ) | const`[inline]`

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

double IpeLine::Distance | ( | const IpeVector & | v | ) | const

| Returns distance between line and v.

bool IpeLine::Intersects | ( | const IpeLine & | line,
|  | IpeVector & | pt
| ) |

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

IpeVector IpeLine::Project | ( | const IpeVector & | v | ) | const

| Orthogonally project point v onto the line.

## Member Data Documentation

IpeVector IpeLine::iP

| { Members are public

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

- ipegeo.h
- ipegeo.cpp