From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- graphics/bardiag/bardiag.bar | 82 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 graphics/bardiag/bardiag.bar (limited to 'graphics/bardiag/bardiag.bar') diff --git a/graphics/bardiag/bardiag.bar b/graphics/bardiag/bardiag.bar new file mode 100644 index 0000000000..be523f105e --- /dev/null +++ b/graphics/bardiag/bardiag.bar @@ -0,0 +1,82 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% bar primitives +\newcommand{\barRect}[6][fillstyle=solid] +{ + {\psframe[linestyle=none,fillcolor=#6,#1](#2,#3)(#4,#5)} +} +% - - - - - - +\newcommand{\xtd}{0} +\newcommand{\ytd}{0} +\newcommand{\xtda}{0} +\newcommand{\ytda}{0} +\newcommand{\xtdb}{0} +\newcommand{\ytdb}{0} + +\newcommand{\barTDRect}[6][fillstyle=solid] +{ +% + \psframe[linestyle=solid,fillcolor=#6,#1](#2,#3)(#4,#5) + + % let's draw polygons: left and upper + % left-> (#4;#3)(#4+\bdar\tdhor;#3+\dbar\tdver) + % (#4+\dbar\tdhor;#5+\dbar\tdver)(#4;#5) + % right->(#4;#5)(#4+\dbar\tdhor;#5+\dbar\tdver) + % (#3+\dbar\tdhor;#5+\dbar\tdver)(#2;#3) + % + + \FPmul{\xtd}{\dbar}{\tdhor} + \FPmul{\ytd}{\dbar}{\tdver} + + \FPfadd{\xtda}{#2}{\xtd} + \FPfadd{\xtdb}{#4}{\xtd} + \FPfadd{\ytda}{#3}{\ytd} + \FPfadd{\ytdb}{#5}{\ytd} + + \pspolygon[linestyle=solid,fillcolor=#6,#1](#4,#3)(\xtdb,\ytda)(\xtdb,\ytdb)(#4,#5)(#4,#3) + \pspolygon[linestyle=solid,fillcolor=#6,#1](#4,#5)(\xtdb,\ytdb)(\xtda,\ytdb)(#2,#5)(#4,#5) +} + +\newcommand{\elRx}{0} +\newcommand{\elRy}{0} +\newcommand{\barCylinder}[6][none] +{ + \FPmul{\xtd}{\dbar}{\tdx} + \FPmul{\ytd}{\dbar}{\tdy} + + \FPdiv{\elRx}{\dbar}{2} + \FPdiv{\elRy}{\ytd}{2} + + \ifthenelse{\bdorientation = \bdvert} + { + \FPfadd{\tmpvar}{#2}{#4} + \FPdiv{\xtda}{\tmpvar}{2} % Xcenter of the bottom ellipse + \FPdiv{\tmpvar}{\ytd}{2} + \FPfadd{\ytda}{\tmpvar}{#3} % Ycenter of the bottom ellipse + % Draw the bottom ellipse + \psellipse[fillstyle=solid,fillcolor=#6](\xtda,\ytda)(\elRx,\elRy) + \FPdiv{\tmpvar}{\ytd}{2} + \FPfadd{\ytdb}{\tmpvar}{#5} % Ycenter of the top ellipse + % Draw the rectangle + \psframe[fillstyle=solid,fillcolor=#6,linecolor=#6](#2,\ytda)(#4,\ytdb) + \psline(#2,\ytda)(#2,\ytdb) + \psline(#4,\ytda)(#4,\ytdb) + % Draw the top ellipse + \psellipse[fillstyle=solid,fillcolor=#6](\xtda,\ytdb)(\elRx,\elRy) + } + { \FPfadd{\tmpvar}{#3}{#5} + \FPdiv{\ytda}{\tmpvar}{2} + \FPdiv{\tmpvar}{\ytd}{2} + \FPfadd{\xtda}{\tmpvar}{#2} + % Draw the left ellipse + \psellipse[fillstyle=solid,fillcolor=#6](\xtda,\ytda,)(\elRy,\elRx) + \FPdiv{\tmpvar}{\ytd}{2} + \FPfadd{\ytdb}{\tmpvar}{#4} + % Draw the rectangle + \psframe[fillstyle=solid,fillcolor=#6,linecolor=#6](\xtda,#3)(\ytdb,#5) + \psline(\xtda,#3)(\ytdb,#3) + \psline(\xtda,#5)(\ytdb,#5) + % Draw the right ellipse + \psellipse[fillstyle=solid,fillcolor=#6](\ytdb,\ytda)(\elRy,\elRx) + } +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- cgit v1.2.3