Packaging: fix wrong FSF address
[scilab.git] / scilab / modules / scicos / macros / scicos_scicos / standard_inputs.sci
1 //  Scicos
2 //
3 //  Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 //
19 // See the file ../license.txt
20 //
21
22 function [x,y,typ]=standard_inputs(o)
23 //get position of inputs ports and clock inputs port for a standard block
24 //  the input ports are located on the left (or rigth if tilded) vertical
25 //    side of the block, regularly located from top to bottom
26 //  the clock input ports are located on the top horizontal side
27 //    side of the block, regularly located from left to right
28 xf=60
29 yf=40
30 graphics=o.graphics
31 model=o.model
32 orig=graphics.orig;sz=graphics.sz;orient=graphics.flip;
33 inp=size(model.in,1);clkinp=size(model.evtin,1);
34 if orient then
35   xo=orig(1)
36   dx=-xf/7
37 else
38   xo=orig(1)+sz(1)
39   dx=yf/7
40 end
41
42 typ=[];
43
44 //if o.model.sim=='valve' then pause,end
45 if inp==0 then
46   x=[];y=[];
47 else 
48   y=orig(2)+sz(2)-(sz(2)/(inp+1))*(1:inp)
49   x=(xo+dx)*ones(y)
50   for k=1:inp
51     if o.graphics.in_implicit==[] then
52       typ=ones(x)
53     else
54       if o.graphics.in_implicit(k)=='E' then
55         typ=[typ ones(x(k))]
56       elseif  o.graphics.in_implicit(k)=='I' then
57         typ=[typ 2*ones(x(k))]
58       end
59     end 
60   end
61 end
62
63 if clkinp<>0 then
64   x=[x,orig(1)+(sz(1)/(clkinp+1))*(1:clkinp)]
65   y=[y,(orig(2)+yf/7+sz(2))*ones(1,clkinp)]
66   typ=[typ,-ones(1,clkinp)]
67 end
68 endfunction
69
70
71
72
73
74
75
76