Thea
Public Types | Public Member Functions | Static Public Member Functions | List of all members
LineNBase< N, T > Class Template Reference

[Internal] Base class for straight lines in N-dimensional space, where N is any positive (non-zero) integer and T is a field. More...

#include <LineN.hpp>

Inheritance diagram for LineNBase< N, T >:
LineN< N, T >

Public Types

typedef LineN< N, T > LineT
 N-dimensional straight line. More...
 
typedef Vector< N, T > VectorT
 N-dimensional vector. More...
 

Public Member Functions

template<typename U >
LineN< N, U > cast () const
 Cast the line to a different scalar type. More...
 
VectorT closestPoint (VectorT const &p) const
 Get the point on the line closest to a given point. More...
 
distance (VectorT const &p) const
 Get the distance of the line from a given point. More...
 
distance (LineT const &other) const
 Get the distance of this line from another line. More...
 
VectorT const & getDirection () const
 Get the unit direction vector of the line. More...
 
VectorT const & getPoint () const
 Get a point on the line. More...
 
squaredDistance (VectorT const &p) const
 Get the square of the distance of the line from a given point. More...
 
squaredDistance (LineT const &other, VectorT *this_pt=nullptr, VectorT *other_pt=nullptr) const
 Get the point on this line and the point on another line closest to each other, and return the squared distance between them. More...
 
std::string toString () const
 Get a textual description of the line. More...
 

Static Public Member Functions

static LineT fromPointAndDirection (VectorT const &point_, VectorT const &direction_, bool normalize=true)
 Construct a line from a point on it, and the direction vector of the line (need not be a unit vector). More...
 
static LineT fromTwoPoints (VectorT const &point1, VectorT const &point2)
 Construct a line from two points on it. More...
 

Detailed Description

template<int N, typename T>
class Thea::Internal::LineNBase< N, T >

[Internal] Base class for straight lines in N-dimensional space, where N is any positive (non-zero) integer and T is a field.

Note
This class is INTERNAL! Don't use it directly.

Definition at line 36 of file LineN.hpp.

Member Typedef Documentation

typedef LineN<N, T> LineT

N-dimensional straight line.

Definition at line 39 of file LineN.hpp.

typedef Vector<N, T> VectorT

N-dimensional vector.

Definition at line 40 of file LineN.hpp.

Member Function Documentation

LineN<N, U> cast ( ) const

Cast the line to a different scalar type.

Definition at line 66 of file LineN.hpp.

VectorT closestPoint ( VectorT const &  p) const

Get the point on the line closest to a given point.

Definition at line 91 of file LineN.hpp.

T distance ( VectorT const &  p) const

Get the distance of the line from a given point.

Definition at line 79 of file LineN.hpp.

T distance ( LineT const &  other) const

Get the distance of this line from another line.

Definition at line 98 of file LineN.hpp.

static LineT fromPointAndDirection ( VectorT const &  point_,
VectorT const &  direction_,
bool  normalize = true 
)
static

Construct a line from a point on it, and the direction vector of the line (need not be a unit vector).

The normalize argument suppresses rescaling of the direction vector to unit length if set to false.

Definition at line 48 of file LineN.hpp.

static LineT fromTwoPoints ( VectorT const &  point1,
VectorT const &  point2 
)
static

Construct a line from two points on it.

Definition at line 60 of file LineN.hpp.

VectorT const& getDirection ( ) const

Get the unit direction vector of the line.

Definition at line 76 of file LineN.hpp.

VectorT const& getPoint ( ) const

Get a point on the line.

Definition at line 73 of file LineN.hpp.

T squaredDistance ( VectorT const &  p) const

Get the square of the distance of the line from a given point.

Definition at line 85 of file LineN.hpp.

T squaredDistance ( LineT const &  other,
VectorT this_pt = nullptr,
VectorT other_pt = nullptr 
) const

Get the point on this line and the point on another line closest to each other, and return the squared distance between them.

Definition at line 107 of file LineN.hpp.

std::string toString ( ) const

Get a textual description of the line.

Definition at line 138 of file LineN.hpp.


The documentation for this class was generated from the following file: