[openrtm-users 02702] Re: RTC::Time

Ando Noriaki n-ando @ aist.go.jp
2012年 10月 31日 (水) 20:41:03 JST


安藤です

RTC::Timeにはoperator+やoperator-は定義されていませんが、
coil:TimeValueには定義されていますので加減算可能です。
RTC:TimeはCORBAで定義されている型なので、
operator+-は定義できませんが、提示して下さったように一旦
coil::TimeValueに入れて計算するのがいいと思います。

RTC::Timeとcoil::TimeValueのキャスト演算子(でしたっけ?)を定義
しておくのが親切かとも思いますが、coil:TimeValueがRTC::Time
に依存するの変なので、単純に変換関数でも定義しておけばいいでしょうかね?

2012年10月31日 16:29 Kei Okada <k-okada @ jsk.t.u-tokyo.ac.jp>:
> 岡田です.
>
>   TimedAngularVelocity3D m_rate;
> みたいな変数があったとして,その時刻(m_rate.tm)の加減算をしたいとおもっています.
> ぐたいてきには,例えば最初に呼ばれたときの時刻を覚えておいて,つぎからはその時刻に
> 対する相対時間を知りたいのですが, RTC::Time の+-などのオペレータはないですよね.
> どのようなコードをかくのが一般的でしょうか.よい方法があれば教えてください.
>
> onExecute() {
> ...
>       static coil::TimeValue tm_start, tm;
>       if ( double(tm_start) == 0 ) tm_start = m_rate.tm.sec +
> m_rate.tm.nsec/1000000000.0;
>
>       tm = coil::TimeValue(m_rate.tm.sec, m_rate.tm.nsec/1000) - tm_start;
>       m_rate.tm.sec = tm.sec(); m_rate.tm.nsec = tm.usec()*1000;
> }
> _______________________________________________
> openrtm-users mailing list
> openrtm-users @ openrtm.org
> http://www.openrtm.org/mailman/listinfo/openrtm-users



-- 
安藤慶昭@独立行政法人産業技術総合研究所 知能システム研究部門
    統合知能研究グループ 主任研究員, 博士(工学)
    〒305-8568 つくば市梅園1-1-1 中央第2
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org

Noriaki Ando, Ph.D.
    Senior Research Scientist, RT-Synthesis R.G., ISRI, AIST
    AIST Tsukuba Central 2, Tsukuba, Ibaraki 305-8568 JAPAN
    e-mail: n-ando @ aist.go.jp, web: http://staff.aist.go.jp/n-ando
    OpenRTM-aist: http://www.openrtm.org


More information about the openrtm-users mailing list