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

#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 ( )
inlineexplicit

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: