23 #include "../BPy_Convert.h"
24 #include "../BPy_IntegrationType.h"
25 #include "../BPy_Interface1D.h"
78 "Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVectorViewShape`\n"
80 "Base class for unary functions (functors) that work on\n"
81 ":class:`Interface1D` and return a list of :class:`ViewShape`\n"
84 ".. method:: __init__()\n"
85 " __init__(integration_type)\n"
87 " Builds a unary 1D function using the default constructor\n"
88 " or the integration method given as an argument.\n"
90 " :arg integration_type: An integration method.\n"
91 " :type integration_type: :class:`IntegrationType`\n";
97 static const char *kwlist[] = {
"integration",
nullptr};
98 PyObject *obj =
nullptr;
100 if (!PyArg_ParseTupleAndKeywords(
113 self->uf1D_vectorviewshape->
py_uf1D = (PyObject *)
self;
120 delete self->uf1D_vectorviewshape;
126 return PyUnicode_FromFormat(
127 "type: %s - address: %p", Py_TYPE(
self)->tp_name,
self->uf1D_vectorviewshape);
134 static const char *kwlist[] = {
"inter",
nullptr};
135 PyObject *obj =
nullptr;
137 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O!", (
char **)kwlist, &
Interface1D_Type, &obj)) {
141 if (
typeid(*(
self->uf1D_vectorviewshape)) ==
typeid(
UnaryFunction1D<std::vector<ViewShape *>>)) {
142 PyErr_SetString(PyExc_TypeError,
"__call__ method not properly overridden");
146 if (!PyErr_Occurred()) {
147 string class_name(Py_TYPE(
self)->tp_name);
148 PyErr_SetString(PyExc_RuntimeError, (class_name +
" __call__ method failed").c_str());
153 const unsigned int list_len =
self->uf1D_vectorviewshape->result.size();
154 PyObject *list = PyList_New(list_len);
155 for (
unsigned int i = 0; i < list_len; i++) {
156 ViewShape *
v =
self->uf1D_vectorviewshape->result[i];
166 "The integration method.\n"
168 ":type: :class:`IntegrationType`");
174 self->uf1D_vectorviewshape->getIntegrationType());
182 PyErr_SetString(PyExc_TypeError,
"value must be an IntegrationType");
193 integration_type_doc,
195 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
201 PyVarObject_HEAD_INIT(
nullptr, 0)
"UnaryFunction1DVectorViewShape",
219 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * BPy_ViewShape_from_ViewShape(ViewShape &vs)
PyObject * BPy_IntegrationType_from_IntegrationType(IntegrationType i)
IntegrationType IntegrationType_from_BPy_IntegrationType(PyObject *obj)
PyTypeObject GetOccludeeF1D_Type
PyTypeObject GetOccludersF1D_Type
PyTypeObject GetShapeF1D_Type
PyTypeObject IntegrationType_Type
#define BPy_IntegrationType_Check(v)
PyTypeObject Interface1D_Type
PyDoc_STRVAR(integration_type_doc, "The integration method.\n" "\n" ":type: :class:`IntegrationType`")
static PyObject * integration_type_get(BPy_UnaryFunction1DVectorViewShape *self, void *UNUSED(closure))
static PyObject * UnaryFunction1DVectorViewShape___call__(BPy_UnaryFunction1DVectorViewShape *self, PyObject *args, PyObject *kwds)
static int UnaryFunction1DVectorViewShape___init__(BPy_UnaryFunction1DVectorViewShape *self, PyObject *args, PyObject *kwds)
static char UnaryFunction1DVectorViewShape___doc__[]
static PyGetSetDef BPy_UnaryFunction1DVectorViewShape_getseters[]
PyTypeObject UnaryFunction1DVectorViewShape_Type
static PyObject * UnaryFunction1DVectorViewShape___repr__(BPy_UnaryFunction1DVectorViewShape *self)
int UnaryFunction1DVectorViewShape_Init(PyObject *module)
static void UnaryFunction1DVectorViewShape___dealloc__(BPy_UnaryFunction1DVectorViewShape *self)
static int integration_type_set(BPy_UnaryFunction1DVectorViewShape *self, PyObject *value, void *UNUSED(closure))
PyTypeObject UnaryFunction1D_Type
static struct PyModuleDef module
ATTR_WARN_UNUSED_RESULT const BMVert * v