r547: no message
[ctsim.git] / doc / ctsim-appendix.tex
index 2e2aed60b943082c21c49211f16fba8d1700eaf3..a826258e35e415887b2a6c4046eee6a9de106a84 100644 (file)
@@ -8,8 +8,8 @@ Simple Graphics Package was created in 1980 by Kevin Rosenberg and
 is modelled after the hypothetical graphics library described by Foley and van
 Dam\cite{FOLEY82}. It is designed to be platform-independent.
 
-\section{Flowchart}
-
+\section{Transformation Sequence}
+\latexonly{
 \parbox{11cm}{
 \centerline{Master coordinate (MC) level}
 \centerline{$\downarrow$}
@@ -24,26 +24,35 @@ Dam\cite{FOLEY82}. It is designed to be platform-independent.
 \centerline{Clipping against Viewport}
 \centerline{$\downarrow$}
 \centerline{Convert to Physical device coordinates (PDC)}
+}}
+\latexignore{
+\centerline{Master coordinate (MC) level}
+\centerline{Apply \emph{Current transformation matrix}}
+\centerline{World coordinate (WC) level}
+\centerline{Clipping against Window}
+\centerline{Convert to Normalized device coordinates (NDC)}
+\centerline{Clipping against Viewport}
+\centerline{Convert to Physical device coordinates (PDC)}
 }
 
 \section{Functions}%
 
 \subsection{Master coordinate functions}
 \begin{twocollist}
-\twocolitem{\texttt{setWindow(xmin, ymin, xmax, ymax)}}{Set window for world
+\twocolitem{\texttt{setWindow(xmin,ymin,xmax,ymax)}}{Set window for world
 coordinates}
-\twocolitem{\texttt{moveAbs(x, y)}}{Move graphics cursor to absolute position}
-\twocolitem{\texttt{moveRel(dx, dy)}}{Move graphics cursor relative to current position}
-\twocolitem{\texttt{pointAbs(x, y)}}{Draw point at current position}
-\twocolitem{\texttt{pointRel(dx, dy)}}{Draw point relative to current position}
-\twocolitem{\texttt{lineAbs(x, y)}}{Draw line from current position to
+\twocolitem{\texttt{moveAbs(x,y)}}{Move graphics cursor to absolute position}
+\twocolitem{\texttt{moveRel(dx,dy)}}{Move graphics cursor relative to current position}
+\twocolitem{\texttt{pointAbs(x,y)}}{Draw point at current position}
+\twocolitem{\texttt{pointRel(dx,dy)}}{Draw point relative to current position}
+\twocolitem{\texttt{lineAbs(x,y)}}{Draw line from current position to
 absolute position}
-\twocolitem{\texttt{lineRel(dx, dy)}}{Draw line from current position to position
+\twocolitem{\texttt{lineRel(dx,dy)}}{Draw line from current position to position
 relative to current position}
 \twocolitem{\texttt{markerAbs(x,y)}}{Draw marker at current position}
 \twocolitem{\texttt{markerRel(dx,dy)}}{Draw marker relative to current position}
-\twocolitem{\texttt{polylineAbs(x[], y[], n)}}{Draw a series of lines to absolute position}
-\twocolitem{\texttt{polylineRel(dx[], dy[], n)}}{Draw series of lines relative to current position}
+\twocolitem{\texttt{polylineAbs(x[],y[],n)}}{Draw a series of lines to absolute position}
+\twocolitem{\texttt{polylineRel(dx[],dy[],n)}}{Draw series of lines relative to current position}
 \twocolitem{\texttt{drawString(str)}}{Draw text string at current positon}
 \twocolitem{\texttt{drawCircle(r)}}{Draw circle at current positon}
 \twocolitem{\texttt{drawArc(r,start,stop)}}{Draw arc with center at current positon}
@@ -52,11 +61,11 @@ relative to current position}
 
 \subsection{Normalized coordinate functions}%
 \begin{twocollist}
-\twocolitem{\texttt{Viewport(xmin, ymin, xmax, ymax)}}{Viewport for window
+\twocolitem{\texttt{Viewport(xmin,ymin,xmax,ymax)}}{Viewport for window
 in NDC}
-\twocolitem{\texttt{stylus(x, y, beam)}}{Draw a line from current
-position}
-\twocolitem{\texttt{markerNDC(xndc, yndc)}}{Draw marker at NDC position}
+\twocolitem{\texttt{stylus(x,y,beam)}}{Draw a line from current
+position if beam = 1, otherwise move stylus to new position}
+\twocolitem{\texttt{markerNDC(xndc,yndc)}}{Draw marker at NDC position}
 \end{twocollist}
 
 \subsection{Master coordinate to World coordinate transformations}%
@@ -90,7 +99,7 @@ coordinates}
 \twocolitem{\texttt{setLinestyle(style)}}{Set current pen style}
 \twocolitem{\texttt{setLinewidth(width)}}{Set current pen width}
 \twocolitem{\texttt{setTextColor(foreground, background)}}{Set text colors}
-\twocolitem{\texttt{setMarker(type, color)}}{Set marker attibutes}
+\twocolitem{\texttt{setMarker(type,color)}}{Set marker attibutes}
 \twocolitem{\texttt{setRasterOp(rasterOp)}}{Set raster operator}
 \end{twocollist}