Blender V4.3
AdvancedFunctions1D.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
12#include "AdvancedFunctions0D.h"
13
15
16//
17// Functions definitions
18//
20
21namespace Freestyle {
22
23namespace Functions1D {
24
25// DensityF1D
31class DensityF1D : public UnaryFunction1D<double> {
32 private:
33 float _sampling;
34
35 public:
46 DensityF1D(double sigma = 2, IntegrationType iType = MEAN, float sampling = 2.0f)
47 : UnaryFunction1D<double>(iType), _fun(sigma)
48 {
49 _sampling = sampling;
50 }
51
53 virtual ~DensityF1D() {}
54
56 string getName() const
57 {
58 return "DensityF1D";
59 }
60
63 {
64 result = integrate(
65 _fun, inter.pointsBegin(_sampling), inter.pointsEnd(_sampling), _integration);
66 return 0;
67 }
68
69 private:
71};
72
73// LocalAverageDepthF1D
79class LocalAverageDepthF1D : public UnaryFunction1D<double> {
80 public:
88 : UnaryFunction1D<double>(iType), _fun(sigma)
89 {
90 }
91
93 string getName() const
94 {
95 return "LocalAverageDepthF1D";
96 }
97
100 {
101 result = integrate(_fun, inter.verticesBegin(), inter.verticesEnd(), _integration);
102 return 0;
103 }
104
105 private:
107};
108
109// GetCompleteViewMapDensity
116 public:
130 GetCompleteViewMapDensityF1D(uint level, IntegrationType iType = MEAN, float sampling = 2.0f)
131 : UnaryFunction1D<double>(iType), _fun(level)
132 {
133 _sampling = sampling;
134 }
135
137 string getName() const
138 {
139 return "GetCompleteViewMapDensityF1D";
140 }
141
143 int operator()(Interface1D &inter);
144
145 private:
147 float _sampling;
148};
149
150// GetDirectionalViewMapDensity
158 public:
172 uint level,
173 IntegrationType iType = MEAN,
174 float sampling = 2.0f)
175 : UnaryFunction1D<double>(iType), _fun(iOrientation, level)
176 {
177 _sampling = sampling;
178 }
179
181 string getName() const
182 {
183 return "GetDirectionalViewMapDensityF1D";
184 }
185
187 int operator()(Interface1D &inter);
188
189 private:
191 float _sampling;
192};
193
194// GetSteerableViewMapDensityF1D
199 private:
200 int _level;
201 float _sampling;
202
203 public:
214 GetSteerableViewMapDensityF1D(int level, IntegrationType iType = MEAN, float sampling = 2.0f)
215 : UnaryFunction1D<double>(iType)
216 {
217 _level = level;
218 _sampling = sampling;
219 }
220
223
225 string getName() const
226 {
227 return "GetSteerableViewMapDensityF1D";
228 }
229
231 int operator()(Interface1D &inter);
232};
233
234// GetViewMapGradientNormF1D
239 private:
240 int _level;
241 float _sampling;
243
244 public:
255 GetViewMapGradientNormF1D(int level, IntegrationType iType = MEAN, float sampling = 2.0f)
256 : UnaryFunction1D<double>(iType), _func(level)
257 {
258 _level = level;
259 _sampling = sampling;
260 }
261
263 string getName() const
264 {
265 return "GetViewMapGradientNormF1D";
266 }
267
269 int operator()(Interface1D &inter);
270};
271
272} // end of namespace Functions1D
273
274} /* namespace Freestyle */
Functions taking 0D input.
unsigned int uint
typedef double(DMatrix)[4][4]
Functions taking 1D input.
DensityF1D(double sigma=2, IntegrationType iType=MEAN, float sampling=2.0f)
GetCompleteViewMapDensityF1D(uint level, IntegrationType iType=MEAN, float sampling=2.0f)
GetDirectionalViewMapDensityF1D(uint iOrientation, uint level, IntegrationType iType=MEAN, float sampling=2.0f)
GetSteerableViewMapDensityF1D(int level, IntegrationType iType=MEAN, float sampling=2.0f)
GetViewMapGradientNormF1D(int level, IntegrationType iType=MEAN, float sampling=2.0f)
LocalAverageDepthF1D(real sigma, IntegrationType iType=MEAN)
virtual Interface0DIterator verticesEnd()
virtual Interface0DIterator pointsEnd(float t=0.0f)
virtual Interface0DIterator verticesBegin()
virtual Interface0DIterator pointsBegin(float t=0.0f)
inherits from class Rep
Definition AppCanvas.cpp:20
T integrate(UnaryFunction0D< T > &fun, Interface0DIterator it, Interface0DIterator it_end, IntegrationType integration_type=MEAN)
Definition Interface1D.h:75
double real
Definition Precision.h:14