CloneTreeCreator.hpp 958 B

1234567891011121314151617181920212223242526272829
  1. #ifndef CLONETREE_CREATOR_HPP_
  2. #define CLONETREE_CREATOR_HPP_
  3. #include "BulletInverseDynamics/IDConfig.hpp"
  4. #include "MultiBodyTreeCreator.hpp"
  5. namespace btInverseDynamics
  6. {
  7. /// Generate an identical multibody tree from a reference system.
  8. class CloneTreeCreator : public MultiBodyTreeCreator
  9. {
  10. public:
  11. /// ctor
  12. /// @param reference the MultiBodyTree to clone
  13. CloneTreeCreator(const MultiBodyTree* reference);
  14. ~CloneTreeCreator();
  15. ///\copydoc MultiBodyTreeCreator::getNumBodies
  16. int getNumBodies(int* num_bodies) const;
  17. ///\copydoc MultiBodyTreeCreator::getBody
  18. int getBody(const int body_index, int* parent_index, JointType* joint_type,
  19. vec3* parent_r_parent_body_ref, mat33* body_T_parent_ref, vec3* body_axis_of_motion,
  20. idScalar* mass, vec3* body_r_body_com, mat33* body_I_body, int* user_int,
  21. void** user_ptr) const;
  22. private:
  23. const MultiBodyTree* m_reference;
  24. };
  25. } // namespace btInverseDynamics
  26. #endif // CLONETREE_CREATOR_HPP_