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

mlib::UVline Class Reference
["UV" Coordinate System]

A line in UV coordinates. More...

#include <points.H>

Inheritance diagram for mlib::UVline:

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

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 UVpt &p, const UVvec &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 UVpt &p1, const UVpt &p2)
 Constructor that creates the line going through points p1 and p2. Alternately creates a line segment with endpoints p1 and p2.
const UVptpoint () const
UVptpoint ()
const UVvecvector () const
UVvecvector ()
bool is_valid () const
 Is the line valid (i.e. has a vector with non-zero length).
UVpt endpt () const
 Returns the second endpoint of the line when treated as a line segment.
UVpt 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< UVline, UVpt, UVvec > &l) const
 Are the two line's points and vectors exactly equal?
double dist (const UVpt &p) const
 Returns the distance from the point to the line.
UVpt project (const UVpt &p) const
 Returns closest point on line to given point p.
UVpt project_to_seg (const UVpt &p) const
 Finds the nearest point on this line segment to the given point.
UVpt project_to_seg (const UVline &l) const
 Finds the nearest point on this line segment to the given line.
UVpt reflection (const UVpt &p) const
UVpt intersect (const UVline &l) const
 Returns the closest point on this line to the given line l.
bool intersect_segs (const UVline &l, UVpt &inter) const
 Returns true if this line, treated as a segment, intersects the given line, also treated as a segment.
bool intersect_segs (const UVline &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 UVline &l, UVpt &inter) const
 Returns true if this line, treated as a segment, intersects the given line, also treated as a line.
Constructors
 UVline ()
 UVline (CUVpt &p, CUVvec &v)
 UVline (CUVpt &p1, CUVpt &p2)

Protected Attributes

UVpt _point
UVvec _vector

Detailed Description

A line in UV coordinates.

Definition at line 1301 of file points.H.


Constructor & Destructor Documentation

mlib::UVline::UVline  )  [inline]
 

Definition at line 1308 of file points.H.

mlib::UVline::UVline CUVpt p,
CUVvec v
[inline]
 

Definition at line 1309 of file points.H.

mlib::UVline::UVline CUVpt p1,
CUVpt p2
[inline]
 

Definition at line 1310 of file points.H.


Member Function Documentation

double mlib::Line< UVline , UVpt , UVvec >::dist const UVpt 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.

UVpt mlib::Line< UVline , UVpt , UVvec >::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.

UVpt mlib::Line< UVline , UVpt , UVvec >::intersect const UVline 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< UVline , UVpt , UVvec >::intersect_seg_line const UVline l,
UVpt 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< UVline , UVpt , UVvec >::intersect_segs const UVline 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< UVline , UVpt , UVvec >::intersect_segs const UVline l,
UVpt 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< UVline , UVpt , UVvec >::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< UVline , UVpt , UVvec >::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< UVline , UVpt , UVvec >::Line const UVpt p1,
const UVpt 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< UVline , UVpt , UVvec >::Line const UVpt p,
const UVvec 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< UVline , UVpt , UVvec >::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.

UVpt mlib::Line< UVline , UVpt , UVvec >::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< UVline , UVpt , UVvec >::operator== const Line< UVline , UVpt , UVvec > &  l  )  const [inline, inherited]
 

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

Definition at line 92 of file line.H.

UVpt & mlib::Line< UVline , UVpt , UVvec >::point  )  [inline, inherited]
 

Definition at line 63 of file line.H.

const UVpt & mlib::Line< UVline , UVpt , UVvec >::point  )  const [inline, inherited]
 

Definition at line 62 of file line.H.

UVpt mlib::Line< UVline , UVpt , UVvec >::project const UVpt 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.

UVpt mlib::Line< UVline , UVpt , UVvec >::project_to_seg const UVline 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.

UVpt mlib::Line< UVline , UVpt , UVvec >::project_to_seg const UVpt 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.

UVpt mlib::Line< UVline , UVpt , UVvec >::reflection const UVpt p  )  const [inline, inherited]
 

Definition at line 144 of file line.H.

UVvec & mlib::Line< UVline , UVpt , UVvec >::vector  )  [inline, inherited]
 

Definition at line 65 of file line.H.

const UVvec & mlib::Line< UVline , UVpt , UVvec >::vector  )  const [inline, inherited]
 

Definition at line 64 of file line.H.


Member Data Documentation

UVpt mlib::Line< UVline , UVpt , UVvec >::_point [protected, inherited]
 

Definition at line 238 of file line.H.

UVvec mlib::Line< UVline , UVpt , UVvec >::_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:24 2006 for jot by  doxygen 1.4.4