Class to define the geometry primitive 'Line' consisting of a position and a direction.
 
Class defining a plane in 3D.
 
Plane(const Vector3 &normal, MLdouble distance)
Constructs a plane from normal normal and distance from origin distance.
 
const Vector3 & getNormal() const
Returns the plane normal.
 
bool setNormal(const Vector3 &n)
Sets the plane normal to n (performing normalization), or (1, 0, 0) if n == 0.
 
MLdouble getDistance(const Vector3 &point) const
Returns the distance of point from plane.
 
bool intersect(const Line &l, Vector3 &intersection) const
Intersects this plane with line l and returns the intersection point in intersection.
 
Plane()
Constructor. Normal defaults to (0, 0, 1) and distance to 0.
 
bool isInHalfSpace(const Vector3 &point) const
Returns whether the point lies in the half-space of the plane into which the normal of the plane poin...
 
Plane(const Vector3 &normal, const Vector3 &point)
Constructs a plane from normal and point in space.
 
Vector3 getClosestPoint(const Vector3 &point) const
Projects a point onto this plane.
 
Plane(const Vector3 &p0, const Vector3 &p1, const Vector3 &p2)
Constructs a plane from three points in space.
 
void setDistance(double d)
Sets the distance from origin to d.
 
MLSign edgeIntersect(const Vector3 &v1, const Vector3 &v2, Vector3 &intersectPos) const
Determines whether an edge (line segment) bounded by v1 -> v2 intersects *this.
 
MLdouble getDistanceFromOrigin() const
Returns the minimum distance of plane from origin.
 
#define ML_LINEAR_ALGEBRA_EXPORT
Defines all system specific settings for all linear algebra classes.
 
MLSign
Definition of possible signs as enumerator.