 |
CUGL 1.3
Cornell University Game Library
|
32 #ifndef __CU_PLANE_H__
33 #define __CU_PLANE_H__
75 #pragma mark Constructors
112 set(point1, point2, point3);
125 Plane(
float a,
float b,
float c,
float d) {
213 Plane&
set(
float a,
float b,
float c,
float d);
229 #pragma mark Static Arithmetic
261 #pragma mark Arithmetic
311 return *(
multiply(*
this,mat,&result));
315 #pragma mark Plane Methods
352 bool contains(
const Vec3& point,
float variance=CU_MATH_EPSILON)
const {
353 return fabsf(
distance(point)) <= variance;
402 #pragma mark Comparisons
441 bool equals(
const Plane& p,
float variance=CU_MATH_EPSILON)
const {
447 #pragma mark Conversion Methods
460 std::string
toString(
bool verbose =
false)
const;
463 operator std::string()
const {
return toString(); }};
Plane(const Plane &plane)
Definition: CUPlane.h:134
static const Plane YZ
Definition: CUPlane.h:72
Plane & operator*=(const Mat4 &mat)
Definition: CUPlane.h:292
Vec3 normal
Definition: CUPlane.h:63
Plane & operator=(const Plane &plane)
Definition: CUPlane.h:152
Plane & multiply(const Mat4 &mat)
Definition: CUPlane.h:275
Plane(const Vec3 &normal, float dist=0)
Definition: CUPlane.h:87
bool operator!=(const Plane &p) const
Definition: CUPlane.h:427
bool equals(const Vec3 &v, float variance=CU_MATH_EPSILON) const
Definition: CUVec3.h:854
Plane(const Vec3 &point1, const Vec3 &point2, const Vec3 &point3)
Definition: CUPlane.h:111
float offset
Definition: CUPlane.h:65
std::string toString(bool verbose=false) const
Side
Definition: CUPlane.h:53
static Plane * multiply(const Plane &plane, const Mat4 &mat, Plane *dst)
bool contains(const Vec3 &point, float variance=CU_MATH_EPSILON) const
Definition: CUPlane.h:352
bool isFrontFacing(const Vec3 &direction) const
Definition: CUPlane.h:396
static float intersection(const Plane &plane, const Ray &ray)
static const Plane XZ
Definition: CUPlane.h:70
Plane(float a, float b, float c, float d)
Definition: CUPlane.h:125
const Plane operator*(const Mat4 &mat) const
Definition: CUPlane.h:309
Side sideOf(const Vec3 &point) const
Definition: CUPlane.h:365
static const Plane XY
Definition: CUPlane.h:68
bool equals(const Plane &p, float variance=CU_MATH_EPSILON) const
Definition: CUPlane.h:441
Plane & operator=(const Vec3 &normal)
Definition: CUPlane.h:165
~Plane()
Definition: CUPlane.h:141
float getIntersection(const Ray &ray) const
Definition: CUPlane.h:339
float distance(const Vec3 &point) const
Definition: CUPlane.h:325
Plane & set(const Plane &plane)
Definition: CUPlane.h:222
Plane()
Definition: CUPlane.h:79
Plane & set(const Vec3 &normal, float dist=0)
Side sideOf(float x, float y, float z) const
Definition: CUPlane.h:381
Plane(const Vec3 &normal, const Vec3 &point)
Definition: CUPlane.h:97
bool operator==(const Plane &p) const
Definition: CUPlane.h:413
float dot(const Vec3 &v) const
Definition: CUVec3.h:993