サブルーチンの説明 : トーンプリミティブ

多角形閉領域のぬりつぶし図形出力(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以下でなければならない.

SGTNZU/SGTNZV/SGTNZR

  1. 機能
    U/V/R座標系で多角形閉領域をぬりつぶす. トーンパターン番号も同時に指定する.
  2. 呼び出し方法
    CALL SGTNZU(N,UPX,UPY,ITPAT)
    CALL SGTNZV(N,VPX,VPY,ITPAT)
    CALL SGTNZR(N,RPX,RPY,ITPAT)
  3. パラメーターの説明
                                                                            
      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参照.                     
                                                                            
    
  4. 備考
    1. Nは3以上でなければならない.
    2. ここで指定した ITPATは,SGTNU, SGTNV, SGTNRが参照する ITPATを変更しない.

SGTNU/SGTNV/SGTNR

  1. 機能
    U/V/R座標系で多角形閉領域をぬりつぶす.
  2. 呼び出し方法
    CALL SGTNU(N,UPX,UPY)
    CALL SGTNV(N,VPX,VPY)
    CALL SGTNR(N,RPX,RPY)
  3. パラメーターの説明
                                                                            
      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)          
                       座標の値を与える.                                   
                                                                            
    
  4. 備考
    1. Nは3以上でなければならない.
    2. 領域をぬりつぶすトーンパターン番号は SGSTNPで設定する.

SGSTNP

  1. 機能
    SGTNU, SGTNV, SGTNRで用いるトーンパターン番号を設定する.
  2. 呼び出し方法
    CALL SGSTNP(ITPAT)
  3. パラメーターの説明
                                                                            
      ITPAT   (I)   トーンパターン番号(初期値は1).                         
                    [here] -[here] 節参照.                                 
                                                                            
    
  4. 備考
    1. ITPATは1以上でなければならない. ただしITPATが0のとき,メッセージは出力されるがなにもしない.
    2. ITPATの妥当性はこのルーチンでチェックされず, SGTNU, SGTNV, SGTNRを呼んだときにチェックされる.
    3. 現在設定されているトーンパターン番号は
      CALL SGQTNP(ITPAT)
      によって参照できる.


Back to Main


Latex Source


地球流体電脳倶楽部 : 95/6/9 (Version 5.0)

NUMAGUTI Atusi <a1n@gfdl.gov>
Last Modified: Thu Aug 31 13:06:12 EDT 1995