%表題   GRPH1 基本グラフィックルーチンライブラリ
%
%履歴
%\Drireki{
%         93/10/19 塩谷雅人
%         94/01/22 塩谷雅人
%        }
%
\section{サブルーチンの説明 : アローサブプリミティブ}
\label{sgpack.arrow}

矢印付き線分の図形出力(arrow sub-primitive)に関するサブルーチン群.

\vspace{1em}

矢印をどのように表現するか(その長さやなす角など)は
\SGPGETSET の管理する内部変数できまる
(\ref{sgpack.cntl.sgpget}節参照).

%------------------------------------------------------------------------------
\subsection{SGLAZU/SGLAZV/SGLAZR}
%\label{sgpack.arrow.sglazu}
\begin{enumerate}
  \item 機能
  \begin{quote}
    U/V/R座標系で矢印付き線分を描く. 属性も同時に指定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGLAZU(UX1,UY1,UX2,UY2,ITYPE,INDEX)} \\
    {\tt CALL SGLAZV(VX1,VY1,VX2,VY2,ITYPE,INDEX)} \\
    {\tt CALL SGLAZR(RX1,RY1,RX2,RY2,ITYPE,INDEX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX1},{\tt UY1} & {\tt (R)} & U座標系における線分の始点の座標. \\
      {\tt UX2},{\tt UY2} & {\tt (R)} & U座標系における線分の終点の座標. \\
      {\tt VX1},{\tt VY1} & {\tt (R)} & V座標系における線分の始点の座標. \\
      {\tt VX2},{\tt VY2} & {\tt (R)} & V座標系における線分の終点の座標. \\
      {\tt RX1},{\tt RY1} & {\tt (R)} & R座標系における線分の始点の座標. \\
      {\tt RX2},{\tt RY2} & {\tt (R)} & R座標系における線分の終点の座標. \\
      {\tt ITYPE} & {\tt (I)} & ラインタイプ. {\tt SGSLAT}参照. \\
      {\tt INDEX} & {\tt (I)} & ラインインデクス. {\tt SGSLAI}参照.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item ここで指定した{\tt ITYPE}, {\tt INDEX}は,
      {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}が参照する
      {\tt ITYPE}, {\tt INDEX}を変更しない.
  \end{enumerate}
\end{enumerate}

%------------------------------------------------------------------------------
\subsection{SGLAXU/SGLAXV/SGLAXR}
%\label{sgpack.arrow.sglaxu}
\begin{enumerate}
  \item 機能
  \begin{quote}
    U/V/R座標系で矢印付き線分を描く. 属性も同時に指定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGLAXU(UX1,UY1,UX2,UY2,ITYPE,INDEX,ICOLOR)} \\
    {\tt CALL SGLAXV(VX1,VY1,VX2,VY2,ITYPE,INDEX,ICOLOR)} \\
    {\tt CALL SGLAXR(RX1,RY1,RX2,RY2,ITYPE,INDEX,ICOLOR)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX1},{\tt UY1} & {\tt (R)} & U座標系における線分の始点の座標. \\
      {\tt UX2},{\tt UY2} & {\tt (R)} & U座標系における線分の終点の座標. \\
      {\tt VX1},{\tt VY1} & {\tt (R)} & V座標系における線分の始点の座標. \\
      {\tt VX2},{\tt VY2} & {\tt (R)} & V座標系における線分の終点の座標. \\
      {\tt RX1},{\tt RY1} & {\tt (R)} & R座標系における線分の始点の座標. \\
      {\tt RX2},{\tt RY2} & {\tt (R)} & R座標系における線分の終点の座標. \\
      {\tt ITYPE} & {\tt (I)} & ラインタイプ. {\tt SGSLAT}参照. \\
      {\tt INDEX} & {\tt (I)} & ラインインデクス. {\tt SGSLAI}参照.\\
      {\tt ICOLOR} & {\tt (I)} & ICOLOR型の色. {\tt ISGRGB}参照.
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item ここで指定した{\tt ITYPE}, {\tt INDEX}は,
      {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}が参照する
      {\tt ITYPE}, {\tt INDEX}を変更しない.
  \end{enumerate}
\end{enumerate}

%------------------------------------------------------------------------------
\subsection{SGLAU/SGLAV/SGLAR}
%\label{sgpack.arrow.sglau}
\begin{enumerate}
  \item 機能
  \begin{quote}
    U/V/R座標系で矢じり付き線分を描く.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGLAU(UX1,UY1,UX2,UY2)} \\
    {\tt CALL SGLAV(VX1,VY1,VX2,VY2)} \\
    {\tt CALL SGLAR(RX1,RY1,RX2,RY2)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{10cm}}
      {\tt UX1},{\tt UY1} & {\tt (R)} & U座標系における線分の始点の座標. \\
      {\tt UX2},{\tt UY2} & {\tt (R)} & U座標系における線分の終点の座標. \\
      {\tt VX1},{\tt VY1} & {\tt (R)} & V座標系における線分の始点の座標. \\
      {\tt VX2},{\tt VY2} & {\tt (R)} & V座標系における線分の終点の座標. \\
      {\tt RX1},{\tt RY1} & {\tt (R)} & R座標系における線分の始点の座標. \\
      {\tt RX2},{\tt RY2} & {\tt (R)} & R座標系における線分の終点の座標. \\
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item 描く線分の属性は{\tt SGSLAT}, {\tt SGSLAI}で設定する.
  \end{enumerate}
\end{enumerate}

%------------------------------------------------------------------------------
\subsection{SGSLAT}
%\label{sgpack.arrow.sgslat}
\begin{enumerate}
  \item 機能
  \begin{quote}
    {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}で描く線分の
    ラインタイプを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSLAT(ITYPE)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt ITYPE} & {\tt (I)} & 線分のラインタイプ
        (\ref{gaiyou.outp}節参照;初期値は1).
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item {\tt ITYPE}は0以外でなければならない.
      ただし{\tt ITYPE}が0のとき, メッセージは出力されるがなにもしない.
    \item {\tt ITYPE}の妥当性はこのルーチンでチェックされず,
      {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}を呼んだときにチェックされる.
    \item 現在設定されているラインタイプは
      \begin{quote}
        {\tt CALL SGQLAT(ITYPE)}
      \end{quote}
      によって参照できる.
  \end{enumerate}
\end{enumerate}

%------------------------------------------------------------------------------
\subsection{SGSLAI}
%\label{sgpack.arrow.sgslai}
\begin{enumerate}
  \item 機能
  \begin{quote}
    {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}で描く線分の
    ラインインデクスを設定する.
  \end{quote}
  \item 呼び出し方法
  \begin{quote}
    {\tt CALL SGSLAI(INDEX)}
  \end{quote}
  \item パラメーターの説明
  \begin{quote}
    \begin{tabular}{llp{11cm}}
      {\tt INDEX} & {\tt (I)} & 線分のラインインデクス
        (\ref{gaiyou.outp}節参照;初期値は1).
    \end{tabular}
  \end{quote}
  \item 備考
  \begin{enumerate}
    \item {\tt INDEX}は1以上でなければならない.
      ただし{\tt INDEX}が0のとき, メッセージは出力されるがなにもしない.
    \item {\tt INDEX}の妥当性はこのルーチンでチェックされず,
      {\tt SGLAU}, {\tt SGLAV}, {\tt SGLAR}を呼んだときにチェックされる.
    \item 現在設定されているラインインデクスは
      \begin{quote}
        {\tt CALL SGQLAI(INDEX)}
      \end{quote}
      によって参照できる.
  \end{enumerate}
\end{enumerate}

