xcos: load zcos files containing blocks with data matrices 64/21164/3
Clement David [Thu, 12 Dec 2019 10:21:23 +0000 (11:21 +0100)]
Change-Id: Ib4a95d11824dba6a9114a0e5ad37b1c6ae93c422

scilab/modules/xcos/src/java/org/scilab/modules/xcos/io/scicos/BlockModelElement.java

index 91ed4ea..50836df 100644 (file)
@@ -260,17 +260,21 @@ final class BlockModelElement extends BlockPartsElement {
     }
 
     private VectorOfDouble toVectorOfDouble(ScilabDouble value) {
-        VectorOfDouble ret = new VectorOfDouble(value.getHeight());
-        for (int i = 0; i < value.getWidth(); i++) {
-            ret.set(i, value.getRealElement(i, 0));
+        VectorOfDouble ret = new VectorOfDouble(value.getHeight() * value.getWidth());
+        for (int i = 0; i < value.getHeight(); i++) {
+            for (int j = 0; j < value.getWidth(); j++) {
+                ret.set(i*value.getWidth() + j, value.getRealElement(i, j));
+            }
         }
         return ret;
     }
 
     private VectorOfInt toVectorOfInt(ScilabDouble value) {
-        VectorOfInt ret = new VectorOfInt(value.getHeight());
-        for (int i = 0; i < value.getWidth(); i++) {
-            ret.set(i, (int) value.getRealElement(i, 0));
+        VectorOfInt ret = new VectorOfInt(value.getHeight() * value.getWidth());
+        for (int i = 0; i < value.getHeight(); i++) {
+            for (int j = 0; j < value.getWidth(); j++) {
+                ret.set(i*value.getWidth() + j, (int) value.getRealElement(i, j));
+            }
         }
         return ret;
     }