Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

mlib::Wline Class Reference
["World" Coordinate System]

A line in World coordinates. More...

#include <points.H>

Inheritance diagram for mlib::Wline:

Inheritance graph
[legend]
Collaboration diagram for mlib::Wline:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Line ()
 Default constructor. Creates a line with the results of the default constructors for the point and vector classes used.
 Line (const Wpt &p, const Wvec &v)
 Constructor that creates a line containing the point p and moving along the direction of vector v. Alternately creates a line segment with p as one endpoint and ( p + v ) as the other endpoint.
 Line (const Wpt &p1, const Wpt &p2)
 Constructor that creates the line going through points p1 and p2. Alternately creates a line segment with endpoints p1 and p2.
const Wptpoint () const
Wptpoint ()
const Wvecvector () const
Wvecvector ()
bool is_valid () const
 Is the line valid (i.e. has a vector with non-zero length).
Wpt endpt () const
 Returns the second endpoint of the line when treated as a line segment.
Wpt midpt () const
 Returns the midpoint of the line when treated as a line segment.
double length () const
 Returns the length of the line when treated as a line segment.
bool operator== (const Line< Wline, Wpt, Wvec > &l) const
 Are the two line's points and vectors exactly equal?
double dist (const Wpt &p) const
 Returns the distance from the point to the line.
Wpt project (const Wpt &p) const
 Returns closest point on line to given point p.
Wpt project_to_seg (const Wpt &p) const
 Finds the nearest point on this line segment to the given point.
Wpt project_to_seg (const Wline &l) const
 Finds the nearest point on this line segment to the given line.
Wpt reflection (const Wpt &p) const
Wpt intersect (const Wline &l) const
 Returns the closest point on this line to the given line l.
bool intersect_segs (const Wline &l, Wpt &inter) const
 Returns true if this line, treated as a segment, intersects the given line, also treated as a segment.
bool intersect_segs (const Wline &l) const
 Same as Line<L,P,V>::intersect_segLine(const L& l, P& inter) except without the argument to return the intersection point.
bool intersect_seg_line (const Wline &l, Wpt &inter) const
 Returns true if this line, treated as a segment, intersects the given line, also treated as a line.
Constructors
 Wline ()
 Wline (CWpt &p, CWvec &v)
 Wline (CWpt &p1, CWpt &p2)
 Wline (CXYpt &x)

Protected Attributes

Wpt _point
Wvec _vector

Detailed Description

A line in World coordinates.

Definition at line 288 of file points.H.


Constructor & Destructor Documentation

mlib::Wline::Wline  )  [inline]
 

Definition at line 295 of file points.H.

mlib::Wline::Wline CWpt p,
CWvec v
[inline]
 

Definition at line 296 of file points.H.

mlib::Wline::Wline CWpt p1,
CWpt p2
[inline]
 

Definition at line 297 of file points.H.

mlib::Wline::Wline CXYpt x  )  [inline]
 

Definition at line 298 of file points.H.


Member Function Documentation

double mlib::Line< Wline , Wpt , Wvec >::dist const Wpt p  )  const [inline, inherited]
 

Returns the distance from the point to the line.

If vector is null (line is not valid) returns distance to _point.

Definition at line 104 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::endpt  )  const [inline, inherited]
 

Returns the second endpoint of the line when treated as a line segment.

Definition at line 77 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::intersect const Wline l  )  const [inline, inherited]
 

Returns the closest point on this line to the given line l.

For 3D lines it's rare that the 2 lines actually intersect, so this is not really named well.

Definition at line 162 of file line.H.

bool mlib::Line< Wline , Wpt , Wvec >::intersect_seg_line const Wline l,
Wpt inter
const [inline, inherited]
 

Returns true if this line, treated as a segment, intersects the given line, also treated as a line.

On success, also fills in the intersection point.

Definition at line 210 of file line.H.

