%表題   GRPH2 図形処理上位パッケージ
%
%履歴
%\Drireki{
%         90/03/22 塩谷雅人
%         91/09/05 林祥介
%         91/12/10 林祥介
%         92/02/05 塩谷雅人
%         92/04/22 林祥介   (4.1版)
%        }
%
\section{サブルーチンの説明}

%矢印付きの線分を描くサブルーチン群.

\subsection{UFLNU}
%\label{ufpack.refuf.uflnu}
\begin{enumerate}
  \item 機能
  \begin{quote}
    WCで矢印付き線分を描く.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFPLU(UX1,UY1,UX2,UY2)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX1},{\tt UY1} & {\tt (R)} & WCにおける線分の始点の座標. \\
      {\tt UX2},{\tt UY2} & {\tt (R)} & WCにおける線分の終点の座標. \\
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item 描く矢印付き線分のラインインデクスは{\tt UFSLNI}で設定する.
      その他の属性は{\tt UFPGET/UFPSET}の管理する内部変数できまる.
  \end{enumerate}
\end{enumerate}

\subsection{UFLNV}
%\label{ufpack.refuf.uflnv}
\begin{enumerate}
  \item 機能
  \begin{quote}
    NDCで矢印付線分を描く.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFPLV(VX1,VY1,VX2,VY2)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt VX1},{\tt VY1} & {\tt (R)} & NDCにおける線分の始点の座標. \\
      {\tt VX2},{\tt VY2} & {\tt (R)} & NDCにおける線分の終点の座標. \\
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item 描く矢印付き線分のラインインデクスは{\tt UFSLNI}で設定する.
      その他の属性は{\tt UFPGET/UFPSET}の管理する内部変数できまる.
  \end{enumerate}
\end{enumerate}

\subsection{UFSLNI}
\label{ufpack.refuf.ufslni}
\begin{enumerate}
  \item 機能
  \begin{quote}
    {\tt UFLNU}, {\tt UFLNV}で描く矢印付き線分のラインインデクスを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFSLNI(INDEX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt INDEX} & {\tt (I)} & 矢印付き線分のラインインデクス
        (初期値は1).
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item {\tt INDEX}は1以上でなければならない.
    \item 現在設定されているラインインデクスは
      \begin{quote}
        {\tt CALL UFQLNI(INDEX)}
      \end{quote}
      によって参照できる.
  \end{enumerate}
\end{enumerate}

\subsection{UFLNZU}
%\label{ufpack.refuf.uflnzu}
\begin{enumerate}
  \item 機能
  \begin{quote}
    WCで矢印付き線分を描く. 属性も同時に指定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFLNZU(UX1,UY1,UX2,UY2,INDEX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX1},{\tt UY1} & {\tt (R)} & WCにおける線分の始点の座標. \\
      {\tt UX2},{\tt UY2} & {\tt (R)} & WCにおける線分の終点の座標. \\
      {\tt INDEX} & {\tt (I)} & {\tt UFSLNI}
        (\ref{ufpack.refuf.ufslni}節)参照.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item ここで指定した{\tt INDEX}は、{\tt UFLNU}, {\tt UFLNV}が参照する
      {\tt INDEX}を変更しない.
  \end{enumerate}
\end{enumerate}

\subsection{UFLNZV}
%\label{ufpack.refuf.uflnzv}
\begin{enumerate}
  \item 機能
  \begin{quote}
    NDCで矢印付き線分を描く. 属性も同時に指定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFLNZV(VX1,VY1,VX2,VY2,INDEX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt VX1},{\tt VY1} & {\tt (R)} & NDCにおける線分の始点の座標. \\
      {\tt VX2},{\tt VY2} & {\tt (R)} & NDCにおける線分の終点の座標. \\
      {\tt INDEX} & {\tt (I)} & {\tt UFSLNI}
        (\ref{ufpack.refuf.ufslni}節)参照.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item ここで指定した{\tt INDEX}は、{\tt UFLNU}, {\tt UFLNV}が参照する
      {\tt INDEX}を変更しない.
  \end{enumerate}
\end{enumerate}

\subsection{UFPGET/UFPSET}
%\label{ufpack.refuf.ufpget}
\begin{enumerate}
  \item 機能
  \begin{quote}
    UFPACKサブルーチンパッケージで使用する内部変数を参照/変更する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL UFPGET(CP,IPARA)} \\
    {\tt CALL UFPSET(CP,IPARA)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt CP} & {\tt (C*8)} & 内部変数の名前.  \\
      {\tt IPARA} & {\tt (I,R,L)} & 内部変数の値.
    \end{tabular}

    \vspace{1em}
    以下に{\tt CP}として指定できる名前のリストを記す.

    \vspace{1em}
    \begin{tabbing}
      123456789 \= 1234 \=                                         \kill
      {\tt 'LPROP'} \> {\tt (L)} \>
        \parbox[t]{10cm}
        {矢じり部分の線分を本体部分の線分の長さに比例させて
        描くかどうかを指定する.
        {\tt .TRUE.}なら比例させて描く;{\tt .FALSE.}なら
        内部変数{\tt 'CONST'}で指定してある一定値で描く
        (初期値は{\tt .TRUE.}).
        \rule[-1ex]{0ex}{1ex}} \\
      {\tt 'AFACT'} \> {\tt (R)} \>
        \parbox[t]{10cm}
        {{\tt 'LPROP'}が{\tt .TRUE.}(比例させて描く)のときに
        用いる比例定数(初期値は0.33).
        \rule[-1ex]{0ex}{1ex}} \\
      {\tt 'CONST'} \> {\tt (R)} \>
        \parbox[t]{10cm}
        {{\tt 'LPROP'}が{\tt .FALSE.}(一定値で描く)のときに
        用いる一定値(単位はNDC;初期値は0.01).
        \rule[-1ex]{0ex}{1ex}} \\
      {\tt 'ANGLE'} \> {\tt (R)} \>
        \parbox[t]{10cm}
        {矢じり部分の線分と本体部分の線分のなす角
        (単位は度;初期値は20.0).
        \rule[-1ex]{0ex}{1ex}}
    \end{tabbing}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item {\tt IPARA}としては適切な型の定数または変数を指定すること.
  \end{enumerate}
\end{enumerate}

\subsection{その他のサブルーチン}

このパッケージにはこのほかに以下の下位ルーチンがある.
ここではその名前をあげるにとどめる.

\vspace{1em}
\begin{quote}
  {\tt UFLNZZ}
\end{quote}
