Interfacing function
eng


CMATVIEW

File content


function [x,y,typ]=CMATVIEW(job,arg1,arg2)
// Copyright INRIA
x=[];y=[];typ=[]
select job
case 'plot' then
  standard_draw(arg1)
case 'getinputs' then
  [x,y,typ]=standard_inputs(arg1)
case 'getoutputs' then
  x=[];y=[];typ=[];
case 'getorigin' then
  [x,y]=standard_origin(arg1)
case 'set' then
  x=arg1;
  graphics=arg1.graphics;
  exprs=graphics.exprs
  model=arg1.model;
  while %t do
    [ok,colormap,cmin,cmax,exprs]=getvalue(..
	'Set Scope parameters',..
	['ColorMap';
	'Minimum level range';
	'Maximum level range'],..
	 list('vec',-1,'vec',1,'vec',1),exprs)
    if ~ok then break,end //user cancel modification
    mess=[]
    if cmax<=cmin then
      mess=[mess;'Error with minimum and maximum value';' ']
      ok=%f
    end
    if ~ok then
      message(['Some specified values are inconsistent:';' ';mess])
    end
    if ok then
	size_c=size(colormap(:),1);
        sol=inv([cmin 1;cmax 1])*[1;size_c/3];
        alpha_c = sol(1);
        beta_c = sol(2);
	ipar=[cmin;cmax;size_c];
  	rpar=[alpha_c;beta_c;colormap(:)];
	model.ipar=ipar;
	model.rpar=rpar;
	graphics.exprs=exprs;
	x.graphics=graphics;
        x.model=model
	break
    end
  end
case 'define' then
  cmin = 0;
  cmax = 100;
  size_c = 25;
  colormap = jetcolormap(size_c);
  alpha_c = 0.24
  beta_c = 1

  model=scicos_model()
  model.sim=list('cmatview',4)
  model.in=-1
  model.in2=-2
  model.intyp=1
  model.evtin=1
  model.ipar=[cmin;cmax;size_c]
  model.rpar=[alpha_c;beta_c;colormap(:)]
  model.blocktype='c'
  model.dep_ut=[%t %f]
  
  exprs=[string('jetcolormap(25)');
	 string(cmin);
	 string(cmax)];
   gr_i='xstringb(orig(1),orig(2),''Mat. View'',sz(1),sz(2),''fill'')'
   x=standard_define([2 2],model,exprs,gr_i)
end
endfunction