#include <mbd_ball_joint.h>
Public Types | |
typedef mbd_types::math_policy | math_policy |
typedef mbd_types::math_policy::value_traits | value_traits |
typedef mbd_types::math_policy::index_type | size_type |
typedef mbd_types::math_policy::real_type | real_type |
typedef mbd_types::math_policy::vector_range | vector_range |
typedef mbd_types::math_policy::vector3_type | vector3_type |
typedef mbd_types::math_policy::matrix3x3_type | matrix3x3_type |
typedef mbd_types::math_policy::quaternion_type | quaternion_type |
typedef mbd_types::math_policy::idx_vector_range | idx_vector_range |
typedef mbd_types::math_policy::matrix_range | matrix_range |
typedef mbd_types::math_policy::vector_type | vector_type |
typedef ReachCone< mbd_types > | reach_cone_type |
Public Member Functions | |
BallJoint () | |
virtual | ~BallJoint () |
void | evaluate () |
size_type | get_number_of_jacobian_rows () const |
void | get_linear_jacobian_A (matrix_range &J) const |
void | get_linear_jacobian_B (matrix_range &J) const |
void | get_angular_jacobian_A (matrix_range &J) const |
void | get_angular_jacobian_B (matrix_range &J) const |
void | get_stabilization_term (vector_range &b_error) const |
void | get_low_limits (vector_range &lo) const |
void | get_high_limits (vector_range &hi) const |
void | get_dependency_indices (idx_vector_range &dep) const |
void | get_dependency_factors (vector_range &factors) const |
void | set_regularization (vector_range const &gamma) |
void | get_regularization (vector_range &gamma) const |
void | set_solution (vector_range const &solution) |
void | get_solution (vector_range &solution) const |
void | calibration () |
vector3_type | get_axis_world () const |
void | set_reach_cone (reach_cone_type const &cone) |
Protected Attributes | |
matrix3x3_type | m_star_anc_A |
The cross product operator of the anchor point wrt. to body A rotated (but not translated) into WCS. | |
matrix3x3_type | m_star_anc_B |
The cross product operator of the anchor point wrt. to body B rotated (but not translated) into WCS. | |
vector3_type | m_anc_A_wcs |
The anchor point wrt. to body A in WCS. | |
vector3_type | m_anc_B_wcs |
The anchor point wrt. to body B in WCS. | |
quaternion_type | m_Q_initial |
The initial relative orientation between the two bodies (wrt. WCS) i.e. the rotation that aligns body A with body B. | |
quaternion_type | m_Q_initial_conj |
The conjugate of Q_initial. | |
size_type | m_rows |
Number of jacobian rows. | |
vector_type | m_gamma |
Local vector of constraint force mixing terms. | |
vector_type | m_solution |
Local solution vector, ie. vector of lagrange multipliers. | |
reach_cone_type * | m_reach_cone |
Reach cone. | |
size_type | m_reach_offset |
Jacobian row offset for reach cone constraints. |
typedef mbd_types::math_policy::idx_vector_range OpenTissue::mbd::BallJoint< mbd_types >::idx_vector_range |
typedef mbd_types::math_policy OpenTissue::mbd::BallJoint< mbd_types >::math_policy |
typedef mbd_types::math_policy::matrix3x3_type OpenTissue::mbd::BallJoint< mbd_types >::matrix3x3_type |
typedef mbd_types::math_policy::matrix_range OpenTissue::mbd::BallJoint< mbd_types >::matrix_range |
typedef mbd_types::math_policy::quaternion_type OpenTissue::mbd::BallJoint< mbd_types >::quaternion_type |
typedef ReachCone<mbd_types> OpenTissue::mbd::BallJoint< mbd_types >::reach_cone_type |
typedef mbd_types::math_policy::real_type OpenTissue::mbd::BallJoint< mbd_types >::real_type |
typedef mbd_types::math_policy::index_type OpenTissue::mbd::BallJoint< mbd_types >::size_type |
typedef mbd_types::math_policy::value_traits OpenTissue::mbd::BallJoint< mbd_types >::value_traits |
typedef mbd_types::math_policy::vector3_type OpenTissue::mbd::BallJoint< mbd_types >::vector3_type |
typedef mbd_types::math_policy::vector_range OpenTissue::mbd::BallJoint< mbd_types >::vector_range |
typedef mbd_types::math_policy::vector_type OpenTissue::mbd::BallJoint< mbd_types >::vector_type |
OpenTissue::mbd::BallJoint< mbd_types >::BallJoint | ( | ) | [inline] |
virtual OpenTissue::mbd::BallJoint< mbd_types >::~BallJoint | ( | ) | [inline, virtual] |
void OpenTissue::mbd::BallJoint< mbd_types >::calibration | ( | ) | [inline, virtual] |
joint_type Calibration Routine. This method is invoked implicitly whenever the joint connectivity is changed (alteration of anchor points or joint axes).
It can also be invoked directly by and end user if the incident body position and/or rotations is changed.
Implements OpenTissue::mbd::JointInterface< mbd_types >.
void OpenTissue::mbd::BallJoint< mbd_types >::evaluate | ( | ) | [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_angular_jacobian_A | ( | matrix_range & | J | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_angular_jacobian_B | ( | matrix_range & | J | ) | const [inline] |
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::get_axis_world | ( | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_dependency_factors | ( | vector_range & | factors | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_dependency_indices | ( | idx_vector_range & | dep | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_high_limits | ( | vector_range & | hi | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_linear_jacobian_A | ( | matrix_range & | J | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_linear_jacobian_B | ( | matrix_range & | J | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_low_limits | ( | vector_range & | lo | ) | const [inline] |
size_type OpenTissue::mbd::BallJoint< mbd_types >::get_number_of_jacobian_rows | ( | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_regularization | ( | vector_range & | gamma | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_solution | ( | vector_range & | solution | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::get_stabilization_term | ( | vector_range & | b_error | ) | const [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::set_reach_cone | ( | reach_cone_type const & | cone | ) | [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::set_regularization | ( | vector_range const & | gamma | ) | [inline] |
void OpenTissue::mbd::BallJoint< mbd_types >::set_solution | ( | vector_range const & | solution | ) | [inline] |
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::m_anc_A_wcs [protected] |
The anchor point wrt. to body A in WCS.
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::m_anc_B_wcs [protected] |
The anchor point wrt. to body B in WCS.
vector_type OpenTissue::mbd::BallJoint< mbd_types >::m_gamma [protected] |
Local vector of constraint force mixing terms.
quaternion_type OpenTissue::mbd::BallJoint< mbd_types >::m_Q_initial [protected] |
The initial relative orientation between the two bodies (wrt. WCS) i.e. the rotation that aligns body A with body B.
quaternion_type OpenTissue::mbd::BallJoint< mbd_types >::m_Q_initial_conj [protected] |
The conjugate of Q_initial.
reach_cone_type* OpenTissue::mbd::BallJoint< mbd_types >::m_reach_cone [protected] |
Reach cone.
size_type OpenTissue::mbd::BallJoint< mbd_types >::m_reach_offset [protected] |
Jacobian row offset for reach cone constraints.
size_type OpenTissue::mbd::BallJoint< mbd_types >::m_rows [protected] |
Number of jacobian rows.
vector_type OpenTissue::mbd::BallJoint< mbd_types >::m_solution [protected] |
Local solution vector, ie. vector of lagrange multipliers.
matrix3x3_type OpenTissue::mbd::BallJoint< mbd_types >::m_star_anc_A [protected] |
The cross product operator of the anchor point wrt. to body A rotated (but not translated) into WCS.
matrix3x3_type OpenTissue::mbd::BallJoint< mbd_types >::m_star_anc_B [protected] |
The cross product operator of the anchor point wrt. to body B rotated (but not translated) into WCS.