TrigFun
function [x,y,typ]=TrigFun(job,arg1,arg2)
// Copyright INRIA
x=[];y=[];typ=[];
select job
case 'plot' then
Txt=' '+arg1.graphics.exprs+' '
standard_draw(arg1)
case 'getinputs' then
[x,y,typ]=standard_inputs(arg1)
case 'getoutputs' then
[x,y,typ]=standard_outputs(arg1)
case 'getorigin' then
[x,y]=standard_origin(arg1)
case 'set' then
x=arg1;
graphics=arg1.graphics;exprs=graphics.exprs
model=arg1.model;
%FF=['sin';'cos';'tan';
'asin';'acos';'atan';
'sinh';'cosh';'tanh';
'asinh';'acosh';'atanh'];
%GG=['Choose among '+strcat(%FF(1:4),', ');strcat(%FF(5:$),', ')]
while %t do
[ok,fun,exprs]=getvalue(%GG,'Function',list('str',1),exprs)
if ~ok then break,end
if find(%FF==fun)==[] then
message('Sorry but '+fun +' is not in the list!')
else
graphics.exprs=exprs
execstr('model.sim=list('''+fun+'_blk'',4)')
x.graphics=graphics;x.model=model
break
end
end
case 'define' then
model=scicos_model()
model.sim=list('sin_blk',4)
model.in=-1
model.out=-1
model.blocktype='c'
model.dep_ut=[%t %f]
exprs='sin'
gr_i=['xstringb(orig(1),orig(2),[''Trig. Function'';Txt],sz(1),sz(2),''fill'');']
x=standard_define([3 2],model,exprs,gr_i)
end
endfunction