From 615bb9f431f456f2c1fa5175e568448e52d8cb5f Mon Sep 17 00:00:00 2001 From: Florent Lamiraux <florent@laas.fr> Date: Mon, 31 Jan 2011 06:21:08 +0100 Subject: [PATCH] Bind SignalBase<T, int>::setTime. --- src/dynamic-graph-py.cc | 3 +++ src/dynamic_graph/signal_base.py | 10 ++++++++++ src/signal-base-py.cc | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/src/dynamic-graph-py.cc b/src/dynamic-graph-py.cc index bf70bba..00a576d 100644 --- a/src/dynamic-graph-py.cc +++ b/src/dynamic-graph-py.cc @@ -29,6 +29,7 @@ namespace dynamicgraph { namespace signalBase { extern PyObject* create(PyObject* self, PyObject* args); extern PyObject* getTime(PyObject* self, PyObject* args); + extern PyObject* setTime(PyObject* self, PyObject* args); extern PyObject* getName(PyObject* self, PyObject* args); extern PyObject* display(PyObject* self, PyObject* args); extern PyObject* getValue(PyObject* self, PyObject* args); @@ -147,6 +148,8 @@ static PyMethodDef dynamicGraphMethods[] = { "create a SignalBase C++ object"}, {"signal_base_get_time", dynamicgraph::python::signalBase::getTime, METH_VARARGS, "Get time of a SignalBase"}, + {"signal_base_set_time", dynamicgraph::python::signalBase::setTime, + METH_VARARGS, "Set time of a SignalBase"}, {"signal_base_get_name", dynamicgraph::python::signalBase::getName, METH_VARARGS, "Get the name of a signal"}, {"signal_base_display", dynamicgraph::python::signalBase::display, diff --git a/src/dynamic_graph/signal_base.py b/src/dynamic_graph/signal_base.py index 7661b8d..08e4832 100644 --- a/src/dynamic_graph/signal_base.py +++ b/src/dynamic_graph/signal_base.py @@ -167,6 +167,16 @@ class SignalBase (object) : """ return wrap.signal_base_get_time(self.obj) + @time.setter + def time(self, val) : + """ + Set Time of signal + + Input: + - an integer + """ + return wrap.signal_base_set_time(self.obj, val) + @property def value(self) : """ diff --git a/src/signal-base-py.cc b/src/signal-base-py.cc index dc5d5e1..08b61e1 100644 --- a/src/signal-base-py.cc +++ b/src/signal-base-py.cc @@ -77,6 +77,25 @@ namespace dynamicgraph { return Py_BuildValue("i", time); } + PyObject* setTime(PyObject* /*self*/, PyObject* args) + { + void* pointer = NULL; + PyObject* object = NULL; + int time; + if (!PyArg_ParseTuple(args,"Oi", &object, &time)) + return NULL; + if (!PyCObject_Check(object)) { + PyErr_SetString(error, "object should be a C object"); + return NULL; + } + + pointer = PyCObject_AsVoidPtr(object); + SignalBase<int>* obj = (SignalBase<int>*)pointer; + + obj->setTime(time); + return Py_BuildValue(""); + } + PyObject* display(PyObject* /*self*/, PyObject* args) { void* pointer = NULL; -- GitLab