summary refs log tree commit diff
path: root/src/Quaternions.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Quaternions.h')
-rw-r--r--src/Quaternions.h19
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