16 # include <vcl_msvc_warnings.h> 100 template <
class Type>
106 #define VGL_RAY_3D_INSTANTIATE(T) extern "please include vgl/vgl_ray_3d.hxx first" 108 #endif // vgl_ray_3d_h_ vgl_vector_3d< Type > t_
ray direction vector
bool operator==(vgl_ray_3d< Type > const &r) const
The comparison operator.
vgl_point_3d< Type > point1() const
vgl_ray_3d(vgl_ray_3d< Type > const &l)
Copy constructor.
bool operator!=(vgl_ray_3d< Type >const &other) const
vgl_ray_3d(vgl_point_3d< Type > const &origin, vgl_point_3d< Type > const &p)
Construct from two points.
vgl_point_3d< Type > point2() const
vgl_ray_3d()=default
Default constructor - does not initialise!.
direction vector in Euclidean 3D space
vgl_point_3d< Type > p0_
The ray origin.
Represents a cartesian 3D point.
std::ostream & operator<<(std::ostream &s, vgl_orient_box_3d< Type > const &p)
Write box to stream.
A class to hold a non-homogeneous representation of a 3D line.
vgl_ray_3d(vgl_point_3d< Type > const &p0, vgl_vector_3d< Type > const &direction)
Construct from orign and direction.
a point in 3D nonhomogeneous space
line segment in 3D nonhomogeneous space
double length() const
Return the length of this vector.
~vgl_ray_3d()=default
Destructor.
vgl_point_3d< Type > point1() const
Return the first point representing this line.
Represents a 3D line segment using two points.
vgl_point_3d< Type > origin() const
Accessors.
vgl_ray_3d(vgl_line_segment_3d< Type > const &ls)
Construct from a line segment, direction from 1 to 2.
std::istream & operator>>(std::istream &is, vgl_orient_box_3d< Type > &p)
Read box from stream.
double angle(v const &a, v const &b)
smallest angle between two vectors (in radians, between 0 and Pi).
void set(vgl_point_3d< Type > const &p0, vgl_vector_3d< Type > const &direction)
Assignment.
vgl_point_3d< Type > point2() const
Return the second point representing this line.
bool contains(const vgl_point_3d< Type > &p) const
Check if point p is on the ray and lies in the positive ray direction.
vgl_ray_3d(vgl_line_3d_2_points< Type > const &ls)
Construct from a line 2 points direction from 1 to 2.
non-homogeneous 3D line, represented by 2 points.
vgl_vector_3d< Type > direction() const