1 #ifndef MATH3D_LINE2D_H 2 #define MATH3D_LINE2D_H 24 Real closestPointParameter(
const Point2D& in)
const;
26 Real closestPoint(
const Point2D& in,
Point2D& out, Real tmin, Real tmax)
const;
27 Real distance(
const Point2D& pt)
const;
28 void eval(Real t,
Point2D& out)
const;
29 Real orientation(
const Point2D& p)
const;
30 bool isLeft(
const Point2D& p)
const {
return orientation(p) > Zero; }
31 bool isRight(
const Point2D& p)
const {
return orientation(p) < Zero; }
33 bool Write(
File& f)
const;
35 void getAABB(
AABB2D&, Real tmin=-Inf, Real tmax=Inf)
const;
36 bool lineIntersects(
const AABB2D&)
const;
37 bool rayIntersects(
const AABB2D&)
const;
39 bool intersects(
const AABB2D&, Real& tmin, Real& tmax)
const;
A 2D line class.
Definition: Line2D.h:19
A 2D segment class.
Definition: Segment2D.h:17
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
A 3x3 matrix class.
Definition: math3d/primitives.h:469
Contains all definitions in the Math package.
Definition: WorkspaceBound.h:12
A 2D vector class.
Definition: math3d/primitives.h:41
A 2D axis-aligned bounding box.
Definition: AABB2D.h:13
A cross-platform class for reading/writing binary data.
Definition: File.h:47