-
Notifications
You must be signed in to change notification settings - Fork 416
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
Add C++ visualization API and some macros for scalar contexts #2574
Add C++ visualization API and some macros for scalar contexts #2574
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👋 Hi,
This is a reminder message to assign an extra build label to this Pull Request if needed.
By default, this PR will be build with minimal build options (URDF support and Python bindings)
The possible extra labels are:
- build_collision (build Pinocchio with coal support)
- build_casadi (build Pinocchio with CasADi support)
- build_autodiff (build Pinocchio with CppAD support)
- build_codegen (build Pinocchio with CppADCodeGen support)
- build_extra (build Pinocchio with extra algorithms)
- build_mpfr (build Pinocchio with Boost.Multiprecision support)
- build_sdf (build Pinocchio with SDF parser)
- build_accelerate (build Pinocchio with APPLE Accelerate framework support)
- build_all (build Pinocchio with ALL the options stated above)
Thanks.
The Pinocchio development team.
54ea6cf
to
7efa24f
Compare
26a0002
to
198c360
Compare
I ended up introducing a new Do you think this is reasonable @jorisv ? We might rework or extend the API in the future, not sure where it would fit right now (outside of the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me.
e554b59
to
d8bcd9c
Compare
I forgot to update the README... I've fixed that and rebased on devel. |
cf27f0a
to
0005b31
Compare
9f73685
to
53fb70c
Compare
sources.cmake : add "extra/visualizer-visitor.hpp" bindings header
… display() (account for no CTAD in Cpp14)
cab985c
to
97d6752
Compare
I think this is ok to merge @jcarpent :) |
Should link to hpp-fcl::hpp-fcl
This pull request upstreams the contents of the single-header library Simple-Robotics/pinocchio-visualizers, as discussed on issue #2573.
This API reproduces the behaviour of the existing Pinocchio Python bindings'
pinocchio.visualizers.BaseVisualizer
class (which is in Python).<pinocchio/visualizers/base-visualizer.hpp>
pinocchio_visualizers
pinocchio::visualizers
pinocchio::visualizers::BaseVisualizer
, for thecontext::Scalar
scalar type. Common functionality (updating geometry placements, handling frames, theviz.play(qs)
function) is compiled into the newpinocchio_visualizers
target.pinocchio::python::VisualizerPythonVisitor
visitor for exposing visitor classesResolves #2573
Lingering questions
Or just have the API throw a runtime error if unimplemented members get called?Or expose a CRTP class with the actual common logic implemented in a private base class?Better name or mechanism for the protected virtual member functionBaseVisualizer::displayPrecall()
- the idea is to be able to inject a hook before the kinematics and geometry get updated, e.g. locking theGeometryData
using a mutex.Whether to name all of the unimplemented functionsXXXImpl()
orXXX_impl()
and whether to make them protected.BaseVisualizer
class, which we could significantly cut down.