25 "Class hierarchy: :class:`Interface1D` > :class:`Curve`\n"
27 "Base class for curves made of CurvePoints. :class:`SVertex` is the\n"
28 "type of the initial curve vertices. A :class:`Chain` is a\n"
29 "specialization of a Curve.\n"
31 ".. method:: __init__()\n"
32 " __init__(brother)\n"
35 " Builds a :class:`FrsCurve` using a default constructor,\n"
36 " copy constructor or from an :class:`Id`.\n"
38 " :arg brother: A Curve object.\n"
39 " :type brother: :class:`Curve`\n"
40 " :arg id: An Id object.\n"
41 " :type id: :class:`Id`");
45 static const char *kwlist_1[] = {
"brother",
nullptr};
46 static const char *kwlist_2[] = {
"id",
nullptr};
47 PyObject *obj =
nullptr;
49 if (PyArg_ParseTupleAndKeywords(args, kwds,
"|O!", (
char **)kwlist_1, &
FrsCurve_Type, &obj)) {
57 else if ((
void)PyErr_Clear(),
58 PyArg_ParseTupleAndKeywords(args, kwds,
"O!", (
char **)kwlist_2, &
Id_Type, &obj))
63 PyErr_SetString(PyExc_TypeError,
"invalid argument(s)");
67 self->py_if1D.borrowed =
false;
73 FrsCurve_push_vertex_back_doc,
74 ".. method:: push_vertex_back(vertex)\n"
76 " Adds a single vertex at the end of the Curve.\n"
78 " :arg vertex: A vertex object.\n"
79 " :type vertex: :class:`SVertex` | :class:`CurvePoint`");
83 static const char *kwlist[] = {
"vertex",
nullptr};
84 PyObject *obj =
nullptr;
86 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O", (
char **)kwlist, &obj)) {
97 PyErr_SetString(PyExc_TypeError,
"invalid argument");
105 FrsCurve_push_vertex_front_doc,
106 ".. method:: push_vertex_front(vertex)\n"
108 " Adds a single vertex at the front of the Curve.\n"
110 " :arg vertex: A vertex object.\n"
111 " :type vertex: :class:`SVertex` | :class:`CurvePoint`");
115 static const char *kwlist[] = {
"vertex",
nullptr};
116 PyObject *obj =
nullptr;
118 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O", (
char **)kwlist, &obj)) {
129 PyErr_SetString(PyExc_TypeError,
"invalid argument");
137# pragma clang diagnostic push
138# pragma clang diagnostic ignored "-Wcast-function-type"
140# pragma GCC diagnostic push
141# pragma GCC diagnostic ignored "-Wcast-function-type"
148 METH_VARARGS | METH_KEYWORDS,
149 FrsCurve_push_vertex_back_doc},
150 {
"push_vertex_front",
152 METH_VARARGS | METH_KEYWORDS,
153 FrsCurve_push_vertex_front_doc},
154 {
nullptr,
nullptr, 0,
nullptr},
159# pragma clang diagnostic pop
161# pragma GCC diagnostic pop
169 FrsCurve_is_empty_doc,
170 "True if the Curve doesn't have any Vertex yet.\n"
181 FrsCurve_segments_size_doc,
182 "The number of segments in the polyline constituting the Curve.\n"
188 return PyLong_FromLong(
self->c->nSegments());
196 FrsCurve_segments_size_doc,
198 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
204 PyVarObject_HEAD_INIT(
nullptr, 0)
223 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * PyBool_from_bool(bool b)
#define BPy_CurvePoint_Check(v)
static PyObject * FrsCurve_push_vertex_back(BPy_FrsCurve *self, PyObject *args, PyObject *kwds)
static int FrsCurve_init(BPy_FrsCurve *self, PyObject *args, PyObject *kwds)
PyTypeObject FrsCurve_Type
static PyGetSetDef BPy_FrsCurve_getseters[]
static PyMethodDef BPy_FrsCurve_methods[]
static PyObject * FrsCurve_segments_size_get(BPy_FrsCurve *self, void *)
PyDoc_STRVAR(FrsCurve_doc, "Class hierarchy: :class:`Interface1D` > :class:`Curve`\n" "\n" "Base class for curves made of CurvePoints. :class:`SVertex` is the\n" "type of the initial curve vertices. A :class:`Chain` is a\n" "specialization of a Curve.\n" "\n" ".. method:: __init__()\n" " __init__(brother)\n" " __init__(id)\n" "\n" " Builds a :class:`FrsCurve` using a default constructor,\n" " copy constructor or from an :class:`Id`.\n" "\n" " :arg brother: A Curve object.\n" " :type brother: :class:`Curve`\n" " :arg id: An Id object.\n" " :type id: :class:`Id`")
static PyObject * FrsCurve_push_vertex_front(BPy_FrsCurve *self, PyObject *args, PyObject *kwds)
static PyObject * FrsCurve_is_empty_get(BPy_FrsCurve *self, void *)
PyTypeObject Interface1D_Type
#define BPy_SVertex_Check(v)