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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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_
|