summaryrefslogtreecommitdiff
path: root/details.js
diff options
context:
space:
mode:
authorAdhitya Kamakshidasan2016-07-28 21:53:13 +0530
committerAdhitya Kamakshidasan2016-07-28 21:53:13 +0530
commit572f2fef124c7e62afb917ef9c596a22724da077 (patch)
tree6d2be425cc2c89975e3c7f96393c1a55cf305a6a /details.js
parent1f98bf44777c0669ddb780a9875578593048c5a8 (diff)
downloadxcos-on-web-572f2fef124c7e62afb917ef9c596a22724da077.tar.gz
xcos-on-web-572f2fef124c7e62afb917ef9c596a22724da077.tar.bz2
xcos-on-web-572f2fef124c7e62afb917ef9c596a22724da077.zip
Support for Maven added
Diffstat (limited to 'details.js')
-rw-r--r--details.js643
1 files changed, 0 insertions, 643 deletions
diff --git a/details.js b/details.js
deleted file mode 100644
index fa4211e..0000000
--- a/details.js
+++ /dev/null
@@ -1,643 +0,0 @@
-// All arrays - separated by ',' or ';' or ' ' are taken to be 1 Dimensional
-// Only during printing, their nomenclature will change
-// Good read: http://javascript.info/tutorial/arguments#keyword-arguments
-/*
-Authors: Adhitya, Nimish, Chhavi, Saarang
-*/
-var script = document.createElement("script");
-script.src = "dependencies.js";
-document.head.appendChild(script);
-var count = 1;
-
-function scicos_block() {
- var options = arguments[0] || new Object();
- var block_type = ["Block", "graphics", "model", "gui", "doc"];
- this.Block = new ScilabString(block_type);
- this.graphics = options.graphics || new scicos_graphics();
- this.model = options.model || new scicos_model();
- this.gui = options.gui || new ScilabString();
- this.doc = options.doc || list();
-
- return mlist(block_type, this.Block, this.graphics, this.model, this.gui, this.doc);
-}
-
-function standard_define() {
- var sz = arguments[0];
- var model = arguments[1];
- var label = arguments[2];
- var gr_i = arguments[3] || new ScilabString();
-
- var pin = new ScilabDouble();
- var pout = new ScilabDouble();
- var pein = new ScilabDouble();
- var peout = new ScilabDouble();
-
- var nin = model.in.length;
- if (nin > 0) {
- pin = zeros(nin);
- }
- var nout = model.out.length;
- if (nout > 0) {
- pout = zeros(nout);
- }
- var ncin = model.evtin.length;
- if (ncin > 0) {
- pein = zeros(ncin);
- }
- var ncout = model.evtout.length;
- if (ncout > 0) {
- peout = zeros(ncout);
- }
-
- gr_i = list(gr_i, new ScilabDouble([8]));
-
- if (gr_i[1] == []) {
- gr_i[1] = new ScilabDouble([8]);
- }
- if (gr_i[1] == 0) {
- gr_i[1] = new ScilabDouble();
- }
-
- var graphics_options = {
- sz: sz,
- pin: pin,
- pout: pout,
- pein: pein,
- peout: peout,
- gr_i: gr_i,
- exprs: label
- };
- var graphics = new scicos_graphics(graphics_options);
- var block_options = {
- graphics: graphics,
- model: model,
- gui: new ScilabString([arguments.callee.caller.name])
- };
- return new scicos_block(block_options);
-}
-
-function scicos_graphics() {
- var options = arguments[0] || new Object();
- var graphics_type = ["graphics", "orig", "sz", "flip", "theta", "exprs", "pin", "pout", "pein", "peout", "gr_i", "id", "in_implicit", "out_implicit", "in_style", "out_style", "in_label", "out_label", "style"];
- this.graphics = new ScilabString(graphics_type);
- this.orig = options.orig || new ScilabDouble([0, 0]);
- this.sz = options.sz || new ScilabDouble([80, 80]); // Space and comma works the same!
- this.flip = options.flip || new ScilabBoolean([false]);
- this.theta = options.theta || new ScilabDouble([0]);
- this.exprs = options.exprs || new ScilabDouble();
- this.pin = options.pin || new ScilabDouble();
- this.pout = options.pout || new ScilabDouble();
- this.pein = options.pein || new ScilabDouble();
- this.peout = options.peout || new ScilabDouble();
- this.gr_i = options.gr_i || new ScilabString();
- this.id = options.id || new ScilabString([""]);
- this.in_implicit = options.in_implicit || new ScilabDouble();
- this.out_implicit = options.out_implicit || new ScilabDouble(); // There is only one!
- this.in_style = options.in_style || new ScilabDouble();
- this.out_style = options.out_style || new ScilabDouble();
- this.in_label = options.in_label || new ScilabDouble();
- this.out_label = options.out_label || new ScilabDouble();
- this.style = options.style || new ScilabString();
-
- return mlist(graphics_type, this.graphics, this.orig, this.sz, this.flip, this.theta, this.exprs, this.pin, this.pout, this.pein, this.peout, this.gr_i, this.id, this.in_implicit, this.out_implicit, this.in_style, this.out_style, this.in_label, this.out_label, this.style);
-}
-
-function scicos_model() {
- var options = arguments[0] || new Object();
- var model_type = ["model", "sim", "in", "in2", "intyp", "out", "out2", "outtyp", "evtin", "evtout", "state", "dstate", "odstate", "rpar", "ipar", "opar", "blocktype", "firing", "dep_ut", "label", "nzcross", "nmode", "equations", "uid"];
- this.model = new ScilabString(model_type);
- this.sim = options.sim || new ScilabString();
- this.in = options.in || new ScilabDouble();
- this.in2 = options.in2 || new ScilabDouble();
- this.intyp = options.intyp || new ScilabDouble(); // [1]
- this.out = options.out || new ScilabDouble();
- this.out2 = options.out2 || new ScilabDouble();
- this.outtyp = options.outtyp || new ScilabDouble([1]);
- this.evtin = options.evtin || new ScilabDouble();
- this.evtout = options.evtout || new ScilabDouble();
- this.state = options.state || new ScilabDouble();
- this.dstate = options.dstate || new ScilabDouble();
- this.odstate = options.odstate || list();
- this.ipar = options.ipar || new ScilabDouble();
- this.rpar = options.rpar || new ScilabDouble();
- this.opar = options.opar || list(); // new ScilabDouble();
- this.blocktype = options.blocktype || new ScilabString(["c"]);
- this.firing = options.firing || new ScilabDouble();
- this.dep_ut = options.dep_ut || new ScilabBoolean([false, false]);
- this.label = options.label || new ScilabString([""]); // If label not available, use image
- this.nzcross = options.nzcross || new ScilabDouble([0]);
- this.nmode = options.nmode || new ScilabDouble([0]);;
- this.equations = options.equations || list();
- this.uid = options.uid || new ScilabString();
-
- return mlist(model_type, this.model, this.sim, this.in, this.in2, this.intyp, this.out, this.out2, this.outtyp, this.evtin, this.evtout, this.state, this.dstate, this.odstate, this.ipar, this.rpar, this.opar, this.blocktype, this.firing, this.dep_ut, this.label, this.nzcross, this.nmode, this.equations, this.uid);
-}
-
-
-
-function scicos_diagram() {
- var options = arguments[0] || new Object();
- var diagram_type = ["diagram", "props", "objs", "version", "contrib"];
- this.diagram = new ScilabString(diagram_type);
- this.props = options.props || scicos_params();
- this.objs = options.objs || list();
- this.version = options.version || new ScilabString([""]);
- this.contrib = options.contrib || list();
-
- return mlist(diagram_type, this.diagram, this.props, this.objs, this.version, this.contrib);
-}
-
-
-function scicos_params() {
- var options = arguments[0] || new Object();
- var params_type = ["params", "wpar", "title", "tol", "tf", "context", "void1", "options", "void2", "void3", "doc"];
- this.params = new ScilabString(params_type);
- this.wpar = options.wpar || new ScilabDouble([600, 450, 0, 0, 600, 450]);
- this.title = options.title || options.Title || new ScilabString(["Untitled"]);
- this.tf = options.tf || new ScilabDouble([100000]);
- this.tol = options.tol || new ScilabDouble([Math.pow(10, -6)], [Math.pow(10, -6)], [Math.pow(10, -10)], [100001], [0], [1], [0]);
- this.context = options.context || new ScilabString([""]);
- this.void1 = new ScilabDouble();
- this.options = options.options || new default_options();
- this.void2 = new ScilabDouble();
- this.void3 = new ScilabDouble();
- this.doc = options.doc || list();
-
- return tlist(params_type, this.params, this.wpar, this.title, this.tol, this.tf, this.context, this.void1, this.options, this.void2, this.void3, this.doc);
-}
-
-function default_options() {
- var options_type = ["scsopt", "3D", "Background", "Link", "ID", "Cmap"];
- this.scsopt = new ScilabString(options_type);
- this.D3 = list(new ScilabBoolean([true]), new ScilabDouble([33]));
- this.Background = new ScilabDouble([8, 1]);
- this.Link = new ScilabDouble([1, 5]);
- this.ID = list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1]));
- this.Cmap = new ScilabDouble([0.8, 0.8, 0.8]);
-
- return tlist(options_type, this.scsopt, this.D3, this.Background, this.Link, this.ID, this.Cmap);
-}
-
-
-function scicos_link() {
- var options = arguments[0];
- var link_type = ["Link", "xx", "yy", "id", "thick", "ct", "from", "to"];
- this.Link = new ScilabString(link_type);
- this.xx = options.xx || new ScilabDouble(); //inverse array
- this.yy = options.yy || new ScilabDouble(); //inverse array
- this.id = options.id || new ScilabString(["drawlink"]); // changed
- this.thick = options.thick || new ScilabDouble([0, 0]);
- this.ct = options.ct || new ScilabDouble([1, 1]);
- this.from = options.from || new ScilabDouble();
- this.to = options.to || new ScilabDouble();
-
- return mlist(link_type, this.Link, this.xx, this.yy, this.id, this.thick, this.ct, this.from, this.to);
-}
-
-
-function list() {
- this.ScilabList = [];
- for (var i = 0; i < arguments.length; i++) {
- this.ScilabList.push(arguments[i]);
- }
- this.ScilabList.scilabClass = "ScilabList";
-
- return this.ScilabList;
-}
-
-function mlist() {
- this.ScilabMList = {};
- for (var i = 1, j = 0; i < arguments.length; i++, j++) {
- this.ScilabMList[arguments[0][j]] = arguments[i];
- }
- this.ScilabMList.varName = "";
- this.ScilabMList.scilabClass = "ScilabMList";
-
- return this.ScilabMList;
-}
-
-function tlist() {
- this.ScilabTList = {};
- for (var i = 1, j = 0; i < arguments.length; i++, j++) {
- this.ScilabTList[arguments[0][j]] = arguments[i];
- }
- this.ScilabTList.scilabClass = "ScilabTList";
-
- return this.ScilabTList;
-}
-
-
-function ScilabString() {
- var i = 0,
- j = 0;
- if (arguments.length) {
- var array = arguments;
- this.height = array.length;
- this.width = array[0].length;
- for (i = 0; i < this.height; i++) {
- for (j = 0; j < this.width; j++) {
- this["data" + i + j] = new data();
- this["data" + i + j].value = array[i][j];
- this["data" + i + j].line = i;
- this["data" + i + j].column = j;
- }
- }
- }
-}
-
-function ScilabBoolean() {
- var i = 0,
- j = 0;
- if (arguments.length) {
- var array = arguments;
- this.height = array.length;
- this.width = array[0].length;
- for (i = 0; i < this.height; i++) {
- for (j = 0; j < this.width; j++) {
- this["data" + i + j] = new data();
- this["data" + i + j].value = array[i][j].toString();
- this["data" + i + j].line = i;
- this["data" + i + j].column = j;
- }
- }
- }
-}
-
-function ScilabDouble() {
- var i = 0,
- j = 0;
- if (arguments.length) {
- var array = arguments;
- this.height = array.length;
- this.width = array[0].length;
- for (i = 0; i < this.height; i++) {
- for (j = 0; j < this.width; j++) {
- this["data" + i + j] = new data();
- if(array[i][j] % 1 == 0) {
- this["data" + i + j].realPart = array[i][j].toFixed(1);
- }
- else {
- this["data" + i + j].realPart = array[i][j];
- }
- this["data" + i + j].line = i;
- this["data" + i + j].column = j;
- }
- }
- }
-}
-
-function ScilabInteger() {
- var i = 0,
- j = 0;
- if (arguments.length) {
- var array = arguments;
- this.height = array.length;
- this.width = array[0].length;
- for (i = 0; i < this.height; i++) {
- for (j = 0; j < this.width; j++) {
- this["data" + i + j] = new data();
- this["data" + i + j].value = array[i][j];
- this["data" + i + j].line = i;
- this["data" + i + j].column = j;
- }
- }
- }
-}
-
-function int32() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_int32";
- return int;
-}
-
-function int16() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_int16";
- return int;
-}
-
-function int8() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_int8";
- return int;
-}
-
-function uint32() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_uint32";
- return int;
-}
-
-function uint16() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_uint16";
- return int;
-}
-
-function uint8() {
- var args = Array.prototype.slice.call(arguments);
- var int = new ScilabInteger(...args);
- int.intPrecision = "sci_uint8";
- return int;
-}
-
-
-function data() {
- this.line;
- this.column;
- this.realPart;
- this.value;
-}
-
-function getData() {
- var dataObject = arguments[0];
- var key;
- var dataArray = [];
- for (key in dataObject) {
- if (key != "height" && key != "width") {
- if (typeof dataObject[key].value === "undefined") {
- dataArray.push(dataObject[key].realPart);
- } else {
- dataArray.push(dataObject[key].value);
- }
- }
- }
- return dataArray;
-}
-
-function isEmpty() {
- return !getData(arguments[0]).length;
-}
-
-function modelica_function() {
- var modelica_type = ["modelica", "model", "inputs", "outputs", "parameters"];
- this.modelica = new ScilabString(modelica_type);
- this.model = [];
- this.inputs = [];
- this.outputs = [];
- this.parameters = list([], list());
- var mo = tlist(modelica_type, this.modelica, this.model, this.inputs, this.outputs, this.parameters);
- return mo;
-}
-
-// To add Block name under the instance tag in xml.
-function instance() {
- this.instance = arguments[0];
-}
-
-function createInstanceTag() {
- return new instance(arguments[0]);
-}
-
-
-function CLKIN_f() {
-
- CLKIN_f.prototype.internal = function CLKIN_f() {
- var model = scicos_model();
- var port = 1;
-
- model.sim = new ScilabString(["input"]);
- model.outtyp = new ScilabDouble(); //changed
- model.evtout = new ScilabDouble([-1]); // 1, 1 -> -1, -1
- model.ipar = new ScilabDouble([port]);
- model.blocktype = new ScilabString(["d"]);
- model.firing = new ScilabDouble([-1]);
- model.dep_ut = new ScilabBoolean([false, false]);
-
- var exprs = new ScilabString([port]);
- var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKIN_f\",sz(1),sz(2));"]);
- var block = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 1 -> 80
-
- block.graphics.style = new ScilabString(["CLKIN_f"]);
- return block;
- }
-}
-
-function CLKOUT_f() {
-
- CLKOUT_f.prototype.internal = function CLKOUT_f() {
- var model = scicos_model();
- var port = 1;
-
- model.sim = new ScilabString(["output"]);
- model.outtyp = new ScilabDouble();
- model.evtin = new ScilabDouble([-1]); // 1, 1 -> -1, -1
- model.ipar = new ScilabDouble([port]);
- model.blocktype = new ScilabString(["d"]);
- model.firing = new ScilabDouble();
- model.dep_ut = new ScilabBoolean([false, false]);
-
- var exprs = ScilabString(["" + port]);
- var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKOUT_f\",sz(1),sz(2));"]);
- var block = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 1 -> 80
-
- block.graphics.style = new ScilabString(["CLKOUT_f"]);
- return block;
- }
-}
-
-function CLKSPLIT_f() {
-
- CLKSPLIT_f.prototype.internal = function CLKSPLIT_f() {
- var model = scicos_model();
- model.sim = new ScilabString(["split"]);
- model.evtin = new ScilabDouble([-1]);
- model.outtyp = new ScilabDouble(); // changed
- model.evtout = new ScilabDouble([-1], [-1]) // 1, 1 -> -1, -1 inverse
- model.blocktype = new ScilabString(["d"]);
- model.firing = new ScilabDouble([-1], [-1]); // inverse
- model.dep_ut = new ScilabBoolean([false, false]);
-
- var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKSPLIT_f\",sz(1),sz(2));"]);
-
- var block = new standard_define(new ScilabDouble([80, 80]), model, new ScilabDouble(), gr_i); // 1 -> 80
- block.graphics.style = new ScilabString(["CLKSPLIT_f"]);
- return block;
- }
-}
-
-function STEP() {
-
- STEP.prototype.internal = function STEP() {
- this.rpar=[[0],[1]];
- var model = scicos_model();
- model.sim = list(new ScilabString(["step_func"]),new ScilabDouble([4]));
- model.evtin = new ScilabDouble([1]);
- model.evtout = new ScilabDouble([1]);
- model.out = new ScilabDouble([1]);
- model.out2 = new ScilabDouble([1]);
- model.outtyp = new ScilabDouble([1]);
- model.firing = new ScilabDouble([1]);
- model.rpar = new ScilabDouble(...this.rpar);
- model.blocktype = new ScilabString(["c"]);
- model.dep_ut = new ScilabBoolean([false, false]);
-
- var exprs = new ScilabString([1],...this.rpar);
- var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"STEP\",sz(1),sz(2));"]);
-
- var block = new standard_define(new ScilabDouble([80, 80]), model,exprs, gr_i); // 1 -> 80
- block.graphics.style = new ScilabString(["STEP"]);
- return block;
- }
-}
-
-
-function BasicBlock() {
- if (arguments.length > 0) {
- var options = arguments[0];
- this.angle = options.angle; // Not Known
- this.blockType = getData(options.model.blocktype)[0];
- this.connectable = options.connectable; // Not Known
- var dep_ut = getData(options.model.dep_ut);
- if (dep_ut[0] == "true")
- this.dependsOnU = "1";
- if (dep_ut[1] == "true")
- this.dependsOnT = "1";
- 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.realParameters = options.model.rpar;
- this.integerParameters = options.model.ipar;
- this.objectsParameters = options.model.opar;
- this.nbZerosCrossing = options.model.nzcross;
- this.nmode = options.model.nmode;
- if(!isEmpty(options.model.state)) {
- this.state = options.model.state;
- }
- if(!isEmpty(options.model.dstate)) {
- this.dState = options.model.dstate;
- }
- this.oDState = options.model.odstate;
- this.equations = options.model.equations;
- this.blockName = "BasicBlock";
- this.blockElementName = arguments.callee.caller.name;
- }
-}
-
-function sci2exp(c) {
- if (c.scilabClass == "ScilabList") {
- c = Object.create(c);
- c.scilabClass = "";
- if (c.length) {
- return "list(" + sci2exp(c) + ")";
- } else {
- return "list()";
- }
- } else if (typeof c.length === "undefined") {
- return _check(c);
- } else if (c.length == 0) {
- return "[]";
- } else if (c.length == 1) {
- return _check(c[0]);
- } else {
- var result = "[";
- for (var i = 0; i < c.length; i++) {
- if (typeof c[i].length === 'undefined') {
- result += _check(c[i]) + ",";
- } else {
- for (var j = 0; j < c[i].length - 1; j++) {
- result += _check(c[i][j]) + ",";
- }
- result += _check(c[i][c[i].length - 1]) + ";";
- }
- }
- result = result.substring(0, result.length - 1);
- result += "]";
- return result;
- }
-}
-
-function transpose(a) {
- return a[0].map(function(_, c) {
- return a.map(function(r) {
- return r[c];
- });
- });
-}
-
-function colon_operator() {
- var array = arguments[0];
- var new_arr = [];
- var i, j;
- for (i = 0; i < array[0].length; i++) {
- for (j = 0; j < array.length; j++) {
- new_arr.push([array[j][i]]);
- }
- }
- return new_arr;
-}
-
-// Returns ScilabDouble which contains a list with size = n and all values = 0
-/*function zeros(n) {
- var arg = new Array(n + 1).join("0").split("").map(parseFloat);
- var port = new ScilabDouble();
- var i = 0;
-
- for (i = 0; i < arg[0].length; i++)
- port.list.push(arg[0][i]);
-
- return port;
-}*/