
A segment of a straight line in the 2D plane. More...
#include <MBARI/Geometry2D.H>

Public Member Functions | |
| LineSegment2D () | |
| default constructor, constructs an invalid object | |
| LineSegment2D (const Point2D< int > &p1, const Point2D< int > &p2) | |
| construct from two Point2D<int> | |
| LineSegment2D (std::istream &is) | |
| Construct from the data contained in the input stream is. | |
| void | reset (const Point2D< int > &point, const Point2D< int > &direction) |
| reset the straight line | |
| void | writeToStream (std::ostream &os) const |
| write the entire StraightLine2D to the output stream os | |
| void | readFromStream (std::istream &is) |
| read the StraightLine2D from the input stream is | |
| Point2D< int > | point1 () const |
| get a point on the line | |
| Point2D< int > | point2 () const |
| returns the direction vector for this straight line | |
| double | angle () const |
| returns the angle of the line | |
| double | angleBetween (LineSegment2D &line) const |
| bool | intersects (LineSegment2D &line, double &xcoord, double &ycoord) const |
| double | distance (Point2D< double > point) const |
| double | distance (Point2D< int > point) const |
| float | length () const |
| bool | isValid () const |
| whether this object is valid | |
A segment of a straight line in the 2D plane.
Definition at line 233 of file Geometry2D.H.
| LineSegment2D::LineSegment2D | ( | ) |
default constructor, constructs an invalid object
Definition at line 437 of file Geometry2D.C.
construct from two Point2D<int>
| p1 | an endpoint on the line | |
| p2 | the second endpoint of the line line |
Definition at line 442 of file Geometry2D.C.
| LineSegment2D::LineSegment2D | ( | std::istream & | is | ) |
Construct from the data contained in the input stream is.
Definition at line 448 of file Geometry2D.C.
References readFromStream().
| double LineSegment2D::angle | ( | ) | const |
returns the angle of the line
Definition at line 500 of file Geometry2D.C.
References Point2D< T >::i, point1(), and point2().
| bool LineSegment2D::intersects | ( | LineSegment2D & | line, | |
| double & | xcoord, | |||
| double & | ycoord | |||
| ) | const |
returns true if the two line segments intersect. x and y are set to be the point of intersection of the lines, whether or not the segments themselves intersect.
Definition at line 524 of file Geometry2D.C.
References Point2D< T >::i, isFinite(), point1(), point2(), and sqrt().
| bool LineSegment2D::isValid | ( | ) | const |
whether this object is valid
Definition at line 519 of file Geometry2D.C.
| Point2D< int > LineSegment2D::point1 | ( | ) | const |
get a point on the line
| n | get point point + n * direction; for n = 0 (default), this is the point entered in the constructor or in reset |
Definition at line 486 of file Geometry2D.C.
References ASSERT, and isValid().
Referenced by angle(), and intersects().
| Point2D< int > LineSegment2D::point2 | ( | ) | const |
returns the direction vector for this straight line
Definition at line 493 of file Geometry2D.C.
References ASSERT, and isValid().
Referenced by angle(), and intersects().
| void LineSegment2D::readFromStream | ( | std::istream & | is | ) |
read the StraightLine2D from the input stream is
Definition at line 477 of file Geometry2D.C.
Referenced by LineSegment2D().
reset the straight line
| point | vector determining a point on the line | |
| direction | vector determing the direction if the line |
Definition at line 454 of file Geometry2D.C.
| void LineSegment2D::writeToStream | ( | std::ostream & | os | ) | const |
write the entire StraightLine2D to the output stream os
Definition at line 468 of file Geometry2D.C.
1.6.3