Blender V5.0
IK_QSphericalSegment Class Reference

#include <IK_QSegment.h>

Inherits IK_QSegment.

Public Member Functions

 IK_QSphericalSegment ()
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
bool ComputeClampRotation (Vector3d &clamp)
void SetLimit (int axis, double lmin, double lmax) override
void SetWeight (int axis, double weight) 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)
virtual void SetBasis (const Matrix3d &basis)
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 216 of file IK_QSegment.h.

Constructor & Destructor Documentation

◆ IK_QSphericalSegment()

IK_QSphericalSegment::IK_QSphericalSegment ( )

Definition at line 162 of file IK_QSegment.cpp.

References false, and IK_QSegment::IK_QSegment().

Member Function Documentation

◆ Axis()

Vector3d IK_QSphericalSegment::Axis ( int dof) const
overridevirtual

Implements IK_QSegment.

Definition at line 167 of file IK_QSegment.cpp.

References IK_QSegment::m_global_transform.

◆ ComputeClampRotation()

bool IK_QSphericalSegment::ComputeClampRotation ( Vector3d & clamp)

References clamp().

◆ Lock()

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

Reimplemented from IK_QSegment.

Definition at line 343 of file IK_QSegment.cpp.

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

◆ SetLimit()

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

Reimplemented from IK_QSegment.

Definition at line 172 of file IK_QSegment.cpp.

References Clamp(), M_PI, and sin.

◆ SetWeight()

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

Reimplemented from IK_QSegment.

Definition at line 208 of file IK_QSegment.cpp.

References IK_QSegment::m_weight.

◆ UpdateAngle()

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

◆ UpdateAngleApply()

void IK_QSphericalSegment::UpdateAngleApply ( )
overridevirtual

Implements IK_QSegment.

Definition at line 356 of file IK_QSegment.cpp.

References IK_QSegment::m_basis.


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