PeriDyno
1.0.0
Loading...
Searching...
No Matches
D:
Peridyno
peridyno
src
Core
Matrix
Transform2x2.inl
Go to the documentation of this file.
1
#include <cmath>
2
#include <limits>
3
4
#include "
Vector.h
"
5
6
namespace
dyno
7
{
8
template
<
typename
T>
9
DYN_FUNC
Transform<T, 2>::Transform
()
10
{
11
mTranslation
=
Vector<T, 2>
(0);
12
mScale
=
Vector<T, 2>
(1);
13
mRotation
=
SquareMatrix<T, 2>
(1, 0, 0, 1);
14
}
15
16
template
<
typename
T>
17
DYN_FUNC
Transform<T, 2>::Transform
(
const
Vector<T, 2>
& t,
const
T
& angle,
const
Vector<T, 2>
& s)
18
{
19
mTranslation
= t;
20
mScale
= s;
21
mRotation
=
SquareMatrix<T, 2>
(glm::cos(angle), -glm::sin(angle), glm::sin(angle), glm::cos(angle));
22
}
23
24
template
<
typename
T>
25
DYN_FUNC
Transform<T, 2>::Transform
(
const
Vector<T, 2>
& t,
const
SquareMatrix<T, 2>
& m,
const
Vector<T, 2>
& s
/*= Vector<T, 2>(1)*/
)
26
{
27
mTranslation
= t;
28
mScale
= s;
29
mRotation
= m;
30
}
31
32
template
<
typename
T>
33
DYN_FUNC
Transform<T, 2>::Transform
(
const
Transform<T, 2>
& t)
34
{
35
mRotation
= t.mRotation;
36
mTranslation
= t.mTranslation;
37
mScale
= t.mScale;
38
}
39
40
template
<
typename
T>
41
DYN_FUNC
Transform<T, 2>::~Transform
()
42
{
43
44
}
45
46
template
<
typename
T>
47
DYN_FUNC
const
Vector<T, 2>
Transform<T, 2>::operator*
(
const
Vector<T, 2>
&vec)
const
48
{
49
Vector<T, 2>
scaled =
Vector<T, 2>
(vec.x*
mScale
.x, vec.y*
mScale
.y);
50
return
mRotation
* scaled +
mTranslation
;
51
}
52
}
Vector.h
dyno::SquareMatrix
Definition
SquareMatrix.h:8
dyno::Transform< T, 2 >::Transform
DYN_FUNC Transform()
Definition
Transform2x2.inl:9
dyno::Transform< T, 2 >::mRotation
SquareMatrix< T, 2 > mRotation
Definition
Transform2x2.h:41
dyno::Transform< T, 2 >::mScale
Vector< T, 2 > mScale
Definition
Transform2x2.h:40
dyno::Transform< T, 2 >::mTranslation
Vector< T, 2 > mTranslation
Definition
Transform2x2.h:39
dyno::Transform::Transform
Transform()
Definition
SquareMatrix.h:20
dyno::Transform::~Transform
~Transform()
Definition
SquareMatrix.h:21
dyno::Vector
Definition
VectorBase.h:24
T
#define T(t)
dyno
This is an implementation of AdditiveCCD based on peridyno.
Definition
Array.h:25
Generated by
1.13.2