Giter Site home page Giter Site logo

Comments (4)

vicltz avatar vicltz commented on August 14, 2024

I had the same issue, debug was very hard because of this behavior.
Maybe it's a good idea to add the clear inside the distance or collide function ?

from hpp-fcl.

jcarpent avatar jcarpent commented on August 14, 2024

Regarding this issue, we can add an extra argument to collide and distance, named bool clear_results = true, in such a way people can still do both.

from hpp-fcl.

lmontaut avatar lmontaut commented on August 14, 2024

I guess we can but I just don't see the reason why we don't simply clear inside distance or collide. If the results are not cleared, it means that the results inside QueryResult have no relation to one another, because they may have been called on different poses, or worse, different collision pairs... Maybe there is a use case I am missing but I just don't see the point of not clearing. Multiple people have reported this issue to me already and it's a super annoying bug to track down when someone is not familiar with hpp-fcl.

from hpp-fcl.

lmontaut avatar lmontaut commented on August 14, 2024

EDIT: I think the rationale behind not clearing is that if you set the num_max_contacts in CollisionRequest, you can collect up to num_max_contacts on different collision pairs with the same CollisionResult.
On the contrary, I am very used to creating a single CollisionResult for each collision pair. If I have non-convex objects like BVHs then num_max_contacts allows me to collect multiple contact points; if I have convex objects, I know I will get only one contact, so I set num_max_contacts to 1.

Anyway, I think mixing collision pairs inside the same result is a bad idea, and the current design of hpp-fcl enforces that.

@jcarpent I will do a PR with your solution and set the default behavior to clear the result

from hpp-fcl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.