Claw  1.7.3
Public Types | Public Member Functions | Public Attributes
claw::math::line_2d< T > Class Template Reference

A straight line in a two dimensional space. More...

#include <line_2d.hpp>

List of all members.

Public Types

typedef T value_type
 The type of the values we store.
typedef line_2d< value_typeself_type
 The type of the current class.
typedef coordinate_2d< value_typepoint_type
 The type of the reference point.
typedef vector_2d< value_typedirection_type
 The type of the direction vector.

Public Member Functions

 line_2d ()
 Constructor.
template<class U >
 line_2d (const line_2d< U > &that)
 Constructor.
 line_2d (const point_type &_origin, const direction_type &_direction)
 Constructor with initializations.
 line_2d (const value_type &ox, const value_type &oy, const value_type &dx, const value_type &dy)
 Constructor with initializations.
bool parallel (const self_type &that) const
 Tell if two lines are parallels.
bool orthogonal (const self_type &that) const
 Tell if two lines are orthogonal.
point_type intersection (const self_type &that) const
 Get the point at the intersection of two lines.
value_type y_value (const value_type &x) const
 Get the y value of the point of the line at position x.

Public Attributes

point_type origin
 A reference point on the line.
direction_type direction
 Direction.

Detailed Description

template<class T>
class claw::math::line_2d< T >

A straight line in a two dimensional space.

Author:
Julien Jorge

Definition at line 45 of file line_2d.hpp.


Constructor & Destructor Documentation

template<class T >
template<class U >
claw::math::line_2d< T >::line_2d ( const line_2d< U > &  that)

Constructor.

Parameters:
thatLine to copy from.

Definition at line 48 of file line_2d.tpp.

template<class T >
claw::math::line_2d< T >::line_2d ( const point_type _origin,
const direction_type _direction 
)

Constructor with initializations.

Parameters:
_originA point on the line.
_directionThe direction of the line.

Definition at line 62 of file line_2d.tpp.

template<class T >
claw::math::line_2d< T >::line_2d ( const value_type ox,
const value_type oy,
const value_type dx,
const value_type dy 
)

Constructor with initializations.

Parameters:
oxX-coordinate of the origin.
oyY-coordinate of the origin.
dxX direction of the line.
dyY direction of the line.

Definition at line 77 of file line_2d.tpp.


Member Function Documentation

template<class T >
claw::math::line_2d< T >::point_type claw::math::line_2d< T >::intersection ( const self_type that) const

Get the point at the intersection of two lines.

Parameters:
thatThe other line.
Remarks:
The result if unknow if the two lines are parallel.

Definition at line 115 of file line_2d.tpp.

References claw::math::line_2d< T >::direction, claw::math::line_2d< T >::origin, claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.

template<class T >
bool claw::math::line_2d< T >::orthogonal ( const self_type that) const

Tell if two lines are orthogonal.

Parameters:
thatThe other line.

Definition at line 102 of file line_2d.tpp.

References claw::math::line_2d< T >::direction.

template<class T >
bool claw::math::line_2d< T >::parallel ( const self_type that) const

Tell if two lines are parallels.

Parameters:
thatThe other line.

Definition at line 90 of file line_2d.tpp.

References claw::math::line_2d< T >::direction, claw::math::coordinate_2d< T >::x, and claw::math::coordinate_2d< T >::y.

template<class T >
claw::math::line_2d< T >::value_type claw::math::line_2d< T >::y_value ( const value_type x) const

Get the y value of the point of the line at position x.

Parameters:
xThe X-coordinate for which we want the Y-coordinate.

Definition at line 141 of file line_2d.tpp.


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