apply_mesh_kv Subroutine

public subroutine apply_mesh_kv(cfg, line)

[mesh] セクションのキーをメッシュ入力設定へ適用する。

Arguments

Type IntentOptional Attributes Name
type(app_config), intent(inout) :: cfg

更新対象のアプリ設定。

character(len=*), intent(in) :: line

key = value 形式の設定行。


Calls

proc~~apply_mesh_kv~~CallsGraph proc~apply_mesh_kv apply_mesh_kv interface~parse_real parse_real proc~apply_mesh_kv->interface~parse_real interface~parse_real3 parse_real3 proc~apply_mesh_kv->interface~parse_real3 interface~parse_string parse_string proc~apply_mesh_kv->interface~parse_string interface~split_key_value split_key_value proc~apply_mesh_kv->interface~split_key_value

Called by

proc~~apply_mesh_kv~~CalledByGraph proc~apply_mesh_kv apply_mesh_kv proc~load_toml_config load_toml_config proc~load_toml_config->proc~apply_mesh_kv proc~load_app_config load_app_config proc~load_app_config->proc~load_toml_config proc~load_or_init_run_state load_or_init_run_state proc~load_or_init_run_state->proc~load_app_config program~main main program~main->proc~load_or_init_run_state

Source Code

  subroutine apply_mesh_kv(cfg, line)
    type(app_config), intent(inout) :: cfg
    character(len=*), intent(in) :: line
    character(len=64) :: k
    character(len=256) :: v

    call split_key_value(line, k, v)
    select case (trim(k))
    case ('mode')
      call parse_string(v, cfg%mesh_mode)
    case ('obj_path')
      call parse_string(v, cfg%obj_path)
    case ('obj_scale')
      call parse_real(v, cfg%obj_scale)
    case ('obj_rotation')
      call parse_real3(v, cfg%obj_rotation)
    case ('obj_offset')
      call parse_real3(v, cfg%obj_offset)
    case default
      error stop 'Unknown key in [mesh]: '//trim(k)
    end select
  end subroutine apply_mesh_kv