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`\n");
44 static const char *kwlist_1[] = {
"brother",
nullptr};
45 static const char *kwlist_2[] = {
"id",
nullptr};
46 PyObject *obj =
nullptr;
48 if (PyArg_ParseTupleAndKeywords(args, kwds,
"|O!", (
char **)kwlist_1, &
FrsCurve_Type, &obj)) {
56 else if ((
void)PyErr_Clear(),
57 PyArg_ParseTupleAndKeywords(args, kwds,
"O!", (
char **)kwlist_2, &
Id_Type, &obj))
62 PyErr_SetString(PyExc_TypeError,
"invalid argument(s)");
66 self->py_if1D.borrowed =
false;
72 FrsCurve_push_vertex_back_doc,
73 ".. method:: push_vertex_back(vertex)\n"
75 " Adds a single vertex at the end of the Curve.\n"
77 " :arg vertex: A vertex object.\n"
78 " :type vertex: :class:`SVertex` | :class:`CurvePoint`\n");
81 static const char *kwlist[] = {
"vertex",
nullptr};
82 PyObject *obj =
nullptr;
84 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O", (
char **)kwlist, &obj)) {
95 PyErr_SetString(PyExc_TypeError,
"invalid argument");
103 FrsCurve_push_vertex_front_doc,
104 ".. method:: push_vertex_front(vertex)\n"
106 " Adds a single vertex at the front of the Curve.\n"
108 " :arg vertex: A vertex object.\n"
109 " :type vertex: :class:`SVertex` | :class:`CurvePoint`\n");
112 static const char *kwlist[] = {
"vertex",
nullptr};
113 PyObject *obj =
nullptr;
115 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O", (
char **)kwlist, &obj)) {
126 PyErr_SetString(PyExc_TypeError,
"invalid argument");
134# pragma clang diagnostic push
135# pragma clang diagnostic ignored "-Wcast-function-type"
137# pragma GCC diagnostic push
138# pragma GCC diagnostic ignored "-Wcast-function-type"
145 METH_VARARGS | METH_KEYWORDS,
146 FrsCurve_push_vertex_back_doc},
147 {
"push_vertex_front",
149 METH_VARARGS | METH_KEYWORDS,
150 FrsCurve_push_vertex_front_doc},
151 {
nullptr,
nullptr, 0,
nullptr},
156# pragma clang diagnostic pop
158# pragma GCC diagnostic pop
166 FrsCurve_is_empty_doc,
167 "True if the Curve doesn't have any Vertex yet.\n"
177 FrsCurve_segments_size_doc,
178 "The number of segments in the polyline constituting the Curve.\n"
183 return PyLong_FromLong(
self->c->nSegments());
191 FrsCurve_segments_size_doc,
193 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
199 PyVarObject_HEAD_INIT(
nullptr, 0)
218 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)
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`\n")
PyTypeObject FrsCurve_Type
static PyGetSetDef BPy_FrsCurve_getseters[]
static PyMethodDef BPy_FrsCurve_methods[]
static PyObject * FrsCurve_segments_size_get(BPy_FrsCurve *self, void *)
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)