#include <gnav.h>
Public 型 | |
typedef RTC::CorbaConsumer < RGIS::RTComp::MapService > | MapService_t |
MapService_t RGISのMapServiceオブジェクトを表す型 | |
typedef RTC::CorbaConsumer < RGIS::RTComp::RouteService > | RouteService_t |
RouteService_t RGISのRouteServiceオブジェクトを表す型 | |
Public メソッド | |
GNav (MapService_t &ms, RouteService_t &rs) | |
constructor. | |
virtual | ~GNav () |
destructor. | |
void | initialize () |
初期状態に復帰 | |
void | readConfigFrom (const ConfigData &cd) |
設定の読み込み. | |
bool | setDestination (const RGIS::PntC &dest, std::queue< std::string > &resultq) |
目的地を設定する. | |
bool | setCurrentPos (const CurPos &curpos, std::queue< std::string > &resultq) |
現在位置を設定する. | |
bool | processXml (const std::string &xml, std::queue< std::string > &resultq) |
入力されたXMLを処理し,適切なコマンドを起動する。 | |
bool | getDestination (RGIS::PntC &dest) const |
目的地が設定されていれば,それを返す。 | |
bool | getCurrentPos (CurPos &curpos) const |
現在地が設定されていれば,それを返す. | |
template<class Serializable> | |
bool | writeWithHeader (const Serializable &s, const string &tag, ostream &os) |
Private メソッド | |
template<class Serializable> | |
bool | writeWithHeader (const Serializable &s, const std::string &tag, std::ostream &os) |
オブジェクトを適切なヘッダとともにストリームに書き込む. | |
bool | cmd_setDestination (std::istream &is, std::queue< std::string > &resultq, const baseRTC::Header &ihdr) |
目的地の設定。processXmlからコールされる. | |
bool | cmd_setCurrentPos (std::istream &is, std::queue< std::string > &resultq, const baseRTC::Header &ihdr) |
現在位置の設定。processXmlからコールされる. | |
bool | cmd_saveGridMap (std::istream &is, std::queue< std::string > &resultq, const baseRTC::Header &ihdr) |
確率グリッドマップの保存。processXmlからコールされる. | |
bool | cmd_commandString (std::istream &is, std::queue< std::string > &resultq, const baseRTC::Header &ihdr) |
文字列コマンドの処理。processXmlからコールされる. | |
Private 変数 | |
boost::shared_ptr< ServiceIF > | sif_ |
ServiceIF へのスマートポインタ | |
std::string | id_ |
出力Headerのidフィールドに対応する文字列 | |
Static Private 変数 | |
static const char | TAG_SHORTEST_PATH [] = "ShortestPath" |
static const char | NAME [] = "GlobalNavigationRTC" |
出力Headerのnameフィールドに対応する文字列 |
大経路計画のサービスを行う。GlobalNavigationRTC に対してサービスの インターフェースを提供する。ServiceIF のインスタンスを所有し,実際 のRGISとの通信は ServiceIF のインスタンスが行う。 GNav はXMLを処理し,ServiceIFのコマンドを起動する。
RTC::CorbaConsumer< RGIS::RTComp::MapService > GNav::MapService_t |
MapService_t RGISのMapServiceオブジェクトを表す型
RTC::CorbaConsumer< RGIS::RTComp::RouteService > GNav::RouteService_t |
RouteService_t RGISのRouteServiceオブジェクトを表す型
GNav::GNav | ( | MapService_t & | ms, | |
RouteService_t & | rs | |||
) |
constructor.
[in] | ms | MapServicePortへの参照 |
[in] | rs | RouteServicePortへの参照 |
virtual GNav::~GNav | ( | ) | [inline, virtual] |
destructor.
何もしない。念のためpublic virtualとして宣言のみしておく
void GNav::initialize | ( | ) |
初期状態に復帰
void GNav::readConfigFrom | ( | const ConfigData & | cd | ) |
設定の読み込み.
[in] | cd | 設定をここから読む |
bool GNav::setDestination | ( | const RGIS::PntC & | dest, | |
std::queue< std::string > & | resultq | |||
) |
目的地を設定する.
[in] | dest | 設定する目的地 |
[out] | resultq | XML出力の結果が格納される。ここではPotentialGrid |
bool GNav::setCurrentPos | ( | const CurPos & | curpos, | |
std::queue< std::string > & | resultq | |||
) |
現在位置を設定する.
[in] | curpos | 設定する目的地 |
[out] | resultq | XML出力の結果が格納される。ここではPath |
bool GNav::processXml | ( | const std::string & | xml, | |
std::queue< std::string > & | resultq | |||
) |
入力されたXMLを処理し,適切なコマンドを起動する。
[in] | xml文字列。(シリアライズされたオブジェクト) | |
[out] | resultq | XML出力の結果が格納される。 |
bool GNav::getDestination | ( | RGIS::PntC & | dest | ) | const |
目的地が設定されていれば,それを返す。
[out] | dest | 目的地があればここに格納される |
bool GNav::getCurrentPos | ( | CurPos & | curpos | ) | const |
現在地が設定されていれば,それを返す.
[out] | curpos | 現在地があればここに格納される |
bool GNav::writeWithHeader | ( | const Serializable & | s, | |
const std::string & | tag, | |||
std::ostream & | os | |||
) | [inline, private] |
オブジェクトを適切なヘッダとともにストリームに書き込む.
Serializable | シリアライズ可能クラス |
[in] | s | シリアライズしたいオブジェクト |
[in] | tag | ヘッダ中のtagフィールド |
[in] | os | 書込み先ストリーム |
bool GNav::cmd_setDestination | ( | std::istream & | is, | |
std::queue< std::string > & | resultq, | |||
const baseRTC::Header & | ihdr | |||
) | [private] |
目的地の設定。processXmlからコールされる.
[in] | is | 入力のオブジェクトをここからデシリアライズする |
[out] | resultq | 結果のオブジェクトをシリアライズして書くqueue |
[in] | ihdr | RTCヘッダ |
bool GNav::cmd_setCurrentPos | ( | std::istream & | is, | |
std::queue< std::string > & | resultq, | |||
const baseRTC::Header & | ihdr | |||
) | [private] |
現在位置の設定。processXmlからコールされる.
[in] | is | 入力のオブジェクトをここからデシリアライズする |
[out] | resultq | 結果のオブジェクトをシリアライズして書くqueue |
[in] | ihdr | RTCヘッダ |
bool GNav::cmd_saveGridMap | ( | std::istream & | is, | |
std::queue< std::string > & | resultq, | |||
const baseRTC::Header & | ihdr | |||
) | [private] |
確率グリッドマップの保存。processXmlからコールされる.
[in] | is | 入力のオブジェクトをここからデシリアライズする |
[out] | resultq | 結果のオブジェクトをシリアライズして書くqueue |
[in] | ihdr | RTCヘッダ |
bool GNav::cmd_commandString | ( | std::istream & | is, | |
std::queue< std::string > & | resultq, | |||
const baseRTC::Header & | ihdr | |||
) | [private] |
文字列コマンドの処理。processXmlからコールされる.
[in] | is | 入力のオブジェクトをここからデシリアライズする |
[out] | resultq | 結果のオブジェクトをシリアライズして書くqueue |
[in] | ihdr | RTCヘッダ |
bool GNav::writeWithHeader | ( | const Serializable & | s, | |
const string & | tag, | |||
ostream & | os | |||
) | [inline] |
const char GNav::TAG_SHORTEST_PATH = "ShortestPath" [static, private] |
const char GNav::NAME = "GlobalNavigationRTC" [static, private] |
出力Headerのnameフィールドに対応する文字列
boost::shared_ptr<ServiceIF> GNav::sif_ [private] |
ServiceIF へのスマートポインタ
std::string GNav::id_ [private] |
出力Headerのidフィールドに対応する文字列