-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cascaded-linkのjoint-listやlinksの要素を追加・削除したい #641
Comments
Lines 790 to 802 in 69be3cf
次のようにすれば、:dissocしたリンクl3が元の位置に戻らなくなります。 (defun take-out-tray nil
(let (r l)
(setq r (instance fridge :init))
(objects (list r))
(dotimes (i 45)
(send r :angle-vector (float-vector i 0))
(send *irtviewer* :draw-objects)
(x::window-main-one))
(dotimes (i 40)
(send r :angle-vector (float-vector 45 (- 0 i)))
(send *irtviewer* :draw-objects)
(x::window-main-one))
(dotimes (i 40)
(send r :angle-vector (float-vector 45 (+ -40 i)))
(send *irtviewer* :draw-objects)
(x::window-main-one))
(setq l (elt (send r :links) 2))
(send (send l :parent) :dissoc l)
(delete (send l :joint) (send r :joint-list))
(send l :del-joint)
(send (send l :parent-link) :del-child-link l)
(send l :del-parent-link)
(delete l (send r :links))
(dotimes (i 15)
(send l :locate #f(0 0 1))
(send *irtviewer* :draw-objects)
(x::window-main-one))
(dotimes (i 45)
(send r :angle-vector (float-vector (- 45 i) 0))
(send *irtviewer* :draw-objects)
(x::window-main-one))
)) ただ、cascaded-linkのjoint-listやlinksの要素を追加・削除することはあまり想定されておらず、容易に操作できるようにはなっていないため、初めからl3をcascaded-linkとは別に定義しておいて、 |
できるようになりました。ありがとうございます。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
cascaded-linkでは、joint-listやlinksを:init以外で追加したり、削除したりすることは可能でしょうか。
具体的には、以下のコードで、(send (send (car (cdr (cdr (send r :links)))) :parent) :dissoc (car (cdr (cdr (send r :links)))))で:dissocしたリンクl3を、:locateで移動させた後、l3をそこに残したまま残りのリンクl2だけを動かしたいです。現状では、:dissocと:locateまでは期待通りの動きができるのですが、その後に(send r :angle-vector (float-vector (- 45 i) 0))としたときに:dissocしたリンクl3が元の位置に戻ってしまいます。
The text was updated successfully, but these errors were encountered: