%!PS-Adobe-2.0 EPSF-2.0 %%Title: ClassName %%Creator: Doxygen %%CreationDate: Time %%For: %Magnification: 1.00 %%Orientation: Portrait %%BoundingBox: 0 0 500 89.4855 %%Pages: 0 %%BeginSetup %%EndSetup %%EndComments % ----- variables ----- /boxwidth 0 def /boxheight 40 def /fontheight 24 def /marginwidth 10 def /distx 20 def /disty 40 def /boundaspect 5.5875 def % aspect ratio of the BoundingBox (width/height) /boundx 500 def /boundy boundx boundaspect div def /xspacing 0 def /yspacing 0 def /rows 6 def /cols 9 def /scalefactor 0 def /boxfont /Times-Roman findfont fontheight scalefont def % ----- procedures ----- /dotted { [1 4] 0 setdash } def /dashed { [5] 0 setdash } def /solid { [] 0 setdash } def /max % result = MAX(arg1,arg2) { /a exch def /b exch def a b gt {a} {b} ifelse } def /xoffset % result = MAX(0,(scalefactor-(boxwidth*cols+distx*(cols-1)))/2) { 0 scalefactor boxwidth cols mul distx cols 1 sub mul add sub 2 div max } def /cw % boxwidth = MAX(boxwidth, stringwidth(arg1)) { /str exch def /boxwidth boxwidth str stringwidth pop max def } def /box % draws a box with text `arg1' at grid pos (arg2,arg3) { gsave 2 setlinewidth newpath exch xspacing mul xoffset add exch yspacing mul moveto boxwidth 0 rlineto 0 boxheight rlineto boxwidth neg 0 rlineto 0 boxheight neg rlineto closepath dup stringwidth pop neg boxwidth add 2 div boxheight fontheight 2 div sub 2 div rmoveto show stroke grestore } def /mark { newpath exch xspacing mul xoffset add boxwidth add exch yspacing mul moveto 0 boxheight 4 div rlineto boxheight neg 4 div boxheight neg 4 div rlineto closepath eofill stroke } def /arrow { newpath moveto 3 -8 rlineto -6 0 rlineto 3 8 rlineto closepath eofill stroke } def /out % draws an output connector for the block at (arg1,arg2) { newpath exch xspacing mul xoffset add boxwidth 2 div add exch yspacing mul boxheight add /y exch def /x exch def x y moveto 0 disty 2 div rlineto stroke 1 eq { x y disty 2 div add arrow } if } def /in % draws an input connector for the block at (arg1,arg2) { newpath exch xspacing mul xoffset add boxwidth 2 div add exch yspacing mul disty 2 div sub /y exch def /x exch def x y moveto 0 disty 2 div rlineto stroke 1 eq { x y disty 2 div add arrow } if } def /hedge { exch xspacing mul xoffset add boxwidth 2 div add exch yspacing mul boxheight 2 div sub /y exch def /x exch def newpath x y moveto boxwidth 2 div distx add 0 rlineto stroke 1 eq { newpath x boxwidth 2 div distx add add y moveto -8 3 rlineto 0 -6 rlineto 8 3 rlineto closepath eofill stroke } if } def /vedge { /ye exch def /ys exch def /xs exch def newpath xs xspacing mul xoffset add boxwidth 2 div add dup ys yspacing mul boxheight 2 div sub moveto ye yspacing mul boxheight 2 div sub lineto stroke } def /conn % connections the blocks from col `arg1' to `arg2' of row `arg3' { /ys exch def /xe exch def /xs exch def newpath xs xspacing mul xoffset add boxwidth 2 div add ys yspacing mul disty 2 div sub moveto xspacing xe xs sub mul 0 rlineto stroke } def % ----- main ------ boxfont setfont 1 boundaspect scale (bdm::BM) cw (bdm::bdmroot) cw (bdm::BMEF) cw (bdm::EKFfull) cw (bdm::Kalman< sq_T >) cw (bdm::PF) cw (bdm::Kalman< chmat >) cw (bdm::Kalman< fsqmat >) cw (bdm::Kalman< ldmat >) cw (bdm::ARX) cw (bdm::MixEF) cw (bdm::multiBM) cw (bdm::EKFful_unQR) cw (bdm::MPF< BM_T >) cw (bdm::KalmanCh) cw (bdm::EKF< sq_T >) cw (bdm::KFcondQR) cw (bdm::KFcondR) cw /boxwidth boxwidth marginwidth 2 mul add def /xspacing boxwidth distx add def /yspacing boxheight disty add def /scalefactor boxwidth cols mul distx cols 1 sub mul add boxheight rows mul disty rows 1 sub mul add boundaspect mul max def boundx scalefactor div boundy scalefactor div scale % ----- classes ----- (bdm::BM) 4 4 box (bdm::bdmroot) 4 5 box (bdm::BMEF) 0 3 box (bdm::EKFfull) 2 3 box (bdm::Kalman< sq_T >) 3 3 box (bdm::PF) 4 3 box (bdm::Kalman< chmat >) 5 3 box (bdm::Kalman< fsqmat >) 6 3 box (bdm::Kalman< ldmat >) 7 3 box (bdm::ARX) 1 2 box (bdm::MixEF) 1 1 box (bdm::multiBM) 1 0 box (bdm::EKFful_unQR) 2 2 box (bdm::MPF< BM_T >) 4 2 box (bdm::KalmanCh) 5 2 box 5 2 mark (bdm::EKF< sq_T >) 6 2 box (bdm::KFcondQR) 8 2 box (bdm::KFcondR) 8 1 box % ----- relations ----- solid 0 4 4 out solid 1 4 5 in solid 1 4 3.25 out solid 0 7 4 conn solid 0 0 3.75 in solid 1 0 2.25 out solid 0 2 3.75 in solid 1 2 2.25 out solid 0 3 3.75 in solid 0 4 3.75 in solid 1 4 2.25 out solid 0 5 3.75 in solid 1 5 2.25 out solid 0 6 3.75 in solid 1 6 2.25 out solid 0 7 3.75 in solid 1 7 2.25 out solid 0 0 2.5 hedge solid 0 0 1.5 hedge solid 0 0 0.5 hedge solid 0 3 0.5 vedge solid 0 2 2.75 in solid 0 4 2.75 in solid 0 5 2.75 in solid 0 6 2.75 in solid 0 7 2.5 hedge solid 0 7 1.5 hedge solid 7 3 1.5 vedge