25 #ifndef HERMES_GEOMETRY_LINE_H
26 #define HERMES_GEOMETRY_LINE_H
71 friend std::ostream &operator<<(std::ostream &os,
const Line2 &p) {
121 friend std::ostream &operator<<(std::ostream &os,
const Line &p) {
Represents a 2D line by a point and a vector.
Definition: line.h:37
point2 a
line point
Definition: line.h:79
float projection(point2 p) const
Definition: line.h:64
point2 operator()(float t) const
Definition: line.h:54
vec2 d
line direction
Definition: line.h:80
vec2 direction() const
Definition: line.h:60
Line2(point2 _a, vec2 _d)
Definition: line.h:45
point2 closestPoint(point2 p) const
Definition: line.h:67
Represents a line by a point and a vector.
Definition: line.h:87
point3 operator()(float t) const
Definition: line.h:104
vec3 d
line direction
Definition: line.h:130
point3 a
line point
Definition: line.h:129
Line(point3 _a, vec3 _d)
Definition: line.h:95
point3 closestPoint(point3 p) const
Definition: line.h:117
vec3 direction() const
Definition: line.h:110
float projection(point3 p) const
Definition: line.h:114
HERMES_DEVICE_CALLABLE Normal3< T > normalize(const Normal3< T > &normal)
Computes normalized copy.
Definition: normal.h:201
HERMES_DEVICE_CALLABLE T dot(const Normal3< T > &n, const Vector3< T > &v)
Computes dot product with vector.
Definition: normal.h:237
Geometric vector classes.