
Public メソッド | |
| XmlIF (MapManager *mgr) | |
| コンストラクタ。 | |
| void | setIOQueue (Queue_t *xmlq, Queue_t *resultq) |
| 入出力に用いるqueueを設定する。 | |
| void | emitDestination (const QPointF &pos) const |
| GUIから指定された目的地をXMLとして書き出す | |
| void | emitLocation (const QPointF &pos, qreal theta) const |
| GUIから指定された現在地XMLとして書き出す | |
| void | try_dequeue () |
| 入力queueをのぞき,有ればdequeして処理する。 timerから呼ばれる。 | |
| void | setPotentialRange (double pot_min, double pot_max) |
| Pseudo Color表示のための値をセット。 | |
| bool | processXml (const string &xml, bool ask_overwrite=false) |
| XML処理のエントリポイント。ヘッダをパースして下請け関数をdispatch | |
| bool | readXmlHeader (istream &is, baseRTC::Header &ihdr) |
| XMLのヘッダを読み込む | |
| void | invalidateCurpos () |
| 現在地を無効化 | |
| bool | getCurrentPos (QPointF &pos) const |
| 現在地が有れば返す | |
Static Public 変数 | |
| static const char | CURPOS_LAYER_NAME [] = "CurrentPosition" |
Private メソッド | |
| MapLayer * | mkDestinationLayer (const baseRTC::Header &hdr, istream &is) |
| 現在地layerを表す名前 | |
| MapLayer * | mkSelfPosLayer (const baseRTC::Header &hdr, istream &is) |
| processXmlの下請け関数。現在地レイヤーを生成 | |
| MapLayer * | mkPathLayer (const baseRTC::Header &hdr, istream &is) |
| processXmlの下請け関数。経路レイヤーを生成 | |
| MapLayer * | mkPotentialLayer (const baseRTC::Header &hdr, istream &is) |
| processXmlの下請け関数。ポテンシャルレイヤを作成 | |
| MapLayer * | mkGridMapLayer (const baseRTC::Header &hdr, istream &is) |
| processXmlの下請け関数。確率グリッドレイヤを作成 | |
| MapLayer * | proc_CommandString (const baseRTC::Header &hdr, istream &is) |
| processXmlの下請け関数。CommandStringのtypeを見て処理する。 | |
| MapLayer * | mkTextLayer (const string &arg) |
| proc_CommandStringの下請け関数。text layerを生成 | |
| void | calc_color_tbl () |
| 偽色表示のためのテーブル作成 | |
Private 変数 | |
| Queue_t * | xmlq_ |
| このqueueからxmlを読む | |
| Queue_t * | resultq_ |
| このqueueへ結果を出す | |
| MapManager * | mgr_ |
| 自分を生成したMapManagerへの参照 | |
| QVector< QRgb > | tbl_ |
| pseudo color table | |
| qreal | pot_min_ |
| 偽色表示の際,これ以下の値は最低値と見なし同色とする | |
| qreal | pot_max_ |
| 偽色表示の際,これ以上の値は最高値と見なし同色とする | |
| Localization | curpos_ |
| 現在位置 | |
| bool | have_cur_pos_ |
| 現在位置が設定されたかどうか | |
| time_t | last_path_time_ |
Static Private 変数 | |
| static const char | NAME [] = "MapViewer" |
| XML送信ヘッダのnameの値 | |
| static const int | N_COLOR_TBL_ENTRY = 1024 |
| カラーテーブルの大きさ | |
| MapManager::XmlIF::XmlIF | ( | MapManager * | mgr | ) |
コンストラクタ。
| [in] | 自身を生成したMapManagerへの参照 |
入出力に用いるqueueを設定する。
| [in] | xmlq | このクラスがxmlを読み込むqueue。RTCはこれに書き込む |
| [in] | resultq | このクラスが出力を書込むqueue RTCはここから読む |
| void MapManager::XmlIF::emitDestination | ( | const QPointF & | pos | ) | const |
GUIから指定された目的地をXMLとして書き出す
| [in] | pos | 書き出す目的地情報 |
| void MapManager::XmlIF::emitLocation | ( | const QPointF & | pos, | |
| qreal | theta | |||
| ) | const |
GUIから指定された現在地XMLとして書き出す
| [in] | pos | 書き出す目的地情報 |
| [in] | theta | 方位[rad] |
| void MapManager::XmlIF::try_dequeue | ( | ) |
入力queueをのぞき,有ればdequeして処理する。 timerから呼ばれる。
| void MapManager::XmlIF::setPotentialRange | ( | double | pot_min, | |
| double | pot_max | |||
| ) |
Pseudo Color表示のための値をセット。
| [in] | pot_min | これ以下のポテンシャルは最低値として同じ色にする |
| [in] | pot_max | これ以下のポテンシャルは最高値として同じ色にする |
| bool MapManager::XmlIF::processXml | ( | const string & | xml, | |
| bool | ask_overwrite = false | |||
| ) |
XML処理のエントリポイント。ヘッダをパースして下請け関数をdispatch
| [in] | xml | 処理するXMLが格納された文字列 |
| [in] | ask_overwrite | 同名のレイヤが有ったとき確認するかどうか |
| bool MapManager::XmlIF::readXmlHeader | ( | istream & | is, | |
| baseRTC::Header & | ihdr | |||
| ) |
XMLのヘッダを読み込む
| is | 入力ストリーム | |
| ihdr | ここにヘッダを読み込む |
| void MapManager::XmlIF::invalidateCurpos | ( | ) |
現在地を無効化
| bool MapManager::XmlIF::getCurrentPos | ( | QPointF & | pos | ) | const |
現在地が有れば返す
| [out] | pos | 現在地があればここに返される |
| false | 現在地は設定されていない。引数posは不変 | |
| true | 現在地が引数posに返された |
| MapLayer * MapManager::XmlIF::mkDestinationLayer | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
現在地layerを表す名前
processXmlの下請け関数。目的地レイヤーを生成
| [in] | hdr | 受信したヘッダ |
| [in] | is | XMLを読むためのストリーム |
| nonnull | 生成されたレイヤへのポインタ | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer * MapManager::XmlIF::mkSelfPosLayer | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
processXmlの下請け関数。現在地レイヤーを生成
| [in] | hdr | 受信したヘッダ |
| [in] | is | XMLを読むためのストリーム |
| nonnull | 生成されたレイヤへのポインタ | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer * MapManager::XmlIF::mkPathLayer | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
processXmlの下請け関数。経路レイヤーを生成
| [in] | is | XMLを読むためのストリーム |
| [in] | hdr | 受信したヘッダ |
| nonnull | 生成されたレイヤへのポインタ | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer * MapManager::XmlIF::mkPotentialLayer | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
processXmlの下請け関数。ポテンシャルレイヤを作成
| [in] | hdr | 受信したヘッダ |
| [in] | is | XMLを読むためのストリーム |
| nonnull | 生成されたレイヤへのポインタ | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer * MapManager::XmlIF::mkGridMapLayer | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
processXmlの下請け関数。確率グリッドレイヤを作成
| [in] | hdr | 受信したヘッダ |
| [in] | is | XMLを読むためのストリーム |
| nonnull | 生成されたレイヤへのポインタ | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer * MapManager::XmlIF::proc_CommandString | ( | const baseRTC::Header & | hdr, | |
| istream & | is | |||
| ) | [private] |
processXmlの下請け関数。CommandStringのtypeを見て処理する。
| [in] | hdr | 受信したヘッダ |
| [in] | is | XMLを読むためのストリーム |
| nonnull | 生成されたレイヤへのポインタ(もしあったら) | |
| NULL | パースエラーなどで生成されなかった場合 |
| MapLayer* MapManager::XmlIF::mkTextLayer | ( | const string & | arg | ) | [private] |
proc_CommandStringの下請け関数。text layerを生成
| [in] | arg | コマンドの引数文字列 |
| nonnull | 生成されたレイヤへのポインタ(もしあったら) | |
| NULL | パースエラーなどで生成されなかった場合 |
| void MapManager::XmlIF::calc_color_tbl | ( | ) | [private] |
偽色表示のためのテーブル作成
const char MapManager::XmlIF::CURPOS_LAYER_NAME = "CurrentPosition" [static] |
Queue_t* MapManager::XmlIF::xmlq_ [private] |
このqueueからxmlを読む
Queue_t* MapManager::XmlIF::resultq_ [private] |
このqueueへ結果を出す
MapManager* MapManager::XmlIF::mgr_ [private] |
自分を生成したMapManagerへの参照
const char MapManager::XmlIF::NAME = "MapViewer" [static, private] |
XML送信ヘッダのnameの値
const int MapManager::XmlIF::N_COLOR_TBL_ENTRY = 1024 [static, private] |
カラーテーブルの大きさ
QVector<QRgb> MapManager::XmlIF::tbl_ [private] |
pseudo color table
qreal MapManager::XmlIF::pot_min_ [private] |
偽色表示の際,これ以下の値は最低値と見なし同色とする
qreal MapManager::XmlIF::pot_max_ [private] |
偽色表示の際,これ以上の値は最高値と見なし同色とする
Localization MapManager::XmlIF::curpos_ [private] |
現在位置
bool MapManager::XmlIF::have_cur_pos_ [private] |
現在位置が設定されたかどうか
time_t MapManager::XmlIF::last_path_time_ [private] |
1.5.5