! gtgraph_types.f90 - gtgraph 層の型宣言 ! Copyright (C) TOYODA Eizi, 2000. All rights reserved. module gtgraph_types use dc_string, only: VSTRING use dc_types, only: STRING use gtdata_types, only: GT_VARIABLE implicit none type GT_AXIS type(GT_VARIABLE):: var real:: lower real:: upper logical:: vertical logical:: drawn character(STRING):: saved character(STRING):: title character(STRING):: units integer:: index logical:: logscale logical:: negative end type type GT_CONTOURS type(GT_VARIABLE):: var type(GT_AXIS), pointer:: h_axis type(GT_AXIS), pointer:: v_axis ! 真にしたときのみぬりわけを行う logical:: shade ! 真にしたときのみ等値線を引く logical:: contours ! --- どのレベルに等値線またはぬりわけ境界を置くか --- ! 確保されていれば size(levels) 本の線を引く手動設定 real, pointer, dimension(:):: levels ! コンター(c), 色塗り(s) に関してレンジ指定 ! デフォルトは無限区間 real, pointer:: crange(:) real, pointer:: srange(:) ! 正に指定すればその間隔を用いて自動設定 ! 負に指定すれば最大最小から int(abs(interval)) 本の線を引く自動設定 ! 初期値 0.0 は手動処理がない場合だけ -12.0 と等価 real:: sint real:: cint ! 自動設定を行うときにこの値を含むようにする real:: base ! 手動・自動設定のいかなる場合でもレベルを除去 real, pointer, dimension(:):: skiplevels ! --- 等値線をどのように描くか --- ! icycle 本の等値線のうち1本を major line (ラベルつきの太線) にする integer:: icycle ! --- ぬりわけをどのようにするか --- ! もしひとつでも割り付けるならば大きさは ! size(levels) + 1 にしなければならない integer, pointer, dimension(:):: tones ! --- -next メッセージを受け付けるか logical:: animate ! --- 空でなければ地図を描画する character(STRING):: map end type type GT_VECTORS type(GT_VARIABLE):: var1 type(GT_VARIABLE):: var2 type(GT_AXIS), pointer:: h_axis type(GT_AXIS), pointer:: v_axis integer:: hskip integer:: vskip logical:: animate ! --- 空でなければ地図を描画する character(STRING):: map end type type GT_LINE type(GT_VARIABLE):: var type(GT_AXIS), pointer:: h_axis type(GT_AXIS), pointer:: v_axis integer:: index integer:: type integer:: mark logical:: animate end type type GT_FIGURE type(GT_AXIS), pointer:: h_axis type(GT_AXIS), pointer:: v_axis type(GT_CONTOURS), pointer:: contours(:) type(GT_VECTORS), pointer:: vectors(:) type(GT_LINE), pointer:: line(:) character(STRING):: title logical:: animate ! 投影法関係 integer:: projection real:: stdlon, stdlat, rotate ! アスペクト比, 無指定は 0.0 real:: aspect ! ビューポート横幅, デフォルトは 0.55 real:: fill ! ビューポート中心と描画領域中心との差, デフォルトは 0.025 real:: shift ! 仮想的な図劃上端、デフォルトは 0.65 real:: ceil end type type GT_FRAME type(GT_FIGURE), pointer:: figs(:) character(STRING):: title logical:: first_figure end type type GT_DEVICE integer:: ws_id end type ! 万物を併呑するための型 type GT_OBJECT type(GT_AXIS), pointer:: axis type(GT_CONTOURS), pointer:: cont type(GT_VECTORS), pointer:: vect type(GT_LINE), pointer:: line type(GT_FIGURE), pointer:: fig type(GT_FRAME), pointer:: frame type(GT_OBJECT), pointer:: next end type end module