ATCFS
 全て クラス 名前空間 ファイル 関数 変数 型定義 マクロ定義 ページ
クラス | 公開メンバ関数 | 公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
Atc クラス

ATC-1, ATC-2, ATC-NS, KS-ATC, DS-ATCを再現するクラス [詳解]

#include <Atc.h>

Atc の継承関係図
Inheritance graph
[凡例]
Atc 連携図
Collaboration graph
[凡例]

クラス

class  AtcA
 ATC-1, ATC-2を再現するクラス [詳解]
 
class  AtcD
 ATC-NS, KS-ATC, DS-ATCを再現するクラス [詳解]
 
class  Fuzzy
 予見Fuzzy制御を再現するクラス [詳解]
 

公開メンバ関数

 Atc (void)
 
virtual ~Atc (void)
 
void InitNS (void)
 Initializeで実行する関数 [詳解]
 
void StartNS (void)
 ATCを投入する際に実行する関数 [詳解]
 
void ExitNS (void)
 ATCを遮断する際に実行する関数 [詳解]
 
void ChangedSignalNS (int signal)
 SetSignalで実行される関数 [詳解]
 
void PassedBeaconNS (int index, int signal, float distance, int optional)
 SetBeaconDataで実行される関数 [詳解]
 
void ResetSwDownNS (void)
 確認ボタンが押下された際に実行する関数 [詳解]
 
void ResetSwUpNS (void)
 確認ボタンが開放された際に実行する関数 [詳解]
 
void ExeNS (void)
 Elapseで実行する関数 [詳解]
 

公開変数類

int ServiceNotch
 常用最大ブレーキノッチ(HBを含む) [詳解]
 
int AtsNotch
 ATS確認ノッチ(B1) [詳解]
 
const float * TrainSpeed
 列車速度[km/h] [詳解]
 
const float * Accel
 加速度[km/h/s] [詳解]
 
const int * Time
 ゲーム内時刻[ms] [詳解]
 
const int * BrakeNotch
 出力ブレーキノッチ(HBを含む) [詳解]
 
const int * ManualBrakeNotch
 手動ブレーキノッチ(HBを含む) [詳解]
 
const int * PowerNotch
 出力力行ノッチ [詳解]
 
double Location
 列車位置[m] [詳解]
 
float max_deceleration_
 常用最大減速度[km/h/s] [詳解]
 
int atc_power_
 ATC電源(0: 消灯, 1: 点灯) [詳解]
 
int atc_use_
 ATC(0: 消灯, 1: 点灯) [詳解]
 
int atc_type_
 ATC方式(0: ATC-1, 1: ATC-2, 2: ATC-NS, 3: KS-ATC, 4: DS-ATC) [詳解]
 
int atc_max_spd_
 車両ATC最高速度[km/h] [詳解]
 
boost::array< int, ALL_SIGNALatc_spd_list_
 信号インデックスに対応する速度[km/h] [詳解]
 
boost::array< float, BRAKE_STEPatc_deceleration_
 ATCブレーキ減速度[km/h/s]. [詳解]
 
int atc_reset_sw_
 確認ボタンの状態(0: 開放, 1: 押下) [詳解]
 
int atc_brake_notch_
 ATC出力ブレーキノッチ(HBを含まない) [詳解]
 
int atc_red_signal_
 停止現示(0: 消灯, 1: 点灯) [詳解]
 
int atc_green_signal_
 進行現示(0: 消灯, 1: 点灯) [詳解]
 
boost::array< int, ALL_SIGNALatc_sig_indicator_
 ATC速度表示インジケータ(0: 消灯, 1: 点灯) [詳解]
 
boost::array< int, 3 > atc_spd_7seg_
 7セグ用ATC速度表示 [詳解]
 
int atc_signal_index_
 ATC速度に対応する信号インデックス [詳解]
 
int atc_spd_
 ATC速度[km/h]. [詳解]
 
int dsatc_arrow_spd_
 DS-ATC用パターン照査速度[km/h]. [詳解]
 
boost::array< int, 3 > sub_spd_label_1_
 副速度計用目盛 ATC速度-20 km/h [詳解]
 
boost::array< int, 3 > sub_spd_label_2_
 副速度計用目盛 ATC速度-10 km/h [詳解]
 
boost::array< int, 3 > sub_spd_label_3_
 副速度計用目盛 ATC速度 [詳解]
 
boost::array< int, 3 > sub_spd_label_4_
 副速度計用目盛 ATC速度+10 km/h [詳解]
 
int sub_atc_spd_
 副速度計用 ATC速度[km/h] [詳解]
 
int sub_train_spd_
 副速度計用 列車速度[km/h] [詳解]
 
float lever_delay_
 ブレーキハンドルの操作から指令出力までの遅れ時間[s] [詳解]
 
int atc_ding_
 ATCベルの状態 [詳解]
 
int reset_sw_up_sound_
 確認ボタンの解放音の状態 [詳解]
 
int reset_sw_down_sound_
 確認ボタンの押下音の状態 [詳解]
 
int atc_eb_lamp_
 ATC非常(0: 消灯, 1: 点灯) [詳解]
 
int atc_svc_lamp_
 ATC常用(0: 消灯, 1: 点灯) [詳解]
 
float Xe
 減速完了地点からの許容誤差[m] [詳解]
 
float Xo
 減速完了地点からの過走限界距離[m] [詳解]
 
float Xk
 XeおよびXoを高速域で拡大させる係数 [詳解]
 

非公開メンバ関数

int SearchSignal (int spd)
 速度に対応する信号インデックスを返す関数 [詳解]
 
int ItoV (int index)
 信号インデックスを速度に変換する関数 [詳解]
 
int ItoV (int index, bool is_display)
 信号インデックスを速度に変換する関数 [詳解]
 
void Reset (void)
 ATC-1, 2, NSにおいて確認扱いの判定を行う関数 [詳解]
 
void SetPatternList (void)
 デジタルATC用速度照査パターンを作成する関数 [詳解]
 
void ChangedAtcType (int atc_type)
 ATC方式を切り替える関数 [詳解]
 
void PassedLoop (int signal)
 ATC-1, 2, NSにおいて停止限界(ループコイル)を通過した際に実行する関数 [詳解]
 
int SearchPattern (float distance)
 距離に対応する速度を返す関数 [詳解]
 
void ValidPattern (int &tget_spd, int pattern_status)
 パターンが無効の場合に目標速度を車両ATC最高速度に修正する関数 [詳解]
 
int CalcPatternSpd (int tget_spd, float pattern_end_loc)
 パターン照査速度を算出する関数 [詳解]
 
float CalcPatternLoc (int tget_spd, float pattern_end_loc, int pattern_status)
 パターン降下開始地点を算出する関数 [詳解]
 
void CollectPattern (void)
 パターン情報を集約する関数 [詳解]
 
void CalcPattern (void)
 各パターン情報からパターン照査速度およびパターン降下開始地点を算出する関数 [詳解]
 
void ChangedArrowSignal (void)
 デジタルATC用車内信号を生成する関数 [詳解]
 
int CalcBrake (int index, int tget_spd, float pattern_start_loc, float pattern_end_loc)
 パターンに対する最適ブレーキノッチを出力する関数 [詳解]
 
int SelectBrake (void)
 全パターンに対する最大の最適ブレーキノッチを出力する関数 [詳解]
 
int NonFuzzyCtrExe (void)
 予見Fuzzy制御ではないブレーキノッチを出力する関数 [詳解]
 
void BrakeExeA (void)
 アナログATC用のブレーキノッチを出力する関数 [詳解]
 
void BrakeExeD (void)
 デジタルATC用のブレーキノッチを出力する関数 [詳解]
 
void DisplaySpd (int spd, boost::array< int, 3 > &display_spd)
 速度を7セグに表示する関数 [詳解]
 
void ResetIndicatorNS (void)
 インジケーターの表示を初期化する関数 [詳解]
 
void RunIndicatorNS (void)
 インジケーターの表示を実行する関数 [詳解]
 
void RunIndicatorA (void)
 アナログATC用インジケーターの表示を実行する関数 [詳解]
 
void RunIndicatorD (void)
 デジタルATC用インジケーターの表示を実行する関数 [詳解]
 
void RunSubSpeedometer (void)
 副速度計の表示を実行する関数 [詳解]
 
void PlaySound (void)
 サウンドを再生する関数 [詳解]
 
- 基底クラス Base に属する継承非公開メンバ関数
template<typename T >
VectorGetOrDefault (const boost::container::vector< T > &v, int index, char *file, char *func, int line)
 vectorコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解]
 
template<typename T , std::size_t N>
ArrayGetOrDefault (const boost::array< T, N > &a, int index, char *file, char *func, int line)
 arrayコンテナへの範囲外アクセス時にデフォルト値を返す関数 [詳解]
 
template<typename T >
VectorTryGet (const boost::container::vector< T > &v, int index, char *file, char *func, int line)
 
template<typename T , std::size_t N>
ArrayTryGet (const boost::array< T, N > &a, int index, char *file, char *func, int line)
 

非公開変数類

int max_brake_notch_
 常用最大ブレーキノッチ(HBを含まない) [詳解]
 
int brake_notch_
 出力ブレーキノッチ(HBを含まない) [詳解]
 
boost::array< int, BRAKE_STEPdefault_notch_
 標準ブレーキノッチ [詳解]
 
int max_signal_
 車両ATC最高速度に対応する信号インデックス [詳解]
 
boost::container::vector< double > pattern_list_
 デジタルATC用速度照査パターン [詳解]
 
int next_reset_sw_down_sound_
 1フレーム後の確認ボタンの押下音の状態 [詳解]
 
int next_reset_sw_up_sound_
 1フレーム後の確認ボタンの開放音の状態 [詳解]
 
boost::array< float, ALL_PATTERNpattarn_end_loc_list_
 全パターンの減速完了地点[m] [詳解]
 
boost::array< int, ALL_PATTERNpattern_is_valid_list_
 全パターンの状態(0: 無効, 1: 有効) [詳解]
 
boost::array< int, ALL_PATTERNpattern_tget_spd_list_
 全パターンの目標速度[km/h] [詳解]
 
boost::array< int, ALL_PATTERNpattern_arrow_spd_list_
 全パターンのパターン照査速度[km/h] [詳解]
 
boost::array< float, ALL_PATTERNpattern_start_loc_list_
 全パターンのパターン降下開始地点[m] [詳解]
 
int debug_timer_
 Debug出力する次のゲーム内時刻[ms]. [詳解]
 
int brake_timer_
 ブレーキノッチを変更する次のゲーム内時刻[ms] [詳解]
 
boost::scoped_ptr< AtcAatc_a_
 
boost::scoped_ptr< AtcDatc_d_
 
boost::scoped_ptr< Fuzzyfuzzy_
 

詳解

ATC-1, ATC-2, ATC-NS, KS-ATC, DS-ATCを再現するクラス

構築子と解体子

Atc::Atc ( void  )
Atc::~Atc ( void  )
virtual

関数詳解

void Atc::BrakeExeA ( void  )
private

アナログATC用のブレーキノッチを出力する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::BrakeExeD ( void  )
private

デジタルATC用のブレーキノッチを出力する関数

呼び出し関係図:

被呼び出し関係図:

int Atc::CalcBrake ( int  index,
int  tget_spd,
float  pattern_start_loc,
float  pattern_end_loc 
)
private

