diff options
author | Tavian Barnes <tavianator@gmail.com> | 2010-10-18 00:15:46 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2010-10-18 00:15:46 -0400 |
commit | 8e4819c2f3c0d36865bf20a55f54c0a6c7fd4e74 (patch) | |
tree | 83dfe1317803ea85060747a45bedffd82c3f4d5b /libdimension/geometry.c | |
parent | ee11c72a23c4ccc58b5d45f27a7c9abbd85b1887 (diff) | |
download | dimension-8e4819c2f3c0d36865bf20a55f54c0a6c7fd4e74.tar.xz |
Inline some commonly-used functions.
Diffstat (limited to 'libdimension/geometry.c')
-rw-r--r-- | libdimension/geometry.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/libdimension/geometry.c b/libdimension/geometry.c index 6b1019b..2a16313 100644 --- a/libdimension/geometry.c +++ b/libdimension/geometry.c @@ -345,23 +345,6 @@ dmnsn_matrix_mul(dmnsn_matrix lhs, dmnsn_matrix rhs) return r; } -/* Affine transformation; lhs*(x,y,z,1), normalized so the fourth element is - 1 */ -dmnsn_vector -dmnsn_transform_vector(dmnsn_matrix lhs, dmnsn_vector rhs) -{ - /* 12 multiplications, 3 divisions, 12 additions */ - dmnsn_vector r; - double w; - - r.x = lhs.n[0][0]*rhs.x + lhs.n[0][1]*rhs.y + lhs.n[0][2]*rhs.z + lhs.n[0][3]; - r.y = lhs.n[1][0]*rhs.x + lhs.n[1][1]*rhs.y + lhs.n[1][2]*rhs.z + lhs.n[1][3]; - r.z = lhs.n[2][0]*rhs.x + lhs.n[2][1]*rhs.y + lhs.n[2][2]*rhs.z + lhs.n[2][3]; - w = lhs.n[3][0]*rhs.x + lhs.n[3][1]*rhs.y + lhs.n[3][2]*rhs.z + lhs.n[3][3]; - - return dmnsn_vector_div(r, w); -} - /* Give an axis-aligned box that contains the given box transformed by `lhs' */ dmnsn_bounding_box dmnsn_transform_bounding_box(dmnsn_matrix trans, dmnsn_bounding_box box) |