150 return (
rhs.d == d &&
rhs.normal == normal);
154 return (
rhs.d != d ||
rhs.normal != normal);
A 3D box aligned with the x/y/z axes.
Defines a plane in 3D space.
Real normalise(void)
Normalises the plane.
Side getSide(const AxisAlignedBox &rkBox) const
Returns the side where the alignedBox is.
Plane()
Default constructor - sets everything to 0.
Side getSide(const Vector3 ¢re, const Vector3 &halfSize) const
Returns which side of the plane that the given box lies on.
bool operator==(const Plane &rhs) const
Comparison operator.
Plane(const Vector3 &rkNormal, Real fConstant)
Construct a plane through a normal, and a distance to move the plane along the normal.
void redefine(const Vector3 &rkPoint0, const Vector3 &rkPoint1, const Vector3 &rkPoint2)
Redefine this plane based on 3 points.
Vector3 projectVector(const Vector3 &v) const
Project a vector onto the plane.
Side getSide(const Vector3 &rkPoint) const
bool operator!=(const Plane &rhs) const
Plane(Real a, Real b, Real c, Real d)
Construct a plane using the 4 constants directly.
void redefine(const Vector3 &rkNormal, const Vector3 &rkPoint)
Redefine this plane based on a normal and a point.
Real getDistance(const Vector3 &rkPoint) const
This is a pseudodistance.
Side
The "positive side" of the plane is the half space to which the plane normal points.
Plane(const Vector3 &rkNormal, const Vector3 &rkPoint)
Plane(const Vector3 &rkPoint0, const Vector3 &rkPoint1, const Vector3 &rkPoint2)
Reference-counted shared pointer, used for objects where implicit destruction is required.
Standard 3-dimensional vector.
vector< Plane >::type PlaneList