Blender V5.0
IK_QRevoluteSegment Class Reference

#include <IK_QSegment.h>

Inherits IK_QSegment.

Public Member Functions

 IK_QRevoluteSegment (int axis)
Vector3d Axis (int dof) const override
bool UpdateAngle (const IK_QJacobian &jacobian, Vector3d &delta, bool *clamp) override
void Lock (int dof, IK_QJacobian &jacobian, Vector3d &delta) override
void UpdateAngleApply () override
void SetLimit (int axis, double lmin, double lmax) override
void SetWeight (int axis, double weight) override
void SetBasis (const Matrix3d &basis) override
Public Member Functions inherited from IK_QSegment
virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW ~IK_QSegment ()
void SetTransform (const Vector3d &start, const Matrix3d &rest_basis, const Matrix3d &basis, const double length)
void SetParent (IK_QSegment *parent)
IK_QSegmentChild () const
IK_QSegmentSibling () const
IK_QSegmentParent () const
void SetComposite (IK_QSegment *seg)
IK_QSegmentComposite () const
int NumberOfDoF () const
int DoFId () const
void SetDoFId (int dof_id)
double MaxExtension () const
Matrix3d BasisChange () const
Vector3d TranslationChange () const
Vector3d GlobalStart () const
Vector3d GlobalEnd () const
const Affine3d & GlobalTransform () const
bool Translational () const
bool Locked (int dof) const
void UnLock ()
double Weight (int dof) const
void ScaleWeight (int dof, double scale)
void UpdateTransform (const Affine3d &global)
void PrependBasis (const Matrix3d &mat)
void Reset ()
virtual void Scale (double scale)

Additional Inherited Members

Protected Member Functions inherited from IK_QSegment
 IK_QSegment (int num_DoF, bool translational)
void extracted ()
void RemoveChild (IK_QSegment *child)
Protected Attributes inherited from IK_QSegment
IK_QSegmentm_parent
IK_QSegmentm_child
IK_QSegmentm_sibling
IK_QSegmentm_composite
Vector3d m_start
Matrix3d m_rest_basis
Matrix3d m_basis
Vector3d m_translation
Matrix3d m_orig_basis
Vector3d m_orig_translation
double m_max_extension
Vector3d m_global_start
Affine3d m_global_transform
int m_num_DoF
int m_DoF_id
bool m_locked [3]
bool m_translational
double m_weight [3]

Detailed Description

Definition at line 261 of file IK_QSegment.h.

Constructor & Destructor Documentation

◆ IK_QRevoluteSegment()

IK_QRevoluteSegment::IK_QRevoluteSegment ( int axis)

Definition at line 367 of file IK_QSegment.cpp.

References false, and IK_QSegment::IK_QSegment().

Member Function Documentation

◆ Axis()

Vector3d IK_QRevoluteSegment::Axis ( int dof) const
overridevirtual

Implements IK_QSegment.

Definition at line 384 of file IK_QSegment.cpp.

References IK_QSegment::m_global_transform.

◆ Lock()

void IK_QRevoluteSegment::Lock ( int dof,
IK_QJacobian & jacobian,
Vector3d & delta )
overridevirtual

Reimplemented from IK_QSegment.

Definition at line 419 of file IK_QSegment.cpp.

References IK_QJacobian::Lock(), IK_QSegment::m_DoF_id, and IK_QSegment::m_locked.

◆ SetBasis()

void IK_QRevoluteSegment::SetBasis ( const Matrix3d & basis)
overridevirtual

◆ SetLimit()

void IK_QRevoluteSegment::SetLimit ( int axis,
double lmin,
double lmax )
overridevirtual

Reimplemented from IK_QSegment.

Definition at line 431 of file IK_QSegment.cpp.

References Clamp(), and M_PI.

◆ SetWeight()

void IK_QRevoluteSegment::SetWeight ( int axis,
double weight )
overridevirtual

Reimplemented from IK_QSegment.

Definition at line 447 of file IK_QSegment.cpp.

References IK_QSegment::m_weight.

◆ UpdateAngle()

bool IK_QRevoluteSegment::UpdateAngle ( const IK_QJacobian & jacobian,
Vector3d & delta,
bool * clamp )
overridevirtual

◆ UpdateAngleApply()

void IK_QRevoluteSegment::UpdateAngleApply ( )
overridevirtual

Implements IK_QSegment.

Definition at line 425 of file IK_QSegment.cpp.

References IK_QSegment::m_basis, and RotationMatrix().


The documentation for this class was generated from the following files: