7 #ifndef _RC_ARTICULATED_BODY_H
8 #define _RC_ARTICULATED_BODY_H
14 #include <boost/shared_ptr.hpp>
15 #include <Ravelin/Vector3d.h>
16 #include <Ravelin/SForced.h>
17 #include <Moby/Constants.h>
18 #include <Moby/ArticulatedBody.h>
19 #include <Moby/RigidBody.h>
20 #include <Ravelin/RCArticulatedBodyd.h>
25 class UnilateralConstraintProblemData;
53 virtual void load_from_xml(boost::shared_ptr<const XMLTree> node, std::map<std::string, BasePtr>& id_map);
54 virtual void save_to_xml(
XMLTreePtr node, std::list<boost::shared_ptr<const Base> >& shared_objects)
const;
55 virtual void set_links_and_joints(
const std::vector<RigidBodyPtr>& links,
const std::vector<JointPtr>& joints);
Abstract class for articulated bodies.
Definition: ArticulatedBody.h:26
virtual void load_from_xml(boost::shared_ptr< const XMLTree > node, std::map< std::string, BasePtr > &id_map)
Implements Base::load_from_xml()
Definition: RCArticulatedBody.cpp:162
RCArticulatedBody()
Default constructor.
Definition: RCArticulatedBody.cpp:33
virtual void apply_generalized_impulse(const Ravelin::SharedVectorNd &gj)
Applies a generalized impulse to the rigid body (calls the simulator)
Definition: RCArticulatedBody.cpp:38
Defines an articulated body for use with reduced-coordinate dynamics algorithms.
Definition: RCArticulatedBody.h:43
virtual void compile()
Compiles this body (updates the link transforms and velocities)
Definition: RCArticulatedBody.cpp:98
RCArticulatedBodyPtr clone() const
Clones this.
Definition: RCArticulatedBody.cpp:45
virtual void save_to_xml(XMLTreePtr node, std::list< boost::shared_ptr< const Base > > &shared_objects) const
Implements Base::save_to_xml()
Definition: RCArticulatedBody.cpp:255
boost::shared_ptr< XMLTree > XMLTreePtr
XML tree smart pointer.
Definition: Types.h:104
boost::shared_ptr< RCArticulatedBody > RCArticulatedBodyPtr
Reduced-coordinate articulated body smart pointer.
Definition: Types.h:68
virtual void set_links_and_joints(const std::vector< RigidBodyPtr > &links, const std::vector< JointPtr > &joints)
Sets the vector of links and joints.
Definition: RCArticulatedBody.cpp:147