summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhitya Kamakshidasan2016-06-23 17:01:16 +0530
committerGitHub2016-06-23 17:01:16 +0530
commitec57c8a08d85350084d6725998dab29c0e806b0f (patch)
tree6b466248f83bb6c97d048ee9013e90d913ff7583
parent2aae4a520315c9b01228877fc6cdb0d0b9b2a3da (diff)
parentd8b0cfac9a71a9c2628c84505cf0f962f3c08f36 (diff)
downloadxcos-on-web-ec57c8a08d85350084d6725998dab29c0e806b0f.tar.gz
xcos-on-web-ec57c8a08d85350084d6725998dab29c0e806b0f.tar.bz2
xcos-on-web-ec57c8a08d85350084d6725998dab29c0e806b0f.zip
Merge pull request #63 from ASP1234/master
Implement CANIMXY3D Block
-rw-r--r--data_structures_correct/AUTOMAT.js13
-rw-r--r--data_structures_correct/BIGSOM_f.js5
-rw-r--r--data_structures_correct/BOUNCE.js27
-rw-r--r--data_structures_correct/BOUNCEXY.js17
-rw-r--r--data_structures_correct/CANIMXY3D.js41
-rw-r--r--data_structures_correct/CFSCOPE.js22
-rw-r--r--data_structures_correct/CMSCOPE.js41
-rw-r--r--dependencies.js147
-rw-r--r--finalmodsheet.xsl8
9 files changed, 212 insertions, 109 deletions
diff --git a/data_structures_correct/AUTOMAT.js b/data_structures_correct/AUTOMAT.js
index 931db5e..cab6287 100644
--- a/data_structures_correct/AUTOMAT.js
+++ b/data_structures_correct/AUTOMAT.js
@@ -2,26 +2,15 @@ function AUTOMAT() {
AUTOMAT.prototype.define = function AUTOMAT() {
this.NMode = 2;
-
this.Minitial = 1;
-
this.NX = 1;
-
this.X0 = [0.0];
-
- this.XP = [
- [1],
- [1]
- ];
-
+ this.XP = [[1],[1]];
this.C1 = [2];
-
this.C2 = [1];
var exprs = new ScilabString([this.NMode.toString()], [this.Minitial.toString()], [this.NX.toString()], [sci2exp(this.X0)], [sci2exp(this.XP)], [sci2exp(this.C1)], [sci2exp(this.C2)]);
-
var ipar = new ScilabDouble([this.NMode], [this.Minitial], [this.NX], ...this.XP, this.C1, this.C2);
-
var rpar = new ScilabDouble(this.X0);
var model = scicos_model();
diff --git a/data_structures_correct/BIGSOM_f.js b/data_structures_correct/BIGSOM_f.js
index 7a4627a..1b896a1 100644
--- a/data_structures_correct/BIGSOM_f.js
+++ b/data_structures_correct/BIGSOM_f.js
@@ -1,10 +1,7 @@
function BIGSOM_f() {
BIGSOM_f.prototype.define = function BIGSOM_f() {
- this.sgn = [
- [1],
- [1]
- ];
+ this.sgn = [[1],[1]];
var model = scicos_model();
model.sim = list(new ScilabString(["sum"]), new ScilabDouble([2]));
diff --git a/data_structures_correct/BOUNCE.js b/data_structures_correct/BOUNCE.js
index 4142430..e63b241 100644
--- a/data_structures_correct/BOUNCE.js
+++ b/data_structures_correct/BOUNCE.js
@@ -15,28 +15,11 @@ function BOUNCE() {
}
}
- this.walls = [
- [0],
- [5],
- [0],
- [5]
- ];
- this.x1 = [
- [2],
- [2.5]
- ];
- this.xd = [
- [0],
- [0]
- ];
- this.y1 = [
- [3],
- [5]
- ];
- this.yd = [
- [0],
- [0]
- ];
+ this.walls = [[0],[5],[0],[5]];
+ this.x1 = [[2],[2.5]];
+ this.xd = [[0],[0]];
+ this.y1 = [[3],[5]];
+ this.yd = [[0],[0]];
this.g = 9.81;
this.C = 0;
this.rpar1 = ones(this.n, 1);
diff --git a/data_structures_correct/BOUNCEXY.js b/data_structures_correct/BOUNCEXY.js
index 3110f6c..6a3163c 100644
--- a/data_structures_correct/BOUNCEXY.js
+++ b/data_structures_correct/BOUNCEXY.js
@@ -2,25 +2,12 @@ function BOUNCEXY() {
BOUNCEXY.prototype.define = function BOUNCEXY() {
this.win = -1;
-
this.imode = 1;
-
- this.clrs = [
- [1],
- [2]
- ];
-
- this.siz = [
- [1],
- [1]
- ];
-
+ this.clrs = [[1],[2]];
+ this.siz = [[1],[1]];
this.xmin = -5;
-
this.xmax = 5;
-
this.ymin = 0;
-
this.ymax = 15;
var model = scicos_model();
diff --git a/data_structures_correct/CANIMXY3D.js b/data_structures_correct/CANIMXY3D.js
new file mode 100644
index 0000000..d806266
--- /dev/null
+++ b/data_structures_correct/CANIMXY3D.js
@@ -0,0 +1,41 @@
+function CANIMXY3D() {
+
+ CANIMXY3D.prototype.define = function CANIMXY3D() {
+
+ this.win = -1;
+ this.N = 2;
+ this.clrs = [[1],[2],[3],[4],[5],[6],[7],[13]];
+ this.siz = [[1],[1],[1],[1],[1],[1],[1],[1]];
+ this.wpos = [[-1],[-1]];
+ this.wdim = [[-1],[-1]];
+ this.param3ds = [[50],[280]];
+ this.vec_x = [[-15],[15]];
+ this.vec_y = [[-15],[15]];
+ this.vec_z = [[-15],[15]];
+ this.nbr_curves = 1;
+
+ var model = scicos_model();
+ model.sim = list(new ScilabString(["canimxy3d"]), new ScilabDouble([4]));
+ model.in = new ScilabDouble([1], [1], [1]);
+ model.evtin = new ScilabDouble([1]);
+ model.in2 = new ScilabDouble([1], [1], [1]);
+ model.intyp = new ScilabDouble([1], [1], [1]);
+ model.rpar = new ScilabDouble(...colon_operator(this.vec_x), ...colon_operator(this.vec_y), ...colon_operator(this.vec_z), ...colon_operator(this.param3ds));
+ model.ipar = new ScilabDouble([this.win], [8], [this.N], ...colon_operator(this.clrs), ...colon_operator(this.siz), [8], ...colon_operator(this.wpos), ...colon_operator(this.wdim), [this.nbr_curves]);
+ model.blocktype = new ScilabString(["d"]);
+ model.firing = new ScilabDouble();
+ model.dep_ut = new ScilabBoolean([false, false]);
+
+ var exprs = new ScilabString([this.nbr_curves], [this.clrs.toString().replace(/,/g, " ")], [this.siz.toString().replace(/,/g, " ")], [this.win], ["[]"], ["[]"], [this.vec_x.toString().replace(/,/g, " ")], [this.vec_y.toString().replace(/,/g, " ")], [this.vec_z.toString().replace(/,/g, " ")], [this.param3ds.toString().replace(/,/g, " ")], [this.N]);
+
+ var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CANIMXY3D\",sz(1),sz(2));"]);
+ this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i);
+ return new BasicBlock(this.x);
+ }
+
+ CANIMXY3D.prototype.details = function CANIMXY3D() {
+
+ return this.x;
+ }
+
+}
diff --git a/data_structures_correct/CFSCOPE.js b/data_structures_correct/CFSCOPE.js
index 16ee3e5..c2c7991 100644
--- a/data_structures_correct/CFSCOPE.js
+++ b/data_structures_correct/CFSCOPE.js
@@ -2,28 +2,14 @@ function CFSCOPE() {
CFSCOPE.prototype.define = function CFSCOPE() {
this.win = -1;
- this.wdim = [
- [600],
- [400]
- ];
- this.wpos = [
- [-1],
- [-1]
- ];
- this.clrs = [
- [1],
- [3],
- [5],
- [7],
- [9],
- [11],
- [13],
- [15]
- ];
+ this.wdim = [[600],[400]];
+ this.wpos = [[-1],[-1]];
+ this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]];
this.N = 2;
this.ymin = -15;
this.ymax = 15;
this.per = 30;
+
var model = scicos_model();
model.sim = list(new ScilabString(["cfscope"]), new ScilabDouble([4]));
model.evtin = new ScilabDouble([1]);
diff --git a/data_structures_correct/CMSCOPE.js b/data_structures_correct/CMSCOPE.js
index e00ee14..701771a 100644
--- a/data_structures_correct/CMSCOPE.js
+++ b/data_structures_correct/CMSCOPE.js
@@ -38,41 +38,14 @@ function CMSCOPE() {
}
CMSCOPE.prototype.define = function CMSCOPE() {
this.win = -1;
- this.in1 = [
- [1],
- [1]
- ];
- this.wdim = [
- [-1],
- [-1]
- ];
- this.wpos = [
- [-1],
- [-1]
- ];
- this.clrs = [
- [1],
- [3],
- [5],
- [7],
- [9],
- [11],
- [13],
- [15]
- ];
+ this.in1 = [[1],[1]];
+ this.wdim = [[-1],[-1]];
+ this.wpos = [[-1],[-1]];
+ this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]];
this.N = 20;
- this.ymin = [
- [-1],
- [-5]
- ];
- this.ymax = [
- [1],
- [5]
- ];
- this.per = [
- [30],
- [30]
- ];
+ this.ymin = [[-1],[-5]];
+ this.ymax = [[1],[5]];
+ this.per = [[30],[30]];
this.yy = [...transpose(this.ymin), ...transpose(this.ymax)];
this.period = transpose(this.per);
diff --git a/dependencies.js b/dependencies.js
index 4176712..ec5b2bd 100644
--- a/dependencies.js
+++ b/dependencies.js
@@ -184,6 +184,153 @@ function BigSom() {
}
}
+function EventInBlock() {
+ if (arguments.length > 0) {
+ var options = arguments[0];
+ this.blockType = getData(options.model.blocktype)[0];
+ this.connectable = options.connectable; // Not Known
+ this.id = options.id;
+ this.interfaceFunctionName = arguments.callee.caller.name;
+ this.ordering = options.ordering;
+ this.parent = options.parent;
+ if (options.model.sim instanceof Array) {
+ this.simulationFunctionName = getData(options.model.sim[0])[0];
+ var func_type;
+ switch (getData(options.model.sim[1])[0].toString()) {
+ case "-2.0":
+ func_type = "ESELECT";
+ break;
+ case "-1.0":
+ func_type = "IFTHENELSE";
+ break;
+ case "1.0":
+ func_type = "TYPE_1";
+ break;
+ case "2.0":
+ func_type = "TYPE_2";
+ break;
+ case "3.0":
+ func_type = "TYPE_3";
+ break;
+ case "4.0":
+ func_type = "C_OR_FORTRAN";
+ break;
+ case "5.0":
+ func_type = "SCILAB";
+ break;
+ case "99.0":
+ func_type = "DEBUG";
+ break;
+ case "1001.0":
+ func_type = "DYNAMIC_FORTRAN_1";
+ break;
+ case "2001.0":
+ func_type = "DYNAMIC_C_1";
+ break;
+ case "2004.0":
+ func_type = "DYNAMIC_EXPLICIT_4";
+ break;
+ case "10001.0":
+ func_type = "OLDBLOCKS";
+ break;
+ case "10004.0":
+ func_type = "IMPLICIT_C_OR_FORTRAN";
+ break;
+ case "30004.0":
+ func_type = "MODELICA";
+ break;
+ }
+ this.simulationFunctionType = func_type;
+ } else {
+ this.simulationFunctionName = getData(options.model.sim)[0];
+ this.simulationFunctionType = "DEFAULT";
+ }
+ this.style = arguments.callee.caller.name;
+ this.value = options.value; // Not Known
+ this.vertex = options.vertex; // Not Known
+ this.visible = options.visible; // Not Known
+ this.exprs = options.graphics.exprs;
+ this.integerParameters = options.model.ipar;
+ this.objectsParameters = options.model.opar;
+ this.equations = list(); // Not Known
+ this.blockName = "EventInBlock";
+ this.blockElementName = arguments.callee.caller.name;
+ }
+}
+
+function EventOutBlock() {
+ if (arguments.length > 0) {
+ var options = arguments[0];
+ this.blockType = getData(options.model.blocktype)[0];
+ this.connectable = options.connectable; // Not Known
+ this.id = options.id;
+ this.interfaceFunctionName = arguments.callee.caller.name;
+ this.ordering = options.ordering;
+ this.parent = options.parent;
+ if (options.model.sim instanceof Array) {
+ this.simulationFunctionName = getData(options.model.sim[0])[0];
+ var func_type;
+ switch (getData(options.model.sim[1])[0].toString()) {
+ case "-2.0":
+ func_type = "ESELECT";
+ break;
+ case "-1.0":
+ func_type = "IFTHENELSE";
+ break;
+ case "1.0":
+ func_type = "TYPE_1";
+ break;
+ case "2.0":
+ func_type = "TYPE_2";
+ break;
+ case "3.0":
+ func_type = "TYPE_3";
+ break;
+ case "4.0":
+ func_type = "C_OR_FORTRAN";
+ break;
+ case "5.0":
+ func_type = "SCILAB";
+ break;
+ case "99.0":
+ func_type = "DEBUG";
+ break;
+ case "1001.0":
+ func_type = "DYNAMIC_FORTRAN_1";
+ break;
+ case "2001.0":
+ func_type = "DYNAMIC_C_1";
+ break;
+ case "2004.0":
+ func_type = "DYNAMIC_EXPLICIT_4";
+ break;
+ case "10001.0":
+ func_type = "OLDBLOCKS";
+ break;
+ case "10004.0":
+ func_type = "IMPLICIT_C_OR_FORTRAN";
+ break;
+ case "30004.0":
+ func_type = "MODELICA";
+ break;
+ }
+ this.simulationFunctionType = func_type;
+ } else {
+ this.simulationFunctionName = getData(options.model.sim)[0];
+ this.simulationFunctionType = "DEFAULT";
+ }
+ this.style = arguments.callee.caller.name;
+ this.value = options.value; // Not Known
+ this.vertex = options.vertex; // Not Known
+ this.visible = options.visible; // Not Known
+ this.exprs = options.graphics.exprs;
+ this.integerParameters = options.model.ipar;
+ this.objectsParameters = options.model.opar;
+ this.equations = list(); // Not Known
+ this.blockName = "EventOutBlock";
+ this.blockElementName = arguments.callee.caller.name;
+ }
+}
function zeros() {
if (arguments.length == 0) {
diff --git a/finalmodsheet.xsl b/finalmodsheet.xsl
index 0546481..06f3b0f 100644
--- a/finalmodsheet.xsl
+++ b/finalmodsheet.xsl
@@ -172,7 +172,7 @@ Look for TAG:Break1!!!
</xsl:template>
<xsl:template name="Object" match="Object">
<xsl:element name="Array">
- <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom'">
+ <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock'">
<xsl:if test="@as">
<xsl:attribute name="as">
<xsl:value-of select="@as" />
@@ -200,7 +200,7 @@ Look for TAG:Break1!!!
-->
<xsl:template name="Array" match="Array">
<xsl:element name="Array">
- <xsl:if test="name(..)='BasicBlock' or @as='context' or name(..)='AfficheBlock' or name(..)='BigSom'">
+ <xsl:if test="name(..)='BasicBlock' or @as='context' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock'">
<xsl:if test="@as">
<xsl:attribute name="as">
<xsl:value-of select="@as" />
@@ -1581,7 +1581,7 @@ Look for TAG:Break1!!!
</xsl:template>
<xsl:template name="ScilabDouble" match="ScilabDouble">
<xsl:element name="ScilabDouble">
- <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom'">
+ <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock'">
<xsl:if test="@as">
<xsl:attribute name="as">
<xsl:value-of select="@as" />
@@ -1613,7 +1613,7 @@ Look for TAG:Break1!!!
</xsl:template>
<xsl:template name="ScilabString" match="ScilabString">
<xsl:element name="ScilabString">
- <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom'">
+ <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock'">
<xsl:if test="@as">
<xsl:attribute name="as">
<xsl:value-of select="@as" />