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

#include <ipegeo.h>

Public Member Functions

 Segment ()
 
 Segment (const Vector &p, const Vector &q)
 
Line line () const
 
double distance (const Vector &v, double bound) const
 
double distance (const Vector &v) const
 
bool project (const Vector &v, Vector &projection) const
 
bool intersects (const Segment &seg, Vector &pt) const
 
bool intersects (const Line &l, Vector &pt) const
 
bool snap (const Vector &mouse, Vector &pos, double &bound) const
 

Public Attributes

Vector iP
 
Vector iQ
 

Detailed Description

A directed line segment.

Constructor & Destructor Documentation

ipe::Segment::Segment ( )
inline

Create uninitialized segment.

ipe::Segment::Segment ( const Vector p,
const Vector q 
)
inlineexplicit

Member Function Documentation

Line ipe::Segment::line ( ) const
inline

Return directed line supporting the segment.

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

double Segment::distance ( const Vector v,
double  bound 
) const

Returns distance between segment and point v, but may just return bound when its larger than bound.

Referenced by ipe::CurveSegment::distance().

double Segment::distance ( const Vector v) const

Returns distance between segment and point v

References ipe::Vector::factorize().

bool Segment::project ( const Vector v,
Vector projection 
) const

Project point v orthogonally on segment. Returns false if the point falls outside the segment.

References ipe::Vector::factorize().

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

bool Segment::intersects ( const Segment seg,
Vector pt 
) const

Compute intersection point. Return false if segs don't intersect.

References iP, iQ, and line().

Referenced by ipe::Bezier::intersect(), and ipe::Bezier::snap().

bool Segment::intersects ( const Line l,
Vector pt 
) const

Compute intersection point. Return false if no intersection.

bool Segment::snap ( const Vector mouse,
Vector pos,
double &  bound 
) const

Snap mouse position to this segment.

If distance between mouse and the segment is less than bound, then set pos to the point on the segment, bound to the distance, and return true.

References ipe::Linear::Linear(), and ipe::Vector::snap().

Referenced by ipe::CurveSegment::snapBnd().

Member Data Documentation

Vector ipe::Segment::iP
Vector ipe::Segment::iQ

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