Struct PinSubhingeParams#

Inheritance Relationships#

Base Type#

Struct Documentation#

struct PinSubhingeParams : public Karana::Dynamics::PhysicalSubhingeParams#

Hold data related to a PinSubhinge.

Public Functions

PinSubhingeParams(const km::Vec3 &unit_axis, bool prescribed = false, const km::Vec &joint_limits = km::Vec{{km::notReadyNaN, km::notReadyNaN}}, const Eigen::Matrix<double, 1, 2, Eigen::RowMajor> &range_limits = Eigen::Matrix<double, 1, 2, Eigen::RowMajor>({km::notReadyNaN, km::notReadyNaN}))#

PinSubhingeParams constructor. The constructor is not meant to be called directly. Please use the create(…) method instead to create an instance.

Parameters:
  • unit_axis – The unit axis for the PinSubhinge.

  • prescribed – Whether the joint is prescribed or not

  • joint_limits – The joint limits for the subhinge. Signed infinity means the joint is unbounded, and NaN values are treated as unbounded.

  • range_limits – The range limits for the subhinge. Signed infinity means the joint is unbounded, and NaN values are treated as unbounded.

~PinSubhingeParams()#

Destructor.

PinSubhingeParams(const PinSubhingeParams&) = delete#
PinSubhingeParams &operator=(const PinSubhingeParams&) = delete#

Public Members

km::Vec3 unit_axis#

The unit axis for the PinSubhinge.

bool prescribed = false#

Whether this PinSubhinge is prescribed or not.

km::Vec joint_limits = {{km::notReadyNaN, km::notReadyNaN}}#

The joint limits for the PinSubhinge.

Eigen::Matrix<double, 1, 2, Eigen::RowMajor> range_limits#

The Q range limits for the PinSubhinge.

Public Static Functions

static kc::ks_ptr<PinSubhingeParams> create(const km::Vec3 &unit_axis, bool prescribed = false, const km::Vec &joint_limits = km::Vec{{km::notReadyNaN, km::notReadyNaN}}, const Eigen::Matrix<double, 1, 2, Eigen::RowMajor> &range_limits = Eigen::Matrix<double, 1, 2, Eigen::RowMajor>({km::notReadyNaN, km::notReadyNaN}))#

Create an instance of PinSubhingeParams.

Parameters:
  • unit_axis – The unit axis for the PinSubhinge.

  • prescribed – Whether the joint is prescribed or not

  • joint_limits – The joint limits for the subhinge. Signed infinity means the joint is unbounded, and NaN values are treated as unbounded.

  • range_limits – The range limits for the subhinge. Signed infinity means the joint is unbounded, and NaN values are treated as unbounded.

Returns:

A pointer to the newly created PinSubhingeParams.