Line segment in two dimensions.
More...
#include <JSegment2D.hh>
Line segment in two dimensions.
Definition at line 36 of file JSegment2D.hh.
◆ JSegment2D() [1/2]
JGEOMETRY2D::JSegment2D::JSegment2D |
( |
| ) |
|
|
inline |
Default constructor.
Definition at line 43 of file JSegment2D.hh.
std::pair< JPosition2D, JPosition2D > JSegment2D_t
Type definition of line segment in two dimensions.
◆ JSegment2D() [2/2]
Constructor.
- Parameters
-
A | start position |
B | end position |
Definition at line 54 of file JSegment2D.hh.
◆ getLengthSquared()
double JGEOMETRY2D::JSegment2D::getLengthSquared |
( |
| ) |
const |
|
inline |
Get length squared.
- Returns
- square of length
Definition at line 65 of file JSegment2D.hh.
Data structure for vector in two dimensions.
double getLengthSquared() const
Get length squared.
◆ getLength()
double JGEOMETRY2D::JSegment2D::getLength |
( |
| ) |
const |
|
inline |
Get length.
- Returns
- length
Definition at line 76 of file JSegment2D.hh.
double getLengthSquared() const
Get length squared.
◆ intersects()
bool JGEOMETRY2D::JSegment2D::intersects |
( |
const JSegment2D & |
segment | ) |
const |
|
inline |
Test whether two line segments intersect.
- Parameters
-
- Returns
- true if two line segment intersect; else false
Definition at line 88 of file JSegment2D.hh.
90 return (
getCCW(this->first, segment.first, this->second) !=
getCCW(this->first, segment.second, this->second) &&
91 getCCW(segment.first, this->first, segment.second) !=
getCCW(segment.first, this->second, segment.second));
bool getCCW(const T &a, const T &b, const T &c)
Check sequence of three points in X-Y plane.
◆ getIntersection()
Get intersection of two line segments.
- Parameters
-
- Returns
- intersection point
Definition at line 101 of file JSegment2D.hh.
103 JVector2D da(this->second - this->first);
104 JVector2D db(segment.second - segment.first);
119 throw JDivisionByZero(
"JSegment2D::getIntersection()");
double getPerpDot(const JFirst_t &first, const JSecond_t &second)
Get perpendicular dot product of objects.
◆ getDistanceSquared()
double JGEOMETRY2D::JSegment2D::getDistanceSquared |
( |
const JVector2D & |
point | ) |
const |
|
inline |
Get squared of distance to point.
- Parameters
-
- Returns
- square of distance
Definition at line 130 of file JSegment2D.hh.
134 const double gp = D.getLengthSquared();
140 double u = D.getDot(U);
152 return D.getLengthSquared();
156 return first.getDistanceSquared(point);
◆ getDistance()
double JGEOMETRY2D::JSegment2D::getDistance |
( |
const JVector2D & |
point | ) |
const |
|
inline |
Get distance to point.
- Parameters
-
- Returns
- distance
Definition at line 167 of file JSegment2D.hh.
double getDistanceSquared(const JVector2D &point) const
Get squared of distance to point.
◆ getDot()
double JGEOMETRY2D::JSegment2D::getDot |
( |
const JSegment2D & |
segment | ) |
const |
|
inline |
Get dot product.
- Parameters
-
- Returns
- dot product
Definition at line 179 of file JSegment2D.hh.
181 return JVector2D(this->second - this->first).
getDot(segment.second - segment.first);
double getDot(const JVector2D &point) const
Get dot product.
◆ operator>>
Read segment from input.
- Parameters
-
- Returns
- reader
Definition at line 192 of file JSegment2D.hh.
195 in >> segment.second;
◆ operator<<
Write segment to output.
- Parameters
-
- Returns
- writer
Definition at line 208 of file JSegment2D.hh.
210 out << segment.first;
211 out << segment.second;
The documentation for this class was generated from the following file: