* Bug #12619 fixed - The discrete block DLR was not displaying latex formula 73/11573/4
Alexandre HERISSE [Thu, 23 May 2013 14:03:14 +0000 (16:03 +0200)]
like continuous CLR block.

Change-Id: I0fc694618f4efad4dcf023ac3314678716b6ca40

scilab/CHANGES_5.5.X
scilab/modules/scicos_blocks/macros/Linear/DLR.sci
scilab/modules/xcos/etc/Xcos-style.xml
scilab/modules/xcos/images/palettes/DLR.png

index d0079f2..f7dcc18 100644 (file)
@@ -77,15 +77,18 @@ Xcos
 
 * Bug #12424 fixed - Calling lincos on a Derivative block made scilab crash.
 
+* Bug #12561 fixed - SELECT_m and RELAY_f no more behaved as expected.
+
 * Bug #12568 fixed - "Recent files" menu entry should be placed next to the 
                      "Open" one.
 
+* Bug #12590 fixed - Block shape style was removed on file loading.
+
 * Bug #12603 fixed - ZCOS files may contain blocs with modified (eg. invalid)
                      parameters.
 
-* Bug #12561 fixed - SELECT_m and RELAY_f no more behaved as expected.
-
-* Bug #12590 fixed - Block shape style was removed on file loading.
+* Bug #12619 fixed - The discrete block DLR was not displaying latex formula
+                     like continuous CLR block.
 
 
 Toolbox skeleton
index 3b8cddb..2d70299 100644 (file)
 //
 
 function [x,y,typ]=DLR(job,arg1,arg2)
-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]=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;
-  x0=model.dstate;ns=prod(size(x0));
-  %scicos_context=%scicos_context; //copy the semi-global variable locally
-  %scicos_context.z=%z //add z definition to the context
-  while %t do
-    [ok,num,den,exprs]=scicos_getvalue('Set discrete SISO transfer parameters',..
-       ['Numerator (z)';
-        'Denominator (z)'],..
-       list('pol',1,'pol',1),exprs)
-    if ~ok then break,end
-    if degree(num)>degree(den) then
-      message('Transfer function must be proper')
-      ok=%f
-    end
-    if ok then
-      H=cont_frm(num,den)
-      [A,B,C,D]=H(2:5);
-      graphics.exprs=exprs;
-      [ns1,ns1]=size(A)
-      if ns1<=ns then
-       x0=x0(1:ns1)
-      else
-       x0(ns1,1)=0
-      end
-      rpar=[A(:);
-           B(:);
-           C(:);
-           D(:)]
-      model.dstate=x0
-      model.rpar=rpar
-      if norm(D,1)<>0 then
-       mmm=[%t %f];
-      else
-       mmm=[%f %f];
-      end
-      if or(model.dep_ut<>mmm) then 
-         model.dep_ut=mmm,end
-      x.graphics=graphics;x.model=model
-      break
-    end
-  end
-  x.model.firing=[] //compatibility
-case 'define' then
-  x0=0;A=-1;B=1;C=1;D=0;
-  exprs=['1';'1+z']
-  
-  model=scicos_model()
-  model.sim=list('dsslti4',4)
-  model.in=1
-  model.out=1
-  model.evtin=1
-  model.dstate=x0(:)
-  model.rpar=[A(:);B(:);C(:);D(:)]
-  model.blocktype='d'
-  model.dep_ut=[%f %f]
+    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]=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;
+        x0=model.dstate;ns=prod(size(x0));
+        %scicos_context=%scicos_context; //copy the semi-global variable locally
+        %scicos_context.z=%z //add z definition to the context
+        while %t do
+            [ok,num,den,exprs]=scicos_getvalue("Set discrete SISO transfer parameters",..
+            ["Numerator (z)";
+            "Denominator (z)"],..
+            list("pol",1,"pol",1),exprs)
+            if ~ok then break,end
+            if degree(num)>degree(den) then
+                message("Transfer function must be proper")
+                ok=%f
+            end
+            if ok then
+                H=cont_frm(num,den)
+                [A,B,C,D]=H(2:5);
+                graphics.exprs=exprs;
+                [ns1,ns1]=size(A)
+                if ns1<=ns then
+                    x0=x0(1:ns1)
+                else
+                    x0(ns1,1)=0
+                end
+                rpar=[A(:);
+                B(:);
+                C(:);
+                D(:)]
+                model.dstate=x0
+                model.rpar=rpar
+                if norm(D,1)<>0 then
+                    mmm=[%t %f];
+                else
+                    mmm=[%f %f];
+                end
+                if or(model.dep_ut<>mmm) then
+                model.dep_ut=mmm,end
+                x.graphics=graphics;x.model=model
+                break
+            end
+        end
+        x.model.firing=[] //compatibility
+    case "define" then
+        x0=0;A=-1;B=1;C=1;D=0;
+        exprs=["1";"1+z"]
 
-  gr_i=['xstringb(orig(1),orig(2),[''num(z)'';''den(z)''],sz(1),sz(2),''fill'')';
-       'xpoly([orig(1)+.1*sz(1),orig(1)+.9*sz(1)],[1,1]*(orig(2)+sz(2)/2))']
-  x=standard_define([2 2],model,exprs,gr_i)
-end
+        model=scicos_model()
+        model.sim=list("dsslti4",4)
+        model.in=1
+        model.out=1
+        model.evtin=1
+        model.dstate=x0(:)
+        model.rpar=[A(:);B(:);C(:);D(:)]
+        model.blocktype="d"
+        model.dep_ut=[%f %f]
+
+        gr_i=["xstringb(orig(1),orig(2),[''num(z)'';''den(z)''],sz(1),sz(2),''fill'')";
+        "xpoly([orig(1)+.1*sz(1),orig(1)+.9*sz(1)],[1,1]*(orig(2)+sz(2)/2))"]
+        x=standard_define([4 3],model,exprs,gr_i)
+    end
 endfunction
index 28c3421..6dca2c3 100644 (file)
         <add as="displayedLabel" value="N(z,p)&lt;BR&gt;&lt;HR&gt;D(z,p)"/>
     </add>
     <add as="DLR" extend="blockWithLabel">
-        <add as="displayedLabel" value="num(z)&lt;BR&gt;&lt;HR&gt;den(z)"/>
+        <add as="displayedLabel" value="$\frac{%s}{%s}$"/>
     </add>
     <add as="DLR_f" extend="DLR"/>
     <add as="DLSS" extend="blockWithLabel">
index 22a556e..b218182 100644 (file)
Binary files a/scilab/modules/xcos/images/palettes/DLR.png and b/scilab/modules/xcos/images/palettes/DLR.png differ