パターンに対する最適ブレーキノッチを出力する関数

引数
indexパターン番号
tget_spd目標速度[km/h]
pattern_start_locパターン降下開始地点[m]
pattern_end_loc減速完了地点[m]
戻り値
最適ブレーキノッチ

被呼び出し関係図:

void Atc::CalcPattern ( void  )
private

各パターン情報からパターン照査速度およびパターン降下開始地点を算出する関数

呼び出し関係図:

被呼び出し関係図:

float Atc::CalcPatternLoc ( int  tget_spd,
float  pattern_end_loc,
int  pattern_status 
)
private

パターン降下開始地点を算出する関数

引数
tget_spd目標速度[km/h]
pattern_end_loc減速完了地点[m]
pattern_statusパターン状態(0: 無効, 1: 有効)
戻り値
パターン降下開始地点[m]

呼び出し関係図:

被呼び出し関係図:

int Atc::CalcPatternSpd ( int  tget_spd,
float  pattern_end_loc 
)
private

パターン照査速度を算出する関数

減速完了地点内方は目標速度のフラットパターンとなる

引数
tget_spd目標速度[km/h]
pattern_end_loc減速完了地点[m]
戻り値
パターン照査速度[km/h]

呼び出し関係図:

被呼び出し関係図:

void Atc::ChangedArrowSignal ( void  )
private

デジタルATC用車内信号を生成する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::ChangedAtcType ( int  atc_type)
private

ATC方式を切り替える関数

引数
atc_typeATC方式

被呼び出し関係図:

void Atc::ChangedSignalNS ( int  signal)

SetSignalで実行される関数

引数
signal現在のセクションの信号番号

被呼び出し関係図:

void Atc::CollectPattern ( void  )
private

パターン情報を集約する関数

被呼び出し関係図:

void Atc::DisplaySpd ( int  spd,
boost::array< int, 3 > &  display_spd 
)
private

速度を7セグに表示する関数

引数
spd速度[km/h]
display_spd速度を表示する配列

被呼び出し関係図:

void Atc::ExeNS ( void  )

Elapseで実行する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::ExitNS ( void  )

ATCを遮断する際に実行する関数

呼び出し関係図:

void Atc::InitNS ( void  )

Initializeで実行する関数

呼び出し関係図:

被呼び出し関係図:

int Atc::ItoV ( int  index)
private

信号インデックスを速度に変換する関数

ATC-1のみ220km/h以上300km/h未満は"対応速度+5km/h"、300km/h以上は"対応速度+3km/h"を返す

引数
index信号インデックス
戻り値
信号インデックスに対応する速度[km/h]

呼び出し関係図:

被呼び出し関係図:

int Atc::ItoV ( int  index,
bool  is_display 
)
private

信号インデックスを速度に変換する関数

is_display が偽かつATC-1のみ220km/h以上300km/h未満は"対応速度+5km/h"、300km/h以上は"対応速度+3km/h"を返す

引数
index信号インデックス
is_displayパネル表示用かどうか
戻り値
信号インデックスに対応する速度[km/h]

呼び出し関係図:

int Atc::NonFuzzyCtrExe ( void  )
private

予見Fuzzy制御ではないブレーキノッチを出力する関数

戻り値
ブレーキノッチ

被呼び出し関係図:

void Atc::PassedBeaconNS ( int  index,
int  signal,
float  distance,
int  optional 
)

SetBeaconDataで実行される関数

引数
index地上子種別
signal対となるセクションの信号番号
distance対となるセクションまでの距離[m]
optional地上子に設定された任意の値

呼び出し関係図:

被呼び出し関係図:

void Atc::PassedLoop ( int  signal)
private

ATC-1, 2, NSにおいて停止限界(ループコイル)を通過した際に実行する関数

信号番号が0の際に03信号を発信する

引数
signal対となるセクションの信号番号

被呼び出し関係図:

void Atc::PlaySound ( void  )
private

