diff options
author | Sunil Shetye | 2018-06-25 12:08:56 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-25 12:45:27 +0530 |
commit | 7c70459c10aed0d74ee03896abaf47fefdbf7c8f (patch) | |
tree | 6f6acc6a5087295c6e59f0f94bfda5025049d5fa /js/Misc/BOUNCE.js | |
parent | 870479a2e4b932426a904b2ebae7e4ee72037326 (diff) | |
download | sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.tar.gz sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.tar.bz2 sci2js-7c70459c10aed0d74ee03896abaf47fefdbf7c8f.zip |
separate out code for getvalue
Diffstat (limited to 'js/Misc/BOUNCE.js')
-rw-r--r-- | js/Misc/BOUNCE.js | 150 |
1 files changed, 75 insertions, 75 deletions
diff --git a/js/Misc/BOUNCE.js b/js/Misc/BOUNCE.js index 580b3272..465860d4 100644 --- a/js/Misc/BOUNCE.js +++ b/js/Misc/BOUNCE.js @@ -1,105 +1,105 @@ /* autogenerated from "macros/Misc/BOUNCE.sci" */ function BOUNCE() { BOUNCE.prototype.define = function BOUNCE() { -n=2; -k=1; -ipar=[]; + n = 2; + k = 1; + ipar = []; for (i=1;i<=n;i+=1) { for (j=i+1;j<=n;j+=1) { -ipar[k-1]=i; -k=k+1; -ipar[k-1]=j; -k=k+1; + ipar[k-1] = i; + k = k+1; + ipar[k-1] = j; + k = k+1; } } -walls=[[0],[5],[0],[5]]; -x=[[2],[2.5]]; -xd=[[0],[0]]; -y=[[3],[5]]; -yd=[[0],[0]]; -g=9.81; -C=0; -rpar1=ones(n,1); -rpar2=rpar1; -state=[x,xd,y,yd]; -state=transpose(state); -model=scicos_model(); -model.sim=list("bounce_ball",4); -model.in1=[]; -model.out=[[n],[n]]; -model.state=state.slice(); -model.rpar=[[rpar1],[rpar2],[walls],[g],[C]]; -model.ipar=ipar; -model.nzcross=n*(n-1)/2+4*n; -model.blocktype="c"; -model.dep_ut=[false,true]; -exprs=[[strcat(sci2exp(rpar1))],[strcat(sci2exp(rpar2))],[strcat(sci2exp(walls))],[strcat(sci2exp(x))],[strcat(sci2exp(xd))],[strcat(sci2exp(y))],[strcat(sci2exp(yd))]]; -gr_i=[]; -x=standard_define([3,2],model,exprs,gr_i); + walls = [[0],[5],[0],[5]]; + x = [[2],[2.5]]; + xd = [[0],[0]]; + y = [[3],[5]]; + yd = [[0],[0]]; + g = 9.81; + C = 0; + rpar1 = ones(n,1); + rpar2 = rpar1; + state = [x,xd,y,yd]; + state = transpose(state); + model = scicos_model(); + model.sim = list("bounce_ball",4); + model.in1 = []; + model.out = [[n],[n]]; + model.state = state.slice(); + model.rpar = [[rpar1],[rpar2],[walls],[g],[C]]; + model.ipar = ipar; + model.nzcross = n*(n-1)/2+4*n; + model.blocktype = "c"; + model.dep_ut = [false,true]; + exprs = [[strcat(sci2exp(rpar1))],[strcat(sci2exp(rpar2))],[strcat(sci2exp(walls))],[strcat(sci2exp(x))],[strcat(sci2exp(xd))],[strcat(sci2exp(y))],[strcat(sci2exp(yd))]]; + gr_i = []; + x = standard_define([3,2],model,exprs,gr_i); } BOUNCE.prototype.details = function BOUNCE() { } BOUNCE.prototype.get = function BOUNCE() { } BOUNCE.prototype.set = function BOUNCE() { -x=arg1; -graphics=arg1.graphics; -exprs=graphics.exprs; -model=arg1.model; -if (size(exprs,"*")<9) { -exprs[8-1]="9.81"; -exprs[9-1]="0"; + x = arg1; + graphics = arg1.graphics; + exprs = graphics.exprs; + model = arg1.model; + if (size(exprs,"*")<9) { + exprs[8-1] = "9.81"; + exprs[9-1] = "0"; } -while (true) { -[ok,rpar1,rpar2,walls,xt,xd,y,yd,g,C,exprs]=scicos_getvalue(["Set Bounce Block"],[["Mass"],["Radius"],["[xmin,xmax,ymin,ymax]"],["xpos"],["xdpos"],["ypos"],["ydpos"],["g (gravity)"],["C (aerodynamic coeff"]],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1,"vec",1),exprs); -if (!ok) { + while (true) { + [ok,rpar1,rpar2,walls,xt,xd,y,yd,g,C,exprs] = scicos_getvalue(["Set Bounce Block"],[["Mass"],["Radius"],["[xmin,xmax,ymin,ymax]"],["xpos"],["xdpos"],["ypos"],["ydpos"],["g (gravity)"],["C (aerodynamic coeff"]],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1,"vec",1),exprs); + if (!ok) { break; } -xt=xt.slice(); -y=y.slice(); -xd=xd.slice(); -yd=yd.slice(); -rpar1=rpar1.slice(); -rpar2=rpar2.slice(); -n=size(xt,"*"); -walls=walls.slice(); -if (walls[1-1]>walls[2-1]) { -walls=walls[[2,1]-1]; + xt = xt.slice(); + y = y.slice(); + xd = xd.slice(); + yd = yd.slice(); + rpar1 = rpar1.slice(); + rpar2 = rpar2.slice(); + n = size(xt,"*"); + walls = walls.slice(); + if (walls[1-1]>walls[2-1]) { + walls = walls[[2,1]-1]; } -if (walls[3-1]>walls[3-1]) { -walls=walls[[3,4]-1]; + if (walls[3-1]>walls[3-1]) { + walls = walls[[3,4]-1]; } -if (n!=size(y,"*")||n!=size(rpar1,"*")||n!=size(rpar2,"*")||n!=size(xd,"*")||n!=size(yd,"*")) { + if (n!=size(y,"*")||n!=size(rpar1,"*")||n!=size(rpar2,"*")||n!=size(xd,"*")||n!=size(yd,"*")) { message("All vectors must have equal size"); -ok=false; -} else if (!(min([[rpar1],[rpar2]])>0)) { + ok = false; + } else if (!(min([[rpar1],[rpar2]])>0)) { message("Mass and radius must be >0"); -ok=false; + ok = false; } -if (!ok) { + if (!ok) { break; } -[model,graphics,ok]=check_io(model,graphics,[],[n,n],[],[]); -if (ok) { -k=1; -ipar=[]; + [model,graphics,ok] = check_io(model,graphics,[],[n,n],[],[]); + if (ok) { + k = 1; + ipar = []; for (i=1;i<=n;i+=1) { for (j=i+1;j<=n;j+=1) { -ipar[k-1]=i; -k=k+1; -ipar[k-1]=j; -k=k+1; + ipar[k-1] = i; + k = k+1; + ipar[k-1] = j; + k = k+1; } } -model.rpar=[[rpar1],[rpar2],[walls],[g],[C]]; -model.ipar=ipar; -state=[xt,xd,y,yd]; -state=transpose(state); -model.state=state.slice(); -model.nzcross=n*(n-1)/2+4*n; -graphics.exprs=exprs; -x.graphics=graphics; -x.model=model; + model.rpar = [[rpar1],[rpar2],[walls],[g],[C]]; + model.ipar = ipar; + state = [xt,xd,y,yd]; + state = transpose(state); + model.state = state.slice(); + model.nzcross = n*(n-1)/2+4*n; + graphics.exprs = exprs; + x.graphics = graphics; + x.model = model; break; } } |