3 #include <dynamic-graph/signal-base.h>
4 #include <dynamic-graph/signal-ptr.h>
5 #include <dynamic-graph/signal-time-dependent.h>
6 #include <dynamic-graph/signal.h>
8 #include <boost/python.hpp>
16 template <
typename T,
typename Time>
18 namespace bp = boost::python;
20 typedef Signal<T, Time> S_t;
21 bp::class_<S_t, bp::bases<SignalBase<Time> >, boost::noncopyable> obj(
22 name.c_str(), bp::init<std::string>());
25 bp::make_function(&S_t::accessCopy,
26 bp::return_value_policy<bp::copy_const_reference>()),
29 "warning: for Eigen objects, sig.value[0] = 1. may not work).");
33 template <
typename T,
typename Time>
35 namespace bp = boost::python;
38 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
39 name.c_str(), bp::no_init);
43 template <
typename T,
typename Time>
45 namespace bp = boost::python;
47 typedef SignalPtr<T, Time> S_t;
48 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
49 name.c_str(), bp::no_init);
53 template <
typename T,
typename Time>
55 namespace bp = boost::python;
57 typedef SignalTimeDependent<T, Time> S_t;
58 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
59 name.c_str(), bp::no_init);
63 template <
typename T,
typename Time>
65 exposeSignal<T, Time>(
"Signal" + name);
66 exposeSignalPtr<T, Time>(
"SignalPtr" + name);
67 exposeSignalWrapper<T, Time>(
"SignalWrapper" + name);
68 exposeSignalTimeDependent<T, Time>(
"SignalTimeDependent" + name);