RobWorkProject
24.8.23-
|
Describes a line segment in 2D. More...
#include <Line2D.hpp>
Public Types | |
enum | IntersectResult { PARALLEL , COINCIDENT , INTERSECTS } |
definition of intersection result values for the intersection test between two lines. More... | |
Public Member Functions | |
Line2D () | |
Constructor. | |
Line2D (const rw::math::Vector2D<> &p1, const rw::math::Vector2D<> &p2) | |
Creates a line between that intersect the two points p1 and p2. More... | |
Line2D (double x1, double y1, double x2, double y2) | |
Creates a line between that intersect the two points (x1,y1) and (x2,y2). More... | |
virtual | ~Line2D () |
Destructor. | |
IntersectResult | getIntersect (const Line2D &line, rw::math::Vector2D<> &res) const |
calculates the intersection between two lines. A intersection point is only saved in res if the two lines are not parallel or coincident. The intersection test does not take the segments into acount. More... | |
double | calcAngle (const Line2D &line) const |
calculates the angle between this line and line More... | |
double | calcAngle () const |
calculates the angle between the projection of this line onto yz-plane and the x-axis More... | |
double | calcDist (const rw::math::Vector2D<> &v) const |
calculates the shortest distance between point v and the infinite line. More... | |
double | getLength () const |
gets the length of thi line segment. More... | |
rw::math::Vector2D & | p1 () |
first point on the line | |
const rw::math::Vector2D & | p1 () const |
first point on the line More... | |
rw::math::Vector2D & | p2 () |
second point on the line | |
const rw::math::Vector2D & | p2 () const |
second point on the line More... | |
rw::math::Vector2D | calcUnitNormal () const |
calculates the unit normal of the line | |
Related Functions | |
(Note that these are not member functions.) | |
template<> | |
void | write (const rw::math::Line2D &sobject, rw::common::OutputArchive &oarchive, const std::string &id) |
template<> | |
void | read (rw::math::Line2D &sobject, rw::common::InputArchive &iarchive, const std::string &id) |
Describes a line segment in 2D.
enum IntersectResult |
Line2D | ( | const rw::math::Vector2D<> & | p1, |
const rw::math::Vector2D<> & | p2 | ||
) |
Creates a line between that intersect the two points p1 and p2.
p1 | [in] point |
p2 | [in] point |
Line2D | ( | double | x1, |
double | y1, | ||
double | x2, | ||
double | y2 | ||
) |
Creates a line between that intersect the two points (x1,y1) and (x2,y2).
x1 | [in] x coordinate of point 1 |
y1 | [in] y coordinate of point 1 |
x2 | [in] x coordinate of point 2 |
y2 | [in] y coordinate of point 2 |
double calcAngle | ( | ) | const |
calculates the angle between the projection of this line onto yz-plane and the x-axis
double calcAngle | ( | const Line2D & | line | ) | const |
calculates the angle between this line and line
line | [in] a line |
double calcDist | ( | const rw::math::Vector2D<> & | v | ) | const |
calculates the shortest distance between point v and the infinite line.
v | [in] Point to which to calculate distance |
IntersectResult getIntersect | ( | const Line2D & | line, |
rw::math::Vector2D<> & | res | ||
) | const |
calculates the intersection between two lines. A intersection point is only saved in res if the two lines are not parallel or coincident. The intersection test does not take the segments into acount.
line | [in] the line two test against |
res | [out] the point of intersection |
|
inline |
gets the length of thi line segment.
|
inline |
first point on the line
|
inline |
second point on the line
|
related |
Enable read-serialization of class T by overloading this method. Data is read from iarchive and filled into sobject.
sobject | [out] the object in which the data should be streamed into |
iarchive | [in] the InputArchive from which to read data. |
id | [in] The id of the serialized sobject. |
|
related |
Enable write-serialization of class T by overloading this method. Data is written to oarchive from the sobject.
sobject | [in] the object from which the data should be streamed. |
oarchive | [out] the OutputArchive in which data should be written. |
id | [in] The id of the serialized sobject. |