diff options
author | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
commit | ab8cc85adde879fb963c94d15675783f2cf4b183 (patch) | |
tree | c202482327f474583b750b2c45dedfc4e4312b1d /src/graph/fileformats.pamphlet | |
download | open-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz |
Initial population.
Diffstat (limited to 'src/graph/fileformats.pamphlet')
-rw-r--r-- | src/graph/fileformats.pamphlet | 371 |
1 files changed, 371 insertions, 0 deletions
diff --git a/src/graph/fileformats.pamphlet b/src/graph/fileformats.pamphlet new file mode 100644 index 00000000..87aee786 --- /dev/null +++ b/src/graph/fileformats.pamphlet @@ -0,0 +1,371 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/graph fileformats } +\author{The Axiom Team} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\section{The viewFile data file format} +The viewFile is a control file for graph information. It contains +settings for particular graphs. There are some general window +settings that apply to the whole graph window followed by 9 +graph settings, one for each possible graph shown. +\subsection{The viewType} +The viewType (A) is a switch used to decide what tool will be used to +display the graph. At present there are 4 values defined (in the +file [[src/graph/include/action.h]]) which are: +\begin{verbatim} +/* Viewport Types */ +#define view3DType 1 +#define viewGraphType 2 +#define view2DType 3 +#define viewTubeType 4 +\end{verbatim} +In the example below the integer value is '3', at (A), +therefore it is of 'view2DType' meaning a 2D graph. + +This value is read in [[src/graph/viewAlone/viewAlone.c]] +\subsection{The title} +The title, at (B), is read in [[src/graph/viewAlone/spoon2D.c]]. +It can be a maximum of 256 characters. +\subsection{The window boundaries} +There are 4 integers, at (C), the X, Y, Width, and Height +which represent the window size in pixels. +\subsection{The graph specifications} +There are, at (D), a series of specifications for the 9 +possible graphs. They are all in groups of 6 lines, one +per graph. These lines are stored in a data structure called +the [[graphArray]] or the [[graphStateArray]]. The lines are: +\begin{list}{} +\item D1 is either an integer value 0 or 1 (\%d format). +If the value is zero the rest of the information is ignored and +the graph is not displayed. If the value is 1 then the graph is +displayed. This information is stored in [[graphArray[i].key]]. +\item D2 are 2 C general numbers (\%g format). They represent +the scale factors in X and Y. This information is stored in +[[graphStateArray[i].scaleX]] and [[graphStateArray[i].scaleY]]. +\item D3 are 2 C general numbers (\%g format). They represent +the change in X and Y increments. This information is stored in +[[graphStateArray[i].deltaX]] and [[graphStateArray[i].deltaY]]. +\item D4 are 2 C general numbers (\%g format). They represent the +center for the X and Y axes. This information is stored in +[[graphStateArray[i].centerX]] and [[graphStateArray[i].centerY]]. +\item D5 are 7 integers (\%d format). They represent: +\begin{list}{} +\item pointsOn - 0 means no points, 1 means plot points. +Stored in [[graphStateArray[i].pointsOn]]. +\item connectOn - 0 means isolated points, 1 means connected points. +Stored in [[graphStateArray[i].connectOn]]. +\item splineOn - 0 means no spline, 1 means spline. +Stored in [[graphStateArray[i].splineOn]]. +\item axesOn - 0 means no axes, 1 means draw axes. +Stored in [[graphStateArray[i].axesOn]]. +\item axesColor - 0 means black and white, 1 means color. +Stored in [[graphStateArray[i].axesColor]]. +\item unitsOn - 0 means no tick marks (units), 1 means units. +Stored in [[graphStateArray[i].unitsOn]]. +\item unitsColor - 0 means black and white, 1 means color. +Stored in [[graphStateArray[i].unitsColor]]. +\end{list} +\item D6 are 2 C integers (\%d format). +\begin{list}{} +\item showing - 0 means the graph is hidden, 1 means showing. +Stored in [[graphStateArray[i].showing]]. +\item selected - 0 means not selected, 1 means selected. +Stored in [[graphStateArray[i].selected]]. +\end{list} +\end{list} +\begin{verbatim} +3 (A) +x*x (B) +0 0 400 400 (C) +1 (D1) (graph0) +0.867014 0.575432 (D2) +0 0 (D3) +0 0 (D4) +1 1 1 1 61 1 68 (D5) +1 1 (D6) +0 (graph1) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph2) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph3) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph4) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph5) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph6) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph7) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 (graph8) +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +\end{verbatim} +\section{The graph file format} +There are up to 9 files, named [ [[graph0]] .. [[graph8]] ]. +There is one file per graph as indicated by the [[data]] file above. +\subsection{The bounding values} +There are 4 integers (\%d format) at (A) giving the xmin, ymin, xmax, and +ymax values for the graph. These are stored in +[[graphArray[i].xmin]], [[graphArray[i].ymin]], [[graphArray[i].xmax]], +and [[graphArray[i].ymax]]. + +There are 2 general numbers (\%g format) at (B) +giving the xNorm and yNorm values. These are stored in +[[graphArray[i].xNorm]] and [[graphArray[i].yNorm]]. + +There are 2 general numbers (\%g format) at (C) +giving the X origin and Y origin values. These are stored in +[[graphArray[i].originX]] and [[graphArray[i].originY]]. + +There are 2 general numbers (\%g format) at (D) +giving the X units and Y units from Axiom. These are stored in +[[graphArray[i].spadUnitX]] and [[graphArray[i].spadUnitY]]. + +There are 2 general numbers (\%g format) at (E) +giving the X units and Y units in graph coordinates. These are stored in +[[graphArray[i].unitX]] and [[graphArray[i].unitY]]. + +There is 1 integer (\%d format) at (F) +giving the number of lists that make up the graph. This is stored in +[[graphArray[i].numberOfLists]]. + +For each list, and in this case there is only 1 list. Each list +is stored in a [[pointListStruct]] pointed to by [[aList]]. +In this case we have: +\begin{list}{} +\item (G) is the number of points in the list. This is 1 integer +(\%d format). It is stored in [[aList->numberOfPoints]]. +\item (H) is 3 integers (\%d format) which represent the point color, +the line color, and the point size. These are stored in +[[aList->pointColor]], [[aList->lineColor]], and [[aList->pointSize]]. +\item (I) is 4 general numbers (\%g format) which represent the +x, y, hue, and shade of a point. These are stored in a structure +called [[aPoint]] which consists of +[[aPoint->x]],[[aPoint->y]],[[aPoint->hue]], and [[aPoint->shade]]. +These are pointed to by the [[aList]] structure. There are as many +copies of this data as there are points in the graph (G) +\end{list} + +\begin{verbatim} +-3 0 3 9 (A) +0.166667 0.111111 (B) +1.49012e-08 -0.5 (C) +1.2 1.8 (D) +0.2 0.2 (E) +1 (F) +49 (G) +91 135 3 (H) +-0.5 0.5 0 2 (I) repeated (G) times +-0.479167 0.418403 0 2 +-0.458333 0.340278 0 2 +-0.4375 0.265625 0 2 +-0.416667 0.194444 0 2 +-0.395833 0.126736 0 2 +-0.375 0.0625 0 2 +-0.354167 0.00173611 0 2 +-0.333333 -0.0555556 0 2 +-0.3125 -0.109375 0 2 +-0.291667 -0.159722 0 2 +-0.270833 -0.206597 0 2 +-0.25 -0.25 0 2 +-0.229167 -0.289931 0 2 +-0.208333 -0.326389 0 2 +-0.1875 -0.359375 0 2 +-0.166667 -0.388889 0 2 +-0.145833 -0.414931 0 2 +-0.125 -0.4375 0 2 +-0.104167 -0.456597 0 2 +-0.0833333 -0.472222 0 2 +-0.0625 -0.484375 0 2 +-0.0416667 -0.493056 0 2 +-0.0208333 -0.498264 0 2 +1.49012e-08 -0.5 0 2 +0.0208333 -0.498264 0 2 +0.0416667 -0.493056 0 2 +0.0625 -0.484375 0 2 +0.0833334 -0.472222 0 2 +0.104167 -0.456597 0 2 +0.125 -0.4375 0 2 +0.145833 -0.414931 0 2 +0.166667 -0.388889 0 2 +0.1875 -0.359375 0 2 +0.208333 -0.326389 0 2 +0.229167 -0.289931 0 2 +0.25 -0.25 0 2 +0.270833 -0.206597 0 2 +0.291667 -0.159722 0 2 +0.3125 -0.109375 0 2 +0.333333 -0.0555556 0 2 +0.354167 0.00173611 0 2 +0.375 0.0625 0 2 +0.395833 0.126736 0 2 +0.416667 0.194444 0 2 +0.4375 0.265625 0 2 +0.458333 0.340278 0 2 +0.479167 0.418403 0 2 +0.5 0.5 0 2 +\end{verbatim} +\section{The parabola} +<<data>>= +3 +x*x +0 0 400 400 +1 +0.867014 0.575432 +0 0 +0 0 +1 1 1 1 61 1 68 +1 1 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +0 +0.9 0.9 +0 0 +0 0 +1 1 0 1 0 0 0 +0 0 +@ +<<graph0>>= +-3 0 3 9 +0.166667 0.111111 +1.49012e-08 -0.5 +1.2 1.8 +0.2 0.2 +1 +49 +91 135 3 +-0.5 0.5 0 2 +-0.479167 0.418403 0 2 +-0.458333 0.340278 0 2 +-0.4375 0.265625 0 2 +-0.416667 0.194444 0 2 +-0.395833 0.126736 0 2 +-0.375 0.0625 0 2 +-0.354167 0.00173611 0 2 +-0.333333 -0.0555556 0 2 +-0.3125 -0.109375 0 2 +-0.291667 -0.159722 0 2 +-0.270833 -0.206597 0 2 +-0.25 -0.25 0 2 +-0.229167 -0.289931 0 2 +-0.208333 -0.326389 0 2 +-0.1875 -0.359375 0 2 +-0.166667 -0.388889 0 2 +-0.145833 -0.414931 0 2 +-0.125 -0.4375 0 2 +-0.104167 -0.456597 0 2 +-0.0833333 -0.472222 0 2 +-0.0625 -0.484375 0 2 +-0.0416667 -0.493056 0 2 +-0.0208333 -0.498264 0 2 +1.49012e-08 -0.5 0 2 +0.0208333 -0.498264 0 2 +0.0416667 -0.493056 0 2 +0.0625 -0.484375 0 2 +0.0833334 -0.472222 0 2 +0.104167 -0.456597 0 2 +0.125 -0.4375 0 2 +0.145833 -0.414931 0 2 +0.166667 -0.388889 0 2 +0.1875 -0.359375 0 2 +0.208333 -0.326389 0 2 +0.229167 -0.289931 0 2 +0.25 -0.25 0 2 +0.270833 -0.206597 0 2 +0.291667 -0.159722 0 2 +0.3125 -0.109375 0 2 +0.333333 -0.0555556 0 2 +0.354167 0.00173611 0 2 +0.375 0.0625 0 2 +0.395833 0.126736 0 2 +0.416667 0.194444 0 2 +0.4375 0.265625 0 2 +0.458333 0.340278 0 2 +0.479167 0.418403 0 2 +0.5 0.5 0 2 +@ +<<*>>= +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} |