1 //------------------------------------------------------------------------------
3 //------------------------------------------------------------------------------
4 // GLVU : Copyright 1997 - 2002
5 // The University of North Carolina at Chapel Hill
6 //------------------------------------------------------------------------------
7 // Permission to use, copy, modify, distribute and sell this software and its
8 // documentation for any purpose is hereby granted without fee, provided that
9 // the above copyright notice appear in all copies and that both that copyright
10 // notice and this permission notice appear in supporting documentation.
11 // Binaries may be compiled with this software without any royalties or
14 // The University of North Carolina at Chapel Hill makes no representations
15 // about the suitability of this software for any purpose. It is provided
16 // "as is" without express or implied warranty.
18 //============================================================================
20 //============================================================================
22 void Set3fv(float v[3], float x, float y, float z);
23 void Copy3fv(float A[3], const float B[3]); // A=B
25 void ScalarMult3fv(float c[3], const float a[3], float s);
26 void ScalarDiv3fv(float v[3], float s);
27 void Add3fv(float c[3], const float a[3], const float b[3]); // c = a + b
28 void Subtract3fv(float c[3], const float a[3], const float b[3]); // c = a - b
29 void Negate3fv(float a[3], const float b[3]); // a = -b
31 float Length3fv(const float v[3]);
32 void Normalize3fv(float v[3]);
33 float DotProd3fv(const float a[3], const float b[3]);
34 void CrossProd3fv(float* C, const float* A, const float* B); // C = A X B