Skip to content
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

Cloning of env/kinbody when _listNonCollidingLinksValid is false #1442

Open
snozawa opened this issue Oct 1, 2024 · 0 comments
Open

Cloning of env/kinbody when _listNonCollidingLinksValid is false #1442

snozawa opened this issue Oct 1, 2024 · 0 comments

Comments

@snozawa
Copy link
Collaborator

snozawa commented Oct 1, 2024

If cloning of env/kinbody when _listNonCollidingLinksValid is false, Grabbed::_pGrabbedSaver and Grabbed:_pGrabberSaver are different between original env and cloned env.

Thus, the computed _listNonCollidingLinks in the original env is different from the one from the cloned env.

We need to restore the saver's information somehow when cloning.

cc: @Puttichai

snozawa pushed a commit that referenced this issue Oct 24, 2024
- Issue
  - When the new Grabbed instance is created in saver or Clone, the _pGrabbedSaver and _pGrabberSaver of the new Grabbed are different from those of the original Grabbed.
  - Thus, if isListNonCollidingLinksValid=false, wrong state was used in ComputeListNonCollidingLinks.
- Resolution
  - Copy the consistent states from the original Grabbed to the new Grabbed.
  - To do so, introduce the constructor of Grabbed to copy the saver states from the original Grabbed. In addition, introduce the constructor of StateSavers to copy the states from the original savers.
  - If the states are not copy-able, throw exception. Also, this API is very advanced and not expected to be used from the usual users. Thus, make such functionality as the constructor.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant