diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
| commit | c068f22329d5cc722622a2183bbb22eef2093df7 (patch) | |
| tree | 12d56c1aede67988a55e241364606bfbb4dba933 /tool_src/BspLib/Vector.h | |
| download | openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.tar.xz openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.zip | |
Diffstat (limited to 'tool_src/BspLib/Vector.h')
| -rw-r--r-- | tool_src/BspLib/Vector.h | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/tool_src/BspLib/Vector.h b/tool_src/BspLib/Vector.h new file mode 100644 index 0000000..92f9bbe --- /dev/null +++ b/tool_src/BspLib/Vector.h @@ -0,0 +1,100 @@ +//----------------------------------------------------------------------------- +// BSPLIB HEADER: Vector.h +// +// Copyright (c) 1997 by Markus Hadwiger +// All Rights Reserved. +//----------------------------------------------------------------------------- + +#ifndef _VECTOR_H_ +#define _VECTOR_H_ + +// bsplib header files +#include "Vector3.h" +#include "Vector2.h" + + +BSPLIB_NAMESPACE_BEGIN + + +// vertex plus vector yields vertex ------------------------------------------- +inline Vertex3 operator +( const Vertex3 v1, const Vector3 v2 ) +{ + return Vertex3( v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z, 1.0 ); +} + +// vector plus vertex yields vertex ------------------------------------------- +inline Vertex3 operator +( const Vector3 v1, const Vertex3 v2 ) +{ + return Vertex3( v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z, 1.0 ); +} + +// vertex minus vertex yields vector ------------------------------------------ +inline Vector3 operator -( const Vertex3 v1, const Vertex3 v2 ) +{ + return Vector3( v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z, 1.0 ); +} + +// vertex minus vector yields vertex ------------------------------------------ +inline Vertex3 operator -( const Vertex3 v1, const Vector3 v2 ) +{ + return Vertex3( v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z, 1.0 ); +} + +// vector plus vector yields vector ------------------------------------------- +inline Vector3 operator +( const Vector3 v1, const Vector3 v2 ) +{ + return Vector3( v1.X + v2.X, v1.Y + v2.Y, v1.Z + v2.Z, 1.0 ); +} + +// vector minus vector yields vector ------------------------------------------ +inline Vector3 operator -( const Vector3 v1, const Vector3 v2 ) +{ + return Vector3( v1.X - v2.X, v1.Y - v2.Y, v1.Z - v2.Z, 1.0 ); +} + + +//----------------------------------------------------------------------------- + + +// vertex plus vector yields vertex ------------------------------------------- +inline Vertex2 operator +( const Vertex2 v1, const Vector2 v2 ) +{ + return Vertex2( v1.X + v2.X, v1.Y + v2.Y, 1.0 ); +} + +// vector plus vertex yields vertex ------------------------------------------- +inline Vertex2 operator +( const Vector2 v1, const Vertex2 v2 ) +{ + return Vertex2( v1.X + v2.X, v1.Y + v2.Y, 1.0 ); +} + +// vertex minus vertex yields vector ------------------------------------------ +inline Vector2 operator -( const Vertex2 v1, const Vertex2 v2 ) +{ + return Vector2( v1.X - v2.X, v1.Y - v2.Y, 1.0 ); +} + +// vertex minus vector yields vertex ------------------------------------------ +inline Vertex2 operator -( const Vertex2 v1, const Vector2 v2 ) +{ + return Vertex2( v1.X - v2.X, v1.Y - v2.Y, 1.0 ); +} + +// vector plus vector yields vector ------------------------------------------- +inline Vector2 operator +( const Vector2 v1, const Vector2 v2 ) +{ + return Vector2( v1.X + v2.X, v1.Y + v2.Y, 1.0 ); +} + +// vector minus vector yields vector ------------------------------------------ +inline Vector2 operator -( const Vector2 v1, const Vector2 v2 ) +{ + return Vector2( v1.X - v2.X, v1.Y - v2.Y, 1.0 ); +} + + +BSPLIB_NAMESPACE_END + + +#endif // _VECTOR_H_ + |
