/usr/include/Gem/Utils/Vector.h is in gem-dev 1:0.93.3-7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | /*-----------------------------------------------------------------
LOG
GEM - Graphics Environment for Multimedia
vector-classes
zmoelnig@iem.at, tigital@mac.com
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-----------------------------------------------------------------*/
#ifndef _INCLUDE__GEM_UTILS_VECTOR_H_
#define _INCLUDE__GEM_UTILS_VECTOR_H_
#include "Gem/ExportDef.h"
// This is our 2D point class. This will be used to store the UV coordinates.
class GEM_EXTERN CVector2 {
public:
float x, y;
};
// This is our basic 3D point/vector class
class GEM_EXTERN CVector3 {
public:
// the elements of a vector:
float x, y, z;
// A default constructor
CVector3(void);
// This is our constructor that allows us to initialize our data upon creating an instance
CVector3(float X, float Y, float Z);
// Here we overload the + operator so we can add vectors together
CVector3 operator+(CVector3 vVector) const;
// Here we overload the - operator so we can subtract vectors
CVector3 operator-(CVector3 vVector) const;
// Here we overload the - operator so we can negate the vector
CVector3 operator-(void) const;
// Here we overload the * operator so we can multiply by scalars
CVector3 operator*(float num) const;
// Here we overload the * operator so we can dot-multiply
float operator*(CVector3 vVector) const;
// cross-multiplication
CVector3 cross(CVector3 vVector) const;
// Here we overload the / operator so we can divide by a scalar
CVector3 operator/(float num) const;
// here we calculate the absolute-value of the vector
float abs(void) const;
// here we calculate the square of the absolute-value of the vector
float abs2(void) const;
// here we normalize the vector
CVector3 normalize(void) const;
// here we compare 2 vectors on approx. equality
bool equals(CVector3 vVector, float epsilon) const;
};
#endif /* _INCLUDE__GEM_UTILS_VECTOR_H_ */
|