Index: tools/swilena/ChangeLog
from Nicolas Burrus <burrus_n(a)lrde.epita.fr>
* meta/swilena_image.i: Add operator[] for python and ruby.
* meta/swilena_describe.i: Fix __str__ return type.
Index: tools/swilena/meta/swilena_image.i
--- tools/swilena/meta/swilena_image.i Sun, 21 Sep 2003 21:59:21 +0200 burrus_n
(oln/s/36_swilena_im 1.4 640)
+++ tools/swilena/meta/swilena_image.i Sat, 27 Sep 2003 18:32:13 +0200 burrus_n
(oln/s/36_swilena_im 1.5 640)
@@ -30,6 +30,13 @@
{ (*self)[p] = v; return *self; }
Val& ref(const point ## Dim ## d& p)
{ return (*self)[p]; }
+
+#if defined(SWIGPYTHON) || defined(SWIGRUBY)
+ Val __getitem__(const point ## Dim ## d& p)
+ { return (*self)[p]; }
+ T& __setitem__(const point ## Dim ## d& p, Val v)
+ { (*self)[p] = v; return *self; }
+#endif
}
EXTEND_DESCRIBE(T)
@@ -39,6 +46,12 @@
Val& operator()(coord);
%extend {
+#if defined(SWIGRUBY)
+ Val __getitem__(coord x)
+ { return (*self)(x); }
+ T __setitem__(coord x, Val v)
+ { (*self)(x) = v; return *self; }
+#endif
Val at(coord x) { return (*self)(x); }
T& set(coord x, Val v) { (*self)(x) = v; return *self; }
Val& ref(coord x) { return (*self)(x); }
@@ -49,6 +62,12 @@
Val& operator()(coord, coord);
%extend {
+#if defined(SWIGRUBY)
+ Val __getitem__(coord x, coord y)
+ { return (*self)(x, y); }
+ T __setitem__(coord x, coord y, Val v)
+ { (*self)(x, y) = v; return *self; }
+#endif
Val at(coord x, coord y)
{ return (*self)(x, y); }
T& set(coord x, coord y, Val v)
@@ -62,6 +81,12 @@
Val& operator()(coord, coord, coord);
%extend {
+#if defined(SWIGRUBY)
+ Val __getitem__(coord x, coord y, coord z)
+ { return (*self)(x, y, z); }
+ T __setitem__(coord x, coord y, coord z, Val v)
+ { (*self)(x, y, z) = v; return *self; }
+#endif
Val at(coord x, coord y, coord z)
{ return (*self)(x, y, z); }
T& set(coord x, coord y, coord z, Val v)
Index: tools/swilena/meta/swilena_describe.i
--- tools/swilena/meta/swilena_describe.i Sun, 21 Sep 2003 20:25:01 +0200 burrus_n
(oln/s/38_swilena_de 1.2 640)
+++ tools/swilena/meta/swilena_describe.i Sat, 27 Sep 2003 18:32:13 +0200 burrus_n
(oln/s/38_swilena_de 1.3 640)
@@ -14,10 +14,10 @@
}
#if defined(SWIGPYTHON)
- const char *__str__() {
+ std::string __str__() {
std::ostringstream os;
os << (*self);
- return os.str().c_str();
+ return os.str();
}
#endif
@@ -41,10 +41,10 @@
}
#if defined(SWIGPYTHON)
- const char *__str__() {
+ std::string __str__() {
std::ostringstream os;
os << (*self);
- return os.str().c_str();
+ return os.str();
}
#endif