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: