gfx_types_vertex_ops.hh

Go to the documentation of this file.
00001 /*
00026  * LEGAL:   COPYRIGHT (C) 2007 JIM E. BROOKS
00027  *          THIS SOURCE CODE IS RELEASED UNDER THE TERMS
00028  *          OF THE GNU GENERAL PUBLIC LICENSE VERSION 2 (GPL 2).
00029  *****************************************************************************/
00030 
00034 INLINE VECTOR3 operator+( const VECTOR3& v1, const VECTOR3& v2 )
00035 {
00036     return VECTOR3( v1.x + v2.x,
00037                     v1.y + v2.y,
00038                     v1.z + v2.z );
00039 }
00040 
00041 INLINE VECTOR3 operator-( const VECTOR3& v1, const VECTOR3& v2 )
00042 {
00043     return VECTOR3( v1.x - v2.x,
00044                     v1.y - v2.y,
00045                     v1.z - v2.z );
00046 }
00047 
00048 INLINE VECTOR3 operator*( const VECTOR3& v1, const VECTOR3& v2 )
00049 {
00050     return VECTOR3( v1.x * v2.x,
00051                     v1.y * v2.y,
00052                     v1.z * v2.z );
00053 }
00054 
00055 INLINE VECTOR3 operator/( const VECTOR3& v1, const VECTOR3& v2 )
00056 {
00057     return VECTOR3( v1.x / v2.x,
00058                     v1.y / v2.y,
00059                     v1.z / v2.z );
00060 }
00061 
00065 INLINE VECTOR3 operator+( const VECTOR3& v, fp f )
00066 {
00067     return VECTOR3( v.x + f,
00068                     v.y + f,
00069                     v.z + f );
00070 }
00071 
00072 INLINE VECTOR3 operator-( const VECTOR3& v, fp f )
00073 {
00074     return VECTOR3( v.x - f,
00075                     v.y - f,
00076                     v.z - f );
00077 }
00078 
00079 INLINE VECTOR3 operator*( const VECTOR3& v, fp f )
00080 {
00081     return VECTOR3( v.x * f,
00082                     v.y * f,
00083                     v.z * f );
00084 }
00085 
00086 INLINE VECTOR3 operator/( const VECTOR3& v, fp f )
00087 {
00088     return VECTOR3( v.x / f,
00089                     v.y / f,
00090                     v.z / f );
00091 }
00092 
00096 INLINE ostream&
00097 operator<<( ostream& strm, const VECTOR3& v )
00098 {
00099     ios::fmtflags savedFlags = strm.flags();
00100     strm << '('
00101          << OMANIP_FIELD(8) << v.x << ','
00102          << OMANIP_FIELD(8) << v.y << ','
00103          << OMANIP_FIELD(8) << v.z << ')';
00104     strm.flags(savedFlags);
00105     return strm;
00106 }
Palomino 3D Engine documents generated by doxygen 1.5.3 on Fri Nov 23 11:26:11 2007