diff options
Diffstat (limited to 'src/Quaternions.h')
-rw-r--r-- | src/Quaternions.h | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Quaternions.h b/src/Quaternions.h index ee3e876..16ff2d9 100644 --- a/src/Quaternions.h +++ b/src/Quaternions.h @@ -41,23 +41,24 @@ constexpr XYZ& operator/=(XYZ& u, float k) { return u = u / k; } #ifdef __cplusplus extern "C" { #endif // __cplusplus - void CrossProduct(struct XYZ P, struct XYZ Q, struct XYZ *V); - void Normalise(struct XYZ *vectory); - bool PointInTriangle(struct XYZ *p, struct XYZ normal, - struct XYZ *p1, struct XYZ *p2, struct XYZ *p3); + float dotProduct(struct XYZ, struct XYZ); + struct XYZ crossProduct(struct XYZ, struct XYZ); + struct XYZ normalize(struct XYZ); + void reflect(struct XYZ*, struct XYZ); + bool segmentIntersectsSphere(struct XYZ, struct XYZ, struct XYZ, float); + float LineFacetd(struct XYZ p1, struct XYZ p2, struct XYZ pa, struct XYZ pb, struct XYZ pc, struct XYZ n, struct XYZ *p); - void ReflectVector(struct XYZ *vel, struct XYZ *n); struct XYZ DoRotation(struct XYZ thePoint, float xang, float yang, float zang); float findDistance(struct XYZ point1, struct XYZ point2); float findLengthfast(struct XYZ point1); float findDistancefast(struct XYZ point1, struct XYZ point2); - float dotproduct(struct XYZ point1, struct XYZ point2); - bool sphere_line_intersection(float x1, float y1, float z1, - float x2, float y2, float z2, - float x3, float y3, float z3, float r); + + void getFrustum(float (*)[4]); + int cubeInFrustum(float (*)[4], float, float, float, float); + int sphereInFrustum(float (*)[4], float, float, float, float); #ifdef __cplusplus } // extern "C" #endif // __cplusplus |