[openrtm-users 00602] Re: 状態の遷移

Ando Noriaki n-ando @ aist.go.jp
2008年 9月 6日 (土) 16:37:53 JST


fuRo 清水様、静岡大 清水様

産総研 安藤です

> 静岡大 清水です
>
>> ものすごく初歩的なことかと思いますが、C++プログラム中
> にて状態を遷移させる
>> 方法についてで教えていただけますでしょうか?
>
> コンポーネント内部からなら、以下のようになるかと思います
>>
> ExecutionContext_var ec = this->get_context(0);
> ec->deactivate_component(this->getObjRef());

ありがとうございます。>静岡大清水様

ちょっとだけ補足しますと、get_context(0) の0の部分は本来
ExecutionContext(EC)のIDが入るので0でない場合もあります。
が、現在RTCは通常ECは1個しか持たず、IDは常に0なので、
上記のとおりでOKです。

ただし、onExecuteなど、ec_idを引数にとる関数でget_contextを
呼ぶ場合は、get_context(ec_id) としたほうがより安全です。
将来的には、ec_idが意味を持つ場面も出てくるかもしれませんので、
一応このことを覚えておいていただければ幸いです。

-- 
安藤慶昭@独立行政法人産業技術総合研究所 研究員
 知能システム研究部門 タスクインテリジェンス研究グループ
 〒305-8568 茨城県つくば市梅園1-1-1 中央第2
 TEL: 029-861-5981 FAX: 029-862-6631
 n-ando @ aist.go.jp, n-ando @ ieee.org



openrtm-users メーリングリストの案内