GRPH1において図形出力の初期化処理・終了処理・作画領域の設定・ 内部変数の管理をおこなうサブルーチン群. 以下,特に断らない限り,単に「内部変数」というのは, SGpGET/SGpSET([here]節参照)の管理する内部変数の ことを指す.
図形出力装置をオープンする(初期化処理をおこなう).
CALL SGOPN(IWS)
IWS (I) ワークステーション番号を指定する. IWS>0 のときは画面を横長に使い図形出力は正立, IWS<0 のときは画面を縦長に使い図形出力は 90度回転して表示される.
新しい作画領域を設定する.
CALL SGFRM
なし.
図形出力装置をクローズする(終了処理をおこなう).
CALL SGCLS
なし.
GRPH1で使用する内部変数を参照/変更する. (SGpSTX は実行時オプションによる変更を許す.) p は R/I/L で,それぞれ実数,整数,論理変数用.
CALL SGpGET(CP,IPARA)
CALL SGpSET(CP,IPARA)
CALL SGpSTX(CP,IPARA)
CP (C*8) 内部変数の名前. IPARA (I,R,L) 内部変数の値.
以下にCPとして指定できる名前のリストを記す.
[全般的な制御に関するパラメーター]
'IWS' (I) オープンする装置番号(初期値は1) . この番号は SGOPN が設定する.GRPH1 の範囲では この値を実行時オプションによって変更することはできな い (GRPH2 の GRPACK を用いれば変更可能である). [-1ex]0 ex1ex} 'LFULL' (L) SGFRM ([here] 節参照)で設定する ワークステーションビューポートを作画可能な範囲いっぱ いに とるかどうかを指定する. .TRUE.のときいっぱいにとる; .FALSE.のとき最大内接する正方形にとる (初期値は.FALSE.). [-1ex]0ex1ex}
[ポリラインプリミティブに関するパラメーター]
'NBITS' (R) ポリラインプリミティブの描く折れ線の ラインタイプをビットパターンで設定するとき, 下位何ビットを使うか指定する(初期値は16) . [-1ex]0ex1ex} 'BITLEN' (R) ポリラインプリミティブの描く折れ線の ラインタイプをビットパターンで設定するとき, 1ビットがVC上でどれだけの長さに相当するかを指定する (初期値は0.003). [-1ex]0ex1ex} 'MOVE' (I) SZPACKの下位ルーチンが破線等のパターンで 線を引くときpen-up moveの後のパターンのサイクルについて指定する (初期値は1). [-1ex]0ex1ex} 1 : pen-upの間も作図を続けたものと見なす. 0 : 最後にpen-downで移動した状態を保つ. -1 : pen-upで移動した後,新しいサイクルを始める. [-1ex]0ex1ex} 'LCHAR' (L) ポリラインプリミティブで折れ線を描くとき, ラベルつき折れ線とするかどうかを指定する .TRUE.のときはラベルつき折れ線とする; .FALSE.のときはラベルなし折れ線とする (初期値は.FALSE.) . 以下はこのラベルつき線分に関するパラメーターである . [-1ex]0ex1ex} 'LROT' (L) ラベルとして付ける文字列を一定の回転角で描くか, あるいは線分に沿って描くかを指定する. .TRUE.のとき一定の回転角で描く; .FALSE.のとき線分に沿って描く(初期値は.FALSE.) . [-1ex]0ex1ex} 'IROT' (I) ラベルとしてつける文字列を一定の回転角で描くとき ('LROT'が.TRUE.のとき)の 回転角を指定する(単位は 度;初期値は0). [-1ex]0ex1ex} 'FWC' (R) 文字列を描くための空白域の幅を 全文字幅を単位としてどれだけとるかを指定する係数 (初期値は1.25). [-1ex]0ex1ex} 'CWL' (R) 1サイクルあたり,線分部分の長さを文字高を単位として 何文字分 とるかを指定する係数 (初期値は30.0) . [-1ex]0ex1ex} 'FFCT' (R) ラベル付き折れ線を描くにあったて, 線分部分を1単位としてどれだけ進んだところから 描き始めるかを指定する(初期値は0.5) . [-1ex]0ex1ex} 'INDEXC' (I) ラベルとして描く文字列のラインインデクスを指定する (初期値は0) . 値が0のとき,線分部分を描くために現在設定されている ラインインデクスと同じ値をとる. [-1ex]0ex1ex} 'LBUFF' (L) 折れ線の終りが文字列を描くべき空白部分であるとき そこを線分で結ぶためのバッファリングをするかどうか を指定する. .TRUE.のときバッファリングをする; .FALSE.のときバッファリングしない(初期値は.TRUE.) . [-1ex]0ex1ex} 'NBUFF' (I) バッファリングをするときその長さを指定する. (初期値は20). [-1ex]0ex1ex} 'RBUFF' (R) バッファリングした内容を書き出した後,ラベルつき折 れ線の サイクルの位置を指定する.0と1の間の値を指定するこ と. (初期値は0.99). [-1ex]0ex1ex} 'LCURV' (L) 折れ線のなす角が大きなところなどではラベルを書かな いことを 指定する.正確には,文字を書くべきスペースが 次のパラメータ'RCURV'の係数以下のとき ラベルを書かない. .TRUE.のときラベルを書かない; .FALSE.のときラベルを書く(初期値は.TRUE.) . [-1ex]0ex1ex} 'RCURV' (R) 'LCURV'が.TRUE.で, ラベルを書くべきスペースがこの係数以下のときラベル を書かない. (初期値は1.0). [-1ex]0ex1ex}
[ポリマーカープリミティブに関するパラメーター]
'PMFACT' (R) ポリマーカープリミティブが描く マーカーの大きさを調整する係数(初期値は2.0) . ポリマーカープリミティブはテキストプリミティブを用 いてマーカーを描く. このとき,描くマーカーは標準的な文字高に比べて小さ い (フォントテーブル[here] ,[here] 節参照).この内部変数はマーカーが標準的な文字高を持つように この内部変数はマーカーが標準的な文字高を持つように するため 使われる拡大係数である.[-1ex]0ex1ex} 'NPMSKIP' (I) ポリマーカープリミティブでマーカーを描くとき, 何個に1個の割合で描くかを指定する (初期値は1;すべてマーカーを描く.SGPMZUが バッファリングする最大個数50以下でなければならない ). [-1ex]0ex1ex}
[テキストプリミティブに関するパラメーター]
'IFONT' (I) フォント番号 (初期値は1). [-1ex]0ex1ex} 'LCNTL' (L) テキストプリミティブで文字を描くとき, 制御文字 ('ISUP', 'ISUB', 'IRST'参照) を有効とするかどうかを 指定する .TRUE.のときは有効とする; .FALSE.のときは有効としない(初期値は.FALSE.) . [-1ex]0ex1ex} 'SMALL' (R) 上付および下付添え字の 標準文字高に対する比率(初期値は0.7). [-1ex]0ex1ex} 'SHIFT' (R) 上付および下付添え字の中心を 標準文字の中心からどれだけはなすかを標準文字高に対す る比率で指定する (初期値は0.3). [-1ex]0ex1ex} 'ISUP' (I) 上付添え字のモードの始まりをしめす 制御文字の文字番号. 初期値は124;これは'|'に対応する.[-1ex]0ex1ex} 'ISUB' (I) 下付添え字のモードの始まりをしめす 制御文字の文字番号. 初期値は95;これは''に対応する.[-1ex]0ex1ex} 'IRST' (I) 上付および下付添え字のモードの終わりをしめす 制御文字の文字番号. 初期値は34;これは'"'に対応する.[-1ex]0ex1ex}
[トーンプリミティブに関するパラメーター]
'LSOFTF' (L) トーンプリミティブで塗りつぶしをおこなうとき soft fillをおこなうかhard fillをおこなうかを指定する. .TRUE.のときはsoft fillをおこなう; .FALSE.のときはhard fillをおこなう (初期値は.FALSE.) . ただし,hard fillを指定してもその能力がない場合は soft fillとなる.[-1ex]0ex1ex} 'LCL2TN' (L) 色を用いたべた塗りによる塗りわけを おこなうとき,色番号をドットなどのパターン番号とし て 読みかえるかどうかを指定する. .TRUE.のときは読みかえる; .FALSE.のときは読みかえない (初期値は.FALSE.) . ただし,色を用いた塗りわけができないような装置では , .FALSE. と設定されていてもパターン番号による 読みかえをおこなおうとする. [-1ex]0ex1ex} 'TNBLEN' (R) トーンプリミティブで ドットパターンによるsoft fillをおこなう場合, フィルエリアサブプリミティブの下位ルーチンを用い点 線の集合として 表現する. このとき点線のラインタイプはビットパターンで設定さ れるが, その1ビットがRC上でどれだけの長さに相当するかを指定 する (初期値は0.001). [-1ex]0ex1ex} 'IRMODE' (I) トーンプリミティブで指定された閉領域が クリッピング境界にかかる時に, 境界線の向きを指定するパラメタ. 0のとき反時計回り; 1のとき時計回り. [here] 節参照のこと. (初期値は0). [-1ex]0ex1ex}
[アローサブプリミティブに関するパラメーター]
'LPROP' (L) 矢じり部分の線分を本体部分の線分の長さに比例させて 描くかどうかを指定する. .TRUE.なら比例させて描く;.FALSE.なら 内部変数'CONST'で指定してある一定値で, 地図投影のときは内部変数'CONSTM'で指定してある 一定値で描く (初期値は.TRUE.). [-1ex]0ex1ex} 'LUARW' (L) 地図投影のとき,矢じり部分の線分も地図にへばりつい たように 描くかどうかを指定する. .TRUE.なら地図上で描く; .FALSE.ならVCで描く (初期値は.TRUE.). [-1ex]0ex1ex} 'AFACT' (R) 'LPROP'が.TRUE.(比例させて描く)のときに 用いる比例定数(初期値は0.33). [-1ex]0ex1ex} 'CONST' (R) 'LPROP'が.FALSE.(一定値で描く)のときに 用いる一定値(単位はVC;初期値は0.01) . [-1ex]0ex1ex} 'CONSTM' (R) 'LPROP'が.FALSE.(一定値で描く)で かつ地図投影のときに用いる一定値 (単位は度;初期値は5.0). [-1ex]0ex1ex} 'ANGLE' (R) 矢じり部分の線分と本体部分の線分のなす角 (単位は度;初期値は20.0). [-1ex]0ex1ex} 'LATONE' (L) 矢じり部分を定義する三角形の領域を塗りつぶすか どうかを指定する. .TRUE.なら塗りつぶす; .FALSE.なら塗りつぶさない (初期値は.FALSE.) . [-1ex]0ex1ex} 'IATONE' (L) 'LATONE'が.TRUE. (矢じり部分を定義する三角形の領域を塗りつぶす)の ときの トーンパターン(初期値は999) . 3桁以下のとき,カラーインデクスは軸の部分について 指定されているものを用いる. [-1ex]0ex1ex}
[変換関数に関するパラメタ] - これらのパラメタの意味については,[here]節, [here]節 を参照のこと.
'ITR' (I) 変換関数番号 (初期値は1) . [-1ex]0ex1ex} 'VXMIN','VXMAX','VYMIN', (R) ビューポート (初期値は0.0, 'VYMAX' 1.0, 0.0, 1.0) . [-1ex]0ex1ex} 'UXMIN','UXMAX','UYMIN', (R) ウインドウ (初期値は0.0, 'UYMAX' 1.0, 0.0, 1.0) . [-1ex]0ex1ex} 'SIMFAC','VXOFF','VYOFF' (R) 相似変換パラメタ (初期値は1.0, 0.0, 0.0) . [-1ex]0ex1ex} 'PLX','PLY','PLROT' (R) 地図座標回転パラメタ (初期値は0.0, 90.0, 0.0) . [-1ex]0ex1ex} 'STLAT1','STLAT2' (R) 標準緯度 (初期値は0.0, 0.0) . [-1ex]0ex1ex} 'RSAT' (R) 衛星軌道半径 (初期値は0.0) . [-1ex]0ex1ex} 'LDEG' (L) 単位系の指定.'LDEG'が.TRUE. なら 度を単位とする; .FALSE. ならラジアンを単位とする (初期値は.TRUE.) . [-1ex]0ex1ex} 'ITR3' (I) 変換関数番号 (初期値は1) . [-1ex]0ex1ex} 'VXMIN3','VXMAX3','VYMIN3', 'VYMAX3' 'VZMIN3','VZMAX3' (R) 3次元ビューポート (初期値は0., 1., 0., 1., 0., 1.). [-1ex]0ex1ex} 'UXMIN3','UXMAX3','UYMIN3', 'UYMAX3' 'UZMIN3','UZMAX3' (R) 3次元ウィンドウ (初期値は0., 1., 0., 1., 0., 1.). [-1ex]0ex1ex} 'SIMFAC3' (R) 円筒座標と球座標のスケーリン グファクター (初期値は1.) . [-1ex]0ex1ex} 'XORG3', 'YORG3', 'ZORG3' (R) 円筒座標と球座標の原点位置 (初期値は0., 0., 0.) . [-1ex]0ex1ex} 'XEYE3','YEYE3','ZEYE3' (R) 視点 (初期値は-0.8, -1.5, 1.5). [-1ex]0ex1ex} 'XOBJ3','YOBJ3','ZOBJ3' (R) 焦点中心 (初期値は0.5, 0.5, 0.0). [-1ex]0ex1ex} 'ANGLE3' (R) 画角 (初期値は30.0) . [-1ex]0ex1ex} 'TILT3' (R) 傾き (初期値は0.0) . [-1ex]0ex1ex} 'XOFF3','YOFF3' (R) オフセット (初期値は0.0, 0.0). [-1ex]0ex1ex} 'IXC3','IYC3','SEC3' (I,R) 2次元平面位置 (初期値は1, 2, 0.0). [-1ex]0ex1ex} 'L2TO3' (L) 2次元透視変換の指定. 'L2TO3'が.TRUE. なら2次元平面を3次元空間に割 り付ける; .FALSE. ならV座標とR座標を同一のもの として扱う. (初期値は.FALSE.) . [-1ex]0ex1ex}
[補間およびクリッピングに関するパラメタ] - これらのパラメタの意味については,[here]節 を参照のこと.
'LLNINT','LGCINT' (L) 線形補間,大円補間のフラグ (初期値は.FALSE., .TRUE.) . [-1ex]0ex1ex} 'RDX','RDY' (R) 補間間隔 (初期値は5.0, 5.0; 単位は度). [-1ex]0ex1ex} 'LCLIP' (L) ビューポートでのクリッピングの フラグ (初期値は.FALSE.) . [-1ex]0ex1ex} 'TXMIN','TXMAX','TYMIN', (R) T座標系でのクリッピング境界 'TYMAX' (初期値は-180.0, 180.0, -90.0, 90.0; 単位は度). [-1ex]0ex1ex}
[レイアウトに関するパラメーター] - dcl-ver.4 まで SLPGET/SLPSET が管理していたパラメーター.
'INDEX' (I) 第1レベル目のマージンに描く文字列と コーナーマークのラインインデクス(初期値は1) . [-1ex]0ex1ex} 'LCORNER' (L) コーナーマークを描くかどうかを指定する. .TRUE.ならコーナーマークを描く; .FALSE.なら描かない(初期値は.TRUE.) . [-1ex]0ex1ex} 'CORNER' (R) コーナーマークの長さ(初期値は0.01) . 単位は第1レベル目の長辺を1とする. [-1ex]0ex1ex} 'LWIDE' (L) 文字列(タイトル)を描く第1レベル目の マージンの定義をする. .TRUE.のときマージンの幅を第1レベル目のフレーム幅 いっぱいにとる; .FALSE.のとき横方向のマージンを取った残りの部分を マージンの幅とする(初期値は.FALSE.) . [-1ex]0ex1ex} 'XPAD' (R) 第1レベル目のマージンに描く文字列の 左右にとるすきまの和を文字高を単位として指定する( 初期値は1.0). [-1ex]0ex1ex} 'YPAD' (R) 第1レベル目のマージンに描く文字列の 上下にとるすきまの和を文字高を単位として指定する( 初期値は1.0). [-1ex]0ex1ex}
SGPQNP(NCP) 内部変数の総数NCPを求める. SGPQID(CP,IDX) 内部変数CPの位置IDXを求める. SGPQCP(IDX,CP) IDXの位置にある内部変数の名前CPを参照する. SGPQVL(IDX,IPARA) IDXの位置にある内部変数の値IPARAを参照する. SGPSVL(IDX,IPARA) IDXの位置にある内部変数の値IPARAを変更する.
利用可能なワークステーション名のリストを書き出す.
CALL SGPWSN
なし
NUMAGUTI Atusi <a1n@gfdl.gov> Last Modified: Thu Aug 31 13:05:30 EDT 1995