CloneTreeCreator.hpp 988 B

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