<div dir="ltr"><div>東京大学の小島と申します</div><div><br></div><div>私も同じようなことを悩んだことがありまして,ひょっとしたら菅さんが求めているものと異なるかもしれませんが,自分の見つけた解決法を共有させて頂きます</div><div><br></div><div>QEventLoop eventLoop;<br></div><div>で宣言したeventLoopに対して</div><div>bodyItem->notifyKinematicStateChange();</div><div>した直後に</div><div><div> eventLoop.processEvents();<br></div></div><div>を行うと,自分の環境ではシグナルが出されて貯まっているeventが全て消化されているように思います</div><div>直後に,collision等を取得すると情報が更新されているはずです.</div><div><br></div><div>他により適した方法があるかもしれませんが,参考までに.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017年1月8日 18:14 Yuki Suga <span dir="ltr"><<a href="mailto:ysuga@ysuga.net" target="_blank">ysuga@ysuga.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr" class="m_6933055240159887903gmail_msg">Choreonoid-MLの皆様:</div><div dir="ltr" class="m_6933055240159887903gmail_msg">お世話になります.SSR/早大の菅です.</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div><div dir="ltr" class="m_6933055240159887903gmail_msg">もっとコードを読めば良いのですが・・・<wbr>恥ずかしながらも質問です.</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div><div dir="ltr" class="m_6933055240159887903gmail_msg">Choreonoidで読み込んだモデルの姿勢を変えて干渉チェ<wbr>ックをして干渉に関する情報を返すRTCのプラグインを作ってい<wbr>ます.</div><div dir="ltr" class="m_6933055240159887903gmail_msg">サービスポートで受け取った関節角度を対象としているモデルに入<wbr>れてから,</div><div dir="ltr" class="m_6933055240159887903gmail_msg">WorldItemのcollisionsを使って干渉データを<wbr>取り出すことができると考えているのですが,</div><div dir="ltr" class="m_6933055240159887903gmail_msg">関節角度を送ってからnotifyKinematicState<wbr>Changeを送っても即座には関節(ひいては干渉チェック)<wbr>に反映されないようです(それが仕様だと思います)</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div><div dir="ltr" class="m_6933055240159887903gmail_msg">マニュアル通りにシグナルで受け取ってもいいのですが,<wbr>サービスとして実装しているので,</div><div dir="ltr" class="m_6933055240159887903gmail_msg">シグナルが送ってくるまで処理を待つという処理が必要になり無駄<wbr>と感じています.</div><div dir="ltr" class="m_6933055240159887903gmail_msg">この処理はサービスコール内で処理をしているので,<wbr>Choreonoid内部のスレッドとは別のスレッドで動いてい<wbr>ます(動いているはずです)</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div><div dir="ltr" class="m_6933055240159887903gmail_msg">無理矢理,<wbr>関節角度の更新と干渉データのアップデートを促すには,</div><div dir="ltr" class="m_6933055240159887903gmail_msg">プラグインの中でどのように処理をしたら良いのでしょうか?</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div><div dir="ltr" class="m_6933055240159887903gmail_msg">お教えください.よろしくお願いします.</div><div dir="ltr" class="m_6933055240159887903gmail_msg"><br></div></div>
<br>______________________________<wbr>_________________<br>
choreonoid-users-ja mailing list<br>
<a href="mailto:choreonoid-users-ja@choreonoid.org">choreonoid-users-ja@<wbr>choreonoid.org</a><br>
<a href="https://choreonoid.org/mailman/listinfo/choreonoid-users-ja" rel="noreferrer" target="_blank">https://choreonoid.org/<wbr>mailman/listinfo/choreonoid-<wbr>users-ja</a><br>
<br></blockquote></div><br></div>