多角形閉領域のぬりつぶし図形出力(tone primitive)に関するサブルーチン群.
出力装置の能力に応じて,hard fillまたはsoft fillを切替える. 内部変数'LSOFTF' ([here]節参照)が .TRUE.のときはsoft fillをおこなう; .FALSE.のときはhard fillをおこなう (初期値は.FALSE.). ただし,hard fillを指定してもその能力がない場合は soft fillとなる.
また,色を用いたべた塗り(下位3桁が999であるようなトーンパターン番号) による塗りわけをおこなうとき,色番号をドットなどのパターン番号として 読みかえることができる. 内部変数'LCL2TN' ([here]節参照)が .TRUE.のときは読みかえる; .FALSE.のときは読みかえない (初期値は.FALSE.). ただし,色を用いた塗りわけができないような装置では, 'LCL2TN'が.FALSE.と設定されていても, パターン番号による読みかえをおこなおうとする.
すでに描かれた図形の上にsoft fillをおこなってもトーンパターンが上書き されるだけで,それまでに描かれた図形が(べた塗りをしない限り)消えてしま うことはない. しかしながら,出力装置によってはhard fillによるぬりわけによって 先に描かれた図形が消えてしまうことがあるので, ほかの図形出力と一緒にトーンプリミティブを用いるときは 描く順番に注意すること.
以下のサブルーチンの説明で,多角形を定義する頂点の座標 (PX(i), PY(i)) (i=1,N) (これらはU/V/R座標系で指定できる)に関しては,次のように解釈される. (PX(1), PY(1))と(PX(N), PY(N))は 同一な点である必要はない.つまり, (PX(i), PY(i))と (PX(i+1), PY(i+1)) (i=1,N-1) および (PX(N), PY(N))と(PX(1), PY(1))を結んだ 閉領域をぬりつぶす.
現在サポートされているサブルーチン群は, 内部的に確保している作業領域の制約から座標値を与える配列の長さNは 256以下でなければならない.
U/V/R座標系で多角形閉領域をぬりつぶす. トーンパターン番号も同時に指定する.
CALL SGTNZU(N,UPX,UPY,ITPAT)
CALL SGTNZV(N,VPX,VPY,ITPAT)
CALL SGTNZR(N,RPX,RPY,ITPAT)
N (I) 配列UPX, UPYの長さ. UPX, (R) 長さNの配列. UPY 多角形を定義する頂点のU座標系における(X, Y) 座標の値を与える. VPX, (R) 長さNの配列. VPY 多角形を定義する頂点のU座標系における(X, Y) 座標の値を与える. RPX, (R) 長さNの配列. RPY 多角形を定義する頂点のU座標系における(X, Y) 座標の値を与える. ITPAT (I) トーンパターン番号.SGSTNP参照.
U/V/R座標系で多角形閉領域をぬりつぶす.
CALL SGTNU(N,UPX,UPY)
CALL SGTNV(N,VPX,VPY)
CALL SGTNR(N,RPX,RPY)
N (I) 配列UPX, UPYの長さ. UPX, (R) 長さNの配列. UPY 多角形を定義する頂点のU座標系における(X, Y) 座標の値を与える. VPX, (R) 長さNの配列. VPY 多角形を定義する頂点のV座標系における(X, Y) 座標の値を与える. RPX, (R) 長さNの配列. RPY 多角形を定義する頂点のR座標系における(X, Y) 座標の値を与える.
SGTNU, SGTNV, SGTNRで用いるトーンパターン番号を設定する.
CALL SGSTNP(ITPAT)
ITPAT (I) トーンパターン番号(初期値は1). [here] -[here] 節参照.
CALL SGQTNP(ITPAT)によって参照できる.
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:06:12 EDT 1995