5 #include <boost/python.hpp>
7 #include <dynamic-graph/signal-base.h>
8 #include <dynamic-graph/signal-ptr.h>
9 #include <dynamic-graph/signal-time-dependent.h>
10 #include <dynamic-graph/signal.h>
17 template <
typename T,
typename Time>
19 namespace bp = boost::python;
21 typedef Signal<T, Time> S_t;
22 bp::class_<S_t, bp::bases<SignalBase<Time> >, boost::noncopyable> obj(
23 name.c_str(), bp::init<std::string>());
26 bp::make_function(&S_t::accessCopy,
27 bp::return_value_policy<bp::copy_const_reference>()),
30 "warning: for Eigen objects, sig.value[0] = 1. may not work).");
34 template <
typename T,
typename Time>
36 namespace bp = boost::python;
39 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
40 name.c_str(), bp::no_init);
44 template <
typename T,
typename Time>
46 namespace bp = boost::python;
48 typedef SignalPtr<T, Time> S_t;
49 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
50 name.c_str(), bp::no_init);
54 template <
typename T,
typename Time>
56 namespace bp = boost::python;
58 typedef SignalTimeDependent<T, Time> S_t;
59 bp::class_<S_t, bp::bases<Signal<T, Time> >, boost::noncopyable> obj(
60 name.c_str(), bp::no_init);
64 template <
typename T,
typename Time>
66 exposeSignal<T, Time>(
"Signal" + name);
67 exposeSignalPtr<T, Time>(
"SignalPtr" + name);
68 exposeSignalWrapper<T, Time>(
"SignalWrapper" + name);
69 exposeSignalTimeDependent<T, Time>(
"SignalTimeDependent" + name);