Class CECompoundBody#
Defined in File CECompoundBody.h
Inheritance Relationships#
Base Type#
public Karana::Dynamics::CompoundBody(Class CompoundBody)
Derived Types#
public Karana::Dynamics::GearedCompoundBody(Class GearedCompoundBody)public Karana::Dynamics::LoopsCompoundBody(Class LoopsCompoundBody)
Class Documentation#
-
class CECompoundBody : public Karana::Dynamics::CompoundBody#
Represents a compound body.
This class is for compound bodies representing a subtree of bodies.
Subclassed by Karana::Dynamics::GearedCompoundBody, Karana::Dynamics::LoopsCompoundBody
Public Functions
-
CECompoundBody(const std::string &name, kc::ks_ptr<SubTree> parent_subtree, kc::ks_ptr<SubTree> component_bodies, size_t indep_nU)#
Constructs a CECompoundBody.
-
virtual ~CECompoundBody()#
CECompoundBody destructor.
Protected Functions
-
virtual kc::ks_ptr<CompoundSubhinge> _createSubhinge(kc::ks_ptr<CompoundHinge> hinge) override#
Create the compound subhinge
-
virtual void _updateDependentQ(const km::Vec &min_Q) const = 0#
Convert the input minimal independent coords Q into the full dependent Q for all the aggregated subhinges for the compound body as appropriate and set the values. Note that the constraints are at the veolocity level and not the Q level, and in some cases Q is subject to a differerent (and perhaps no) constraints,
-
virtual km::Mat _constraintX() const = 0#
Convert the input full dependent coords for all the aggregated subhinges for the compound body Q into the minimal independent Q Return the X matrix that maps the min independent U to the full dependendent U for the compound body
-
virtual km::Mat _constraintXdot() const = 0#
Return the Xdot matrix that is the time derivative of the X constraint matrix
-
virtual km::Mat _invConstraintX() const = 0#
Return the X matrix pseudo inverse that maps the full U for the compound body to the min indepenent U
Protected Attributes
-
size_t _indep_nU = 0#
the number of indpendent coordinates for this compound body
-
CECompoundBody(const std::string &name, kc::ks_ptr<SubTree> parent_subtree, kc::ks_ptr<SubTree> component_bodies, size_t indep_nU)#