Blender  V2.93
AdvancedPredicates1D.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 
17 #pragma once
18 
24 #include <string>
25 
26 #include "AdvancedFunctions1D.h"
27 #include "Predicates1D.h"
28 
29 #include "../view_map/Interface1D.h"
30 
31 //
32 // Predicates definitions
33 //
35 
36 namespace Freestyle {
37 
38 namespace Predicates1D {
39 
40 // DensityLowerThanUP1D
45  public:
53  DensityLowerThanUP1D(double threshold, double sigma = 2)
54  {
55  _threshold = threshold;
56  _sigma = sigma;
57  }
58 
60  string getName() const
61  {
62  return "DensityLowerThanUP1D";
63  }
64 
66  int operator()(Interface1D &inter)
67  {
68  Functions1D::DensityF1D fun(_sigma);
69  if (fun(inter) < 0) {
70  return -1;
71  }
72  result = (fun.result < _threshold);
73  return 0;
74  }
75 
76  private:
77  double _sigma;
78  double _threshold;
79 };
80 
81 } // end of namespace Predicates1D
82 
83 } /* namespace Freestyle */
Functions taking 1D input.
Class gathering stroke creation algorithms.
DensityLowerThanUP1D(double threshold, double sigma=2)
inherits from class Rep
Definition: AppCanvas.cpp:32