bool mlib::Line< Wline , Wpt , Wvec >::intersect_segs const Wline l  )  const [inline, inherited]
 

Same as Line<L,P,V>::intersect_segLine(const L& l, P& inter) except without the argument to return the intersection point.

Definition at line 229 of file line.H.

bool mlib::Line< Wline , Wpt , Wvec >::intersect_segs const Wline l,
Wpt inter
const [inline, inherited]
 

Returns true if this line, treated as a segment, intersects the given line, also treated as a segment.

On success, also fills in the intersection point.

Definition at line 187 of file line.H.

bool mlib::Line< Wline , Wpt , Wvec >::is_valid  )  const [inline, inherited]
 

Is the line valid (i.e. has a vector with non-zero length).

Definition at line 73 of file line.H.

double mlib::Line< Wline , Wpt , Wvec >::length  )  const [inline, inherited]
 

Returns the length of the line when treated as a line segment.

Definition at line 84 of file line.H.

mlib::Line< Wline , Wpt , Wvec >::Line const Wpt p1,
const Wpt p2
[inline, inherited]
 

Constructor that creates the line going through points p1 and p2. Alternately creates a line segment with endpoints p1 and p2.

Definition at line 55 of file line.H.

mlib::Line< Wline , Wpt , Wvec >::Line const Wpt p,
const Wvec v
[inline, inherited]
 

Constructor that creates a line containing the point p and moving along the direction of vector v. Alternately creates a line segment with p as one endpoint and ( p + v ) as the other endpoint.

Definition at line 50 of file line.H.

mlib::Line< Wline , Wpt , Wvec >::Line  )  [inline, inherited]
 

Default constructor. Creates a line with the results of the default constructors for the point and vector classes used.

This most likely creates an invalid line (i.e. has a zero length vector) at the origin.

Definition at line 44 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::midpt  )  const [inline, inherited]
 

Returns the midpoint of the line when treated as a line segment.

Definition at line 81 of file line.H.

bool mlib::Line< Wline , Wpt , Wvec >::operator== const Line< Wline , Wpt , Wvec > &  l  )  const [inline, inherited]
 

Are the two line's points and vectors exactly equal?

Definition at line 92 of file line.H.

Wpt & mlib::Line< Wline , Wpt , Wvec >::point  )  [inline, inherited]
 

Definition at line 63 of file line.H.

const Wpt & mlib::Line< Wline , Wpt , Wvec >::point  )  const [inline, inherited]
 

Definition at line 62 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::project const Wpt p  )  const [inline, inherited]
 

Returns closest point on line to given point p.

If vector is null (line is not valid) returns _point.

Definition at line 116 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::project_to_seg const Wline l  )  const [inline, inherited]
 

Finds the nearest point on this line segment to the given line.

If this line is invalid, returns first endpoint.

Definition at line 134 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::project_to_seg const Wpt p  )  const [inline, inherited]
 

Finds the nearest point on this line segment to the given point.

If this line is invalid, returns first endpoint.

Definition at line 124 of file line.H.

Wpt mlib::Line< Wline , Wpt , Wvec >::reflection const Wpt p  )  const [inline, inherited]
 

Definition at line 144 of file line.H.

Wvec & mlib::Line< Wline , Wpt , Wvec >::vector  )  [inline, inherited]
 

Definition at line 65 of file line.H.

const Wvec & mlib::Line< Wline , Wpt , Wvec >::vector  )  const [inline, inherited]
 

Definition at line 64 of file line.H.


Member Data Documentation

Wpt mlib::Line< Wline , Wpt , Wvec >::_point [protected, inherited]
 

Definition at line 238 of file line.H.

Wvec mlib::Line< Wline , Wpt , Wvec >::_vector [protected, inherited]
 

Definition at line 239 of file line.H.


The documentation for this class was generated from the following file:
Generated on Mon Sep 18 11:48:13 2006 for jot by  doxygen 1.4.4