sead
Loading...
Searching...
No Matches
aglParameterCurve.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <basis/seadAssert.h>
4#include <prim/seadMemUtil.h>
5
6namespace agl { namespace utl {
7
8template <u32 N>
9inline ParameterBase*
16
21
22static_assert(sizeof(ParameterCurve1f) == 0x9C);
23
24template <>
27{
28 return cType_curve1;
29}
30
31template <>
34{
35 return cType_curve2;
36}
37
38template <>
41{
42 return cType_curve3;
43}
44
45template <>
48{
49 return cType_curve4;
50}
51
52template <u32 N>
53void
55{
56 static const f32 s_initialize[cNumUseDefault] = {
57 0.0f, 0.0f, 0.5f,
58 0.5f, 0.5f, 0.5f,
59 1.0f, 1.0f, 0.5f
60 };
61
62 for (u32 i = 0; i < N; i++)
63 {
65 for (s32 j = cNumUseDefault; j < cNumBuf; j++)
66 mCurveData[i].buf[j] = 1.0f;
67
70
75 }
76}
77
78template <u32 N>
79f32
84
85template <u32 N>
86bool
88{
91 {
92 return false;
93 }
94
96 return true;
97}
98
99template <u32 N>
100void
102{
104 {
105 SEAD_ASSERT_MSG(false, "getParameterType() == src.getParameterType()");
106 return;
107 }
108
109 sead::MemUtil::copy(ptr(), src.ptr(), size());
110 mCurve->setCurveType(static_cast<const ParameterCurve<N>&>(src).mCurve->getCurveType());
111 mCurve->setNumUse(static_cast<const ParameterCurve<N>&>(src).mCurve->getNumUse());
112}
113
114template <u32 N>
115void
117{
118 if (data_size != size())
119 {
120 for (u32 i = 0; i < N; i++)
121 {
124 }
125 }
126 else
127 {
128 for (u32 i = 0; i < N; i++)
129 {
134 }
135 }
136}
137
138} }
Definition aglImageFilter2D.h:11
ParameterCurve< 3 > ParameterCurve3f
Definition aglParameterCurve.hpp:19
ParameterCurve< 4 > ParameterCurve4f
Definition aglParameterCurve.hpp:20
ParameterCurve< 2 > ParameterCurve2f
Definition aglParameterCurve.hpp:18
ParameterCurve< 1 > ParameterCurve1f
Definition aglParameterCurve.hpp:17
Definition aglDisplayList.cpp:5
#define SEAD_ASSERT_MSG(condition, format,...)
Definition seadAssert.h:33