The spica renderer
Main Page
Modules
Classes
Files
File List
sources
core
vector2d_detail.h
1
#ifdef _MSC_VER
2
#pragma once
3
#endif
4
5
#ifndef _SPICA_VECTOR2D_DETAIL_H_
6
#define _SPICA_VECTOR2D_DETAIL_H_
7
8
namespace
spica {
9
10
template
<
class
T>
11
Vector2_<T>::Vector2_()
12
: _x{0}
13
, _y{0} {
14
}
15
16
template
<
class
T>
17
Vector2_<T>::Vector2_(T x, T y)
18
: _x(x)
19
, _y(y) {
20
}
21
22
template
<
class
T>
23
Vector2_<T>::Vector2_(
const
Vector2_<T>& v)
24
: _x(v._x)
25
, _y(v._y) {
26
}
27
28
template
<
class
T>
29
Vector2_<T>::~Vector2_() {
30
}
31
32
template
<
class
T>
33
Vector2_<T>&
34
Vector2_<T>::operator=(
const
Vector2_<T>& v) {
35
this->_x = v._x;
36
this->_y = v._y;
37
return
*
this
;
38
}
39
40
template
<
class
T>
41
Vector2_<T>&
42
Vector2_<T>::operator+=(
const
Vector2_<T>& v) {
43
this->_x += v._x;
44
this->_y += v._y;
45
return
*
this
;
46
}
47
48
template
<
class
T>
49
Vector2_<T>&
50
Vector2_<T>::operator-=(
const
Vector2_<T>& v) {
51
this->_x -= v._x;
52
this->_y -= v._y;
53
return
*
this
;
54
}
55
56
template
<
class
T>
57
Vector2_<T>&
58
Vector2_<T>::operator*=(
double
s) {
59
this->_x *= s;
60
this->_y *= s;
61
return
*
this
;
62
}
63
64
}
// namespace spica
65
66
template
<
class
T>
67
spica::Vector2_<T>
operator+(
const
spica::Vector2_<T>
& v1,
68
const
spica::Vector2_<T>
& v2) {
69
spica::Vector2_<T>
ret = v1;
70
ret += v2;
71
return
ret;
72
}
73
74
template
<
class
T>
75
spica::Vector2_<T>
operator-(
const
spica::Vector2_<T>
& v1,
76
const
spica::Vector2_<T>
& v2) {
77
spica::Vector2_<T>
ret = v1;
78
ret -= v2;
79
return
ret;
80
}
81
82
template
<
class
T>
83
spica::Vector2_<T>
operator*(
const
spica::Vector2_<T>
& v,
double
s) {
84
spica::Vector2_<T>
ret = v;
85
ret *= s;
86
return
ret;
87
}
88
89
template
<
class
T>
90
spica::Vector2_<T>
operator*(
double
s,
const
spica::Vector2_<T>
& v) {
91
spica::Vector2_<T>
ret = v;
92
ret *= s;
93
return
ret;
94
}
95
96
#endif // _SPICA_VECTOR2D_DETAIL_H_
spica::Vector2_
Two-dimensional vector.
Definition:
core.hpp:50
Generated by
1.8.6