Struct ScrewSubhingeParams#

Inheritance Relationships#

Base Type#

Struct Documentation#

struct ScrewSubhingeParams : public Karana::Dynamics::PhysicalSubhingeParams#

Hold data related to a ScrewSubhinge.

Public Functions

ScrewSubhingeParams(const km::Vec3 &unit_axis, double pitch, 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}))#

ScrewSubhingeParams 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 ScrewSubhinge.

  • pitch – The pitch for the ScrewSubhinge.

  • 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.

~ScrewSubhingeParams()#

Destructor.

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

Public Members

km::Vec3 unit_axis#

The unit axis for the ScrewSubhinge.

double pitch#

The pitch for the ScrewSubhinge.

bool prescribed = false#

Whether this ScrewSubhinge is prescribed or not.

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

The Q range limits for the ScrewSubhinge.

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

The joint limits for the ScrewSubhinge.

Public Static Functions

static kc::ks_ptr<ScrewSubhingeParams> create(const km::Vec3 &unit_axis, double pitch, 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 ScrewSubhingeParams.

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

  • pitch – The pitch for the ScrewSubhinge.

  • 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 ScrewSubhingeParams.