Class CECompoundBody#

Inheritance Relationships#

Base Type#

Derived Types#

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.

inline virtual const std::string &typeString() const noexcept override#

Returns the type string of the SubTree.

Returns:

The type string.

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

virtual kc::ks_ptr<CoordData> _makeIndependentCoordData() = 0#

Create a CoordData with just the CoordBased with the independent coordinates for this body

Protected Attributes

size_t _indep_nU = 0#

the number of indpendent coordinates for this compound body