サウンドを再生する関数

被呼び出し関係図:

void Atc::Reset ( void  )
private

ATC-1, 2, NSにおいて確認扱いの判定を行う関数

ATC-03信号の場合は列車速度が0km/h、ATC-30信号の場合は30km/h以下である場合、ブレーキ開放フラグがONになる

被呼び出し関係図:

void Atc::ResetIndicatorNS ( void  )
private

インジケーターの表示を初期化する関数

被呼び出し関係図:

void Atc::ResetSwDownNS ( void  )

確認ボタンが押下された際に実行する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::ResetSwUpNS ( void  )

確認ボタンが開放された際に実行する関数

被呼び出し関係図:

void Atc::RunIndicatorA ( void  )
private

アナログATC用インジケーターの表示を実行する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::RunIndicatorD ( void  )
private

デジタルATC用インジケーターの表示を実行する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::RunIndicatorNS ( void  )
private

インジケーターの表示を実行する関数

呼び出し関係図:

被呼び出し関係図:

void Atc::RunSubSpeedometer ( void  )
private

副速度計の表示を実行する関数

呼び出し関係図:

被呼び出し関係図:

int Atc::SearchPattern ( float  distance)
private

距離に対応する速度を返す関数

指定された距離の近似値に対応する速度を検索する

引数
distance距離[m]
戻り値
距離に対応する速度[km/h]

被呼び出し関係図:

int Atc::SearchSignal ( int  spd)
private

速度に対応する信号インデックスを返す関数

指定された速度以下の近似値に対応する信号インデックスを検索する

引数
spd速度[km/h]
戻り値
速度に対応する信号インデックス

被呼び出し関係図:

int Atc::SelectBrake ( void  )
private

全パターンに対する最大の最適ブレーキノッチを出力する関数

戻り値
最適ブレーキノッチ

呼び出し関係図:

被呼び出し関係図:

void Atc::SetPatternList ( void  )
private

デジタルATC用速度照査パターンを作成する関数

被呼び出し関係図:

void Atc::StartNS ( void  )

ATCを投入する際に実行する関数

呼び出し関係図:

void Atc::ValidPattern ( int &  tget_spd,
int  pattern_status 
)
private

パターンが無効の場合に目標速度を車両ATC最高速度に修正する関数

引数
tget_spd目標速度[km/h]
pattern_statusパターン状態(0: 無効, 1: 有効)

被呼び出し関係図:

メンバ詳解

const float* Atc::Accel

加速度[km/h/s]

boost::scoped_ptr<AtcA> Atc::atc_a_
private
int Atc::atc_brake_notch_

ATC出力ブレーキノッチ(HBを含まない)

boost::scoped_ptr<AtcD> Atc::atc_d_
private
boost::array<float, BRAKE_STEP> Atc::atc_deceleration_

ATCブレーキ減速度[km/h/s].

int Atc::atc_ding_

ATCベルの状態

int Atc::atc_eb_lamp_

ATC非常(0: 消灯, 1: 点灯)

int Atc::atc_green_signal_

進行現示(0: 消灯, 1: 点灯)

int Atc::atc_max_spd_

車両ATC最高速度[km/h]

int Atc::atc_power_

ATC電源(0: 消灯, 1: 点灯)

int Atc::atc_red_signal_

停止現示(0: 消灯, 1: 点灯)

int Atc::atc_reset_sw_

確認ボタンの状態(0: 開放, 1: 押下)

boost::array<int, ALL_SIGNAL> Atc::atc_sig_indicator_

ATC速度表示インジケータ(0: 消灯, 1: 点灯)

int Atc::atc_signal_index_

ATC速度に対応する信号インデックス

int Atc::atc_spd_

ATC速度[km/h].

boost::array<int, 3> Atc::atc_spd_7seg_

7セグ用ATC速度表示

boost::array<int, ALL_SIGNAL> Atc::atc_spd_list_

