Blender  V2.93
BPy_DensityF1D.cpp
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 
21 #include "BPy_DensityF1D.h"
22 
23 #include "../../../stroke/AdvancedFunctions1D.h"
24 #include "../../BPy_Convert.h"
25 #include "../../BPy_IntegrationType.h"
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
31 using namespace Freestyle;
32 
34 
35 //------------------------INSTANCE METHODS ----------------------------------
36 
37 static char DensityF1D___doc__[] =
38  "Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > "
39  ":class:`freestyle.types.UnaryFunction1DDouble` > :class:`DensityF1D`\n"
40  "\n"
41  ".. method:: __init__(sigma=2.0, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
42  "\n"
43  " Builds a DensityF1D object.\n"
44  "\n"
45  " :arg sigma: The sigma used in DensityF0D and determining the window size\n"
46  " used in each density query.\n"
47  " :type sigma: float\n"
48  " :arg integration_type: The integration method used to compute a single value\n"
49  " from a set of values.\n"
50  " :type integration_type: :class:`freestyle.types.IntegrationType`\n"
51  " :arg sampling: The resolution used to sample the chain: the\n"
52  " corresponding 0D function is evaluated at each sample point and\n"
53  " the result is obtained by combining the resulting values into a\n"
54  " single one, following the method specified by integration_type.\n"
55  " :type sampling: float\n"
56  "\n"
57  ".. method:: __call__(inter)\n"
58  "\n"
59  " Returns the density evaluated for an Interface1D. The density is\n"
60  " evaluated for a set of points along the Interface1D (using the\n"
61  " :class:`freestyle.functions.DensityF0D` functor) with a user-defined\n"
62  " sampling and then integrated into a single value using a user-defined\n"
63  " integration method.\n"
64  "\n"
65  " :arg inter: An Interface1D object.\n"
66  " :type inter: :class:`freestyle.types.Interface1D`\n"
67  " :return: The density evaluated for an Interface1D.\n"
68  " :rtype: float\n";
69 
70 static int DensityF1D___init__(BPy_DensityF1D *self, PyObject *args, PyObject *kwds)
71 {
72  static const char *kwlist[] = {"sigma", "integration_type", "sampling", nullptr};
73  PyObject *obj = nullptr;
74  double d = 2.0;
75  float f = 2.0;
76 
77  if (!PyArg_ParseTupleAndKeywords(
78  args, kwds, "|dO!f", (char **)kwlist, &d, &IntegrationType_Type, &obj, &f)) {
79  return -1;
80  }
82  self->py_uf1D_double.uf1D_double = new Functions1D::DensityF1D(d, t, f);
83  return 0;
84 }
85 
86 /*-----------------------BPy_DensityF1D type definition ------------------------------*/
87 
88 PyTypeObject DensityF1D_Type = {
89  PyVarObject_HEAD_INIT(nullptr, 0) "DensityF1D", /* tp_name */
90  sizeof(BPy_DensityF1D), /* tp_basicsize */
91  0, /* tp_itemsize */
92  nullptr, /* tp_dealloc */
93  0, /* tp_vectorcall_offset */
94  nullptr, /* tp_getattr */
95  nullptr, /* tp_setattr */
96  nullptr, /* tp_reserved */
97  nullptr, /* tp_repr */
98  nullptr, /* tp_as_number */
99  nullptr, /* tp_as_sequence */
100  nullptr, /* tp_as_mapping */
101  nullptr, /* tp_hash */
102  nullptr, /* tp_call */
103  nullptr, /* tp_str */
104  nullptr, /* tp_getattro */
105  nullptr, /* tp_setattro */
106  nullptr, /* tp_as_buffer */
107  Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
108  DensityF1D___doc__, /* tp_doc */
109  nullptr, /* tp_traverse */
110  nullptr, /* tp_clear */
111  nullptr, /* tp_richcompare */
112  0, /* tp_weaklistoffset */
113  nullptr, /* tp_iter */
114  nullptr, /* tp_iternext */
115  nullptr, /* tp_methods */
116  nullptr, /* tp_members */
117  nullptr, /* tp_getset */
118  &UnaryFunction1DDouble_Type, /* tp_base */
119  nullptr, /* tp_dict */
120  nullptr, /* tp_descr_get */
121  nullptr, /* tp_descr_set */
122  0, /* tp_dictoffset */
123  (initproc)DensityF1D___init__, /* tp_init */
124  nullptr, /* tp_alloc */
125  nullptr, /* tp_new */
126 };
127 
129 
130 #ifdef __cplusplus
131 }
132 #endif
IntegrationType IntegrationType_from_BPy_IntegrationType(PyObject *obj)
static char DensityF1D___doc__[]
static int DensityF1D___init__(BPy_DensityF1D *self, PyObject *args, PyObject *kwds)
PyTypeObject DensityF1D_Type
PyTypeObject IntegrationType_Type
PyTypeObject UnaryFunction1DDouble_Type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble t
inherits from class Rep
Definition: AppCanvas.cpp:32