38 template<
typename Type>
41 template<
typename Type>
44 template<
typename Type>
47 template<
typename Type>
55 template<
typename Type>
95 template<
typename Type>
108 Line2x(
const Vec2<Type> &point_p, Type gradient): p(point_p), q(static_cast<Type> (1), gradient) {}
Vec2< Type > get_intersection(const Line2x< Type > &second, bool &intersect) const
Return the intersection of this and other line.
Angle class.
Definition: angle.h:62
Line2x(const Vec2< Type > &point_p, Type gradient)
Definition: line.h:108
Line3(const Vec3< int > &point_p, const Vec3< int > &point_q)
Definition: line.h:183
bool operator==(const Line3x< Type > &line) const
== operator.
Definition: line.h:85
Type point_right_of_line(Vec2< Type > point) const
Return [<0, 0, >0] if the Point P is right, on or left of the line trough A,B.
Definition: line.h:124
Line2f(const Line2x< float > ©)
Definition: line.h:162
Vec3< Type > p
Definition: line.h:59
Line2(const Line2x< int > ©)
Definition: line.h:152
Line3x< Type > & operator=(const Line3x< Type > ©)
= operator.
Definition: line.h:82
3D line - Integer
Definition: line.h:178
Line3(const Line3x< int > ©)
Definition: line.h:182
Line2(const Vec2< int > &point_p, int gradient)
Definition: line.h:154
Line3()
Definition: line.h:181
Line2(const Vec2< int > &point_p, const Vec2< int > &point_q)
Definition: line.h:153
2D line - Integer
Definition: line.h:148
Line3f(const Line3x< float > ©)
Definition: line.h:191
2D line
Definition: line.h:39
Line2f(const Vec2< float > &point_p, float gradient)
Definition: line.h:164
2D line - Float
Definition: line.h:158
Type x
Definition: vec2.h:80
bool operator!=(const Line2x< Type > &line) const
!= operator.
Definition: line.h:143
Line3x()
Definition: line.h:62
Line3f()
Definition: line.h:190
Vec2< Type > p
First point on the line.
Definition: line.h:100
Line2x< Type > & operator=(const Line2x< Type > ©)
= operator.
Definition: line.h:137
Vec2< Type > q
Definition: line.h:103
Line3x(const Line3x< Type > ©)
Definition: line.h:63
Line2x(const Vec2< Type > &point_p, const Vec2< Type > &point_q)
Definition: line.h:107
Line2d(const Line2x< double > ©)
Definition: line.h:172
3D line - Double
Definition: line.h:196
2D vector
Definition: line.h:48
Line2d()
Definition: line.h:171
bool operator==(const Line2x< Type > &line) const
== operator.
Definition: line.h:140
Line3d(const Line3x< double > ©)
Definition: line.h:200
2D (left,top,right,bottom) rectangle structure.
Definition: line.h:45
3D vector
Definition: line_ray.h:48
Vec3< Type > q
Definition: line.h:60
Line3d(const Vec3< double > &podouble_p, const Vec3< double > &podouble_q)
Definition: line.h:201
Line3f(const Vec3< float > &point_p, const Vec3< float > &point_q)
Definition: line.h:192
3D line
Definition: line.h:42
Line2x()
Definition: line.h:105
Line3d()
Definition: line.h:199
Line3x(const Vec3< Type > &point_p, const Vec3< Type > &point_q)
Definition: line.h:64
Line2x(const Line2x< Type > ©)
Definition: line.h:106
Line2()
Definition: line.h:151
Vec3< Type > get_intersection(const Line3x< Type > &second, bool &intersect, Type range=(Type) 0.5) const
Return the intersection of this and other line.
bool operator!=(const Line3x< Type > &line) const
!= operator.
Definition: line.h:88
Line2f(const Vec2< float > &point_p, const Vec2< float > &point_q)
Definition: line.h:163
Type y
Definition: vec2.h:81
3D line - Float
Definition: line.h:187
Line2d(const Vec2< double > &point_p, const Vec2< double > &point_q)
Definition: line.h:173
Line2d(const Vec2< double > &point_p, double gradient)
Definition: line.h:174
Line2f()
Definition: line.h:161
2D line - Double
Definition: line.h:168