信号インデックスに対応する速度[km/h]

int Atc::atc_svc_lamp_

ATC常用(0: 消灯, 1: 点灯)

int Atc::atc_type_

ATC方式(0: ATC-1, 1: ATC-2, 2: ATC-NS, 3: KS-ATC, 4: DS-ATC)

int Atc::atc_use_

ATC(0: 消灯, 1: 点灯)

int Atc::AtsNotch

ATS確認ノッチ(B1)

int Atc::brake_notch_
private

出力ブレーキノッチ(HBを含まない)

int Atc::brake_timer_
private

ブレーキノッチを変更する次のゲーム内時刻[ms]

const int* Atc::BrakeNotch

出力ブレーキノッチ(HBを含む)

int Atc::debug_timer_
private

Debug出力する次のゲーム内時刻[ms].

boost::array<int, BRAKE_STEP> Atc::default_notch_
private

標準ブレーキノッチ

int Atc::dsatc_arrow_spd_

DS-ATC用パターン照査速度[km/h].

boost::scoped_ptr<Fuzzy> Atc::fuzzy_
private
float Atc::lever_delay_

ブレーキハンドルの操作から指令出力までの遅れ時間[s]

double Atc::Location

列車位置[m]

const int* Atc::ManualBrakeNotch

手動ブレーキノッチ(HBを含む)

int Atc::max_brake_notch_
private

常用最大ブレーキノッチ(HBを含まない)

float Atc::max_deceleration_

常用最大減速度[km/h/s]

int Atc::max_signal_
private

車両ATC最高速度に対応する信号インデックス

int Atc::next_reset_sw_down_sound_
private

1フレーム後の確認ボタンの押下音の状態

int Atc::next_reset_sw_up_sound_
private

1フレーム後の確認ボタンの開放音の状態

boost::array<float, ALL_PATTERN> Atc::pattarn_end_loc_list_
private

全パターンの減速完了地点[m]

boost::array<int, ALL_PATTERN> Atc::pattern_arrow_spd_list_
private

全パターンのパターン照査速度[km/h]

boost::array<int, ALL_PATTERN> Atc::pattern_is_valid_list_
private

全パターンの状態(0: 無効, 1: 有効)

boost::container::vector<double> Atc::pattern_list_
private

デジタルATC用速度照査パターン

boost::array<float, ALL_PATTERN> Atc::pattern_start_loc_list_
private

全パターンのパターン降下開始地点[m]

boost::array<int, ALL_PATTERN> Atc::pattern_tget_spd_list_
private

全パターンの目標速度[km/h]

const int* Atc::PowerNotch

出力力行ノッチ

int Atc::reset_sw_down_sound_

確認ボタンの押下音の状態

int Atc::reset_sw_up_sound_

確認ボタンの解放音の状態

int Atc::ServiceNotch

常用最大ブレーキノッチ(HBを含む)

int Atc::sub_atc_spd_

副速度計用 ATC速度[km/h]

boost::array<int, 3> Atc::sub_spd_label_1_

副速度計用目盛 ATC速度-20 km/h

boost::array<int, 3> Atc::sub_spd_label_2_

副速度計用目盛 ATC速度-10 km/h

boost::array<int, 3> Atc::sub_spd_label_3_

副速度計用目盛 ATC速度

boost::array<int, 3> Atc::sub_spd_label_4_

副速度計用目盛 ATC速度+10 km/h

int Atc::sub_train_spd_

副速度計用 列車速度[km/h]

const int* Atc::Time

ゲーム内時刻[ms]

const float* Atc::TrainSpeed

列車速度[km/h]

float Atc::Xe

減速完了地点からの許容誤差[m]

float Atc::Xk

XeおよびXoを高速域で拡大させる係数

float Atc::Xo

減速完了地点からの過走限界距離[m]


このクラス詳解は次のファイルから抽出されました: