1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
%表題 GRPH2 図形処理上位パッケージ
%
%履歴
%\Drireki{
% 92/01/21 林祥介
% 92/04/22 林祥介 (4.1版)
% 95/04/19 塩谷雅人
% }
%
% \Dchapter{使用例 : 初期化制御ルーチン(GRPACK)}
\Dchapterhead
\label{grpack}
\section{概要}
GRPACKはGRPH2の各種パッケージを使って新しい図を描くとき,
これらのパッケージを初期化したり,
変換関数に関するパラメータを(実行時オプションの介入を許して)
設定するものである.
\vspace{1em}
GRPACK は以下のように, 基本的に GRPH1 の「コントロール」および
「正規化変換」に関するルーチンに相当するものを用意している
(対応する GRPH1/SGPACK のルーチン名を括弧内に示す).
\begin{quote}
\begin{tabular}{lp{10cm}}
{\tt GROPN (SGOPN) } & 出力装置のオープン. \\
{\tt GRFRM (SGFRM) } & フレームの設定. \\
{\tt GRFIG} & 新たな図の設定. \\
{\tt GRCLS (SGCLS) } & 出力装置のクローズ.
\end{tabular}
\end{quote}
\begin{quote}
\begin{tabular}{lp{10cm}}
{\tt GRSVPT (SGSVPT)} & ビューポートの設定. \\
{\tt GRSWND (SGSWND)} & ウインドウの設定. \\
{\tt GRSSIM (SGSSIM)} & 相似変換の設定. \\
{\tt GRSMPL (SGSMPL)} & 地図投影の極の設定. \\
{\tt GRSTRN (SGSTRN)} & 変換関数の番号による設定.\\
% {\tt GRSTRF (SGSTRF)} & 変換関数(透視変換を含む)の確定.
\end{tabular}
\end{quote}
\vspace{1em}
{\tt SGOPN} などは電脳ライブラリの「下克上禁止令」により
GRPH2のルーチンを初期化できない.
しかし, GRPH2のサブパッケージの中には, 改ページ等のタイミングで
初期化が必要なものがある (UZPACK, USPACK 等;
初期化動作としては, GRPH2 でのサブパッケージが自動的に決める
可能性のあるパラメタに, 「未定義」の値を代入したりする).
GRPACK はこれらのサブパッケージを初期化するとともに,
内部で対応するSGPACKのルーチンを呼ぶ.
したがって, GRPACKを使って改ページなどをすれば,
そのたびに GRPH2 のライブラリの初期化ルーチンを呼ぶ必要はない.
\vspace{1em}
さらに GRPACK の各ルーチンが設定するパラメータについては,
実行時オプションの介入が可能である.
たとえば {\tt SGOPN} に相当する {\tt GROPN} というルーチンを使うと,
指定するワークステーション番号は実行時オプションによって
変更できる.
\vspace{1em}
また, GRPACKはGRPH1より高機能なGRPH2のライブラリを使うことを
前提にしているので,
{\tt GROPN}の中で{\tt SGLSET}を呼んで内部変数{\tt 'LCNTL'}を
{\tt .TRUE.}とし, 上つき下つきなどの制御文字を有効にしている
({\tt 'LCNTL'}の省略値は {\tt .FALSE.}である).
\vspace{1em}
\section{使用例}
以下の例では, まず, {\tt GROPN}, {\tt GRFRM}, {\tt GRFIG} など
コントロールルーチンの役割を認識して欲しい.
さらに, 実行時オプションの指定が可能な環境では(たとえば, コマンドライ
ン引数によって実行時オプションの指定が可能な環境では),
\begin{verbatim}
> grpk01 -sg:iws=-1 -sg:ifont=2 -sg:vxmin=0.5
\end{verbatim}
などとして, その効果を試してもらいたい.
\begin{center}
\Depsf[10cm]{grpack/grpk01_0001.eps}\\
{\bf grpk01.f:page1}\\
\end{center}
\begin{center}
\Depsf[10cm]{grpack/grpk01_0002.eps}\\
{\bf grpk01.f:page2}\\
\end{center}
\pagebreak
\Dproginput{grpack/grpk01.f}
|