MathLib
Loading...
Searching...
No Matches
lib
include
Math
GenericObjects.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <tuple>
4
#include <array>
5
6
7
namespace
Generic
8
{
9
10
template
<
typename
T, std::
size_t
Count>
11
struct
VecArray
:
public
std::array<T, Count>
12
{
13
};
14
15
template
<
typename
T>
16
struct
XY
17
{
18
T
x
;
19
T
y
;
20
};
21
22
template
<
typename
T>
23
struct
XYZ
24
{
25
T
x
;
26
T
y
;
27
T
z
;
28
};
29
30
template
<
typename
T>
31
struct
RGB
32
{
33
T
r
;
34
T
g
;
35
T
b
;
36
};
37
38
template
<
typename
T>
39
struct
RGBA
40
{
41
T
r
;
42
T
g
;
43
T
b
;
44
T
a
;
45
};
46
47
template
<
typename
T>
48
struct
UV
49
{
50
T
u
;
51
T
v
;
52
};
53
54
template
<
typename
T, std::size_t Count, std::size_t ... Indices>
55
VecArray<T, Count>
swizzle
(
const
VecArray<T, Count>
&input)
56
{
57
return
VecArray<T, Count>
( { input[Indices]... } );
58
}
59
60
}
Generic
Definition
GenericObjects.hpp:8
Generic::XY::y
T y
Definition
GenericObjects.hpp:19
Generic::UV::u
T u
Definition
GenericObjects.hpp:50
Generic::RGB::r
T r
Definition
GenericObjects.hpp:33
Generic::RGB::g
T g
Definition
GenericObjects.hpp:34
Generic::RGBA::a
T a
Definition
GenericObjects.hpp:44
Generic::XY::x
T x
Definition
GenericObjects.hpp:18
Generic::XYZ::z
T z
Definition
GenericObjects.hpp:27
Generic::swizzle
VecArray< T, Count > swizzle(const VecArray< T, Count > &input)
Definition
GenericObjects.hpp:55
Generic::RGB::b
T b
Definition
GenericObjects.hpp:35
Generic::UV::v
T v
Definition
GenericObjects.hpp:51
Generic::RGB
Definition
GenericObjects.hpp:32
Generic::RGBA
Definition
GenericObjects.hpp:40
Generic::UV
Definition
GenericObjects.hpp:49
Generic::XY
Definition
GenericObjects.hpp:17
Generic::XYZ
Definition
GenericObjects.hpp:24
Generic::VecArray
Definition
GenericObjects.hpp:12
Generated by
1.9.8