Public Types | Public Member Functions | Protected Attributes

OpenTissue::mbd::BallJoint< mbd_types > Class Template Reference

#include <mbd_ball_joint.h>

Inheritance diagram for OpenTissue::mbd::BallJoint< mbd_types >:
OpenTissue::mbd::JointInterface< mbd_types >

List of all members.

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_typem_reach_cone
 Reach cone.
size_type m_reach_offset
 Jacobian row offset for reach cone constraints.

template<typename mbd_types>
class OpenTissue::mbd::BallJoint< mbd_types >


Member Typedef Documentation

template<typename mbd_types >
typedef mbd_types::math_policy::idx_vector_range OpenTissue::mbd::BallJoint< mbd_types >::idx_vector_range
template<typename mbd_types >
typedef mbd_types::math_policy OpenTissue::mbd::BallJoint< mbd_types >::math_policy
template<typename mbd_types >
typedef mbd_types::math_policy::matrix3x3_type OpenTissue::mbd::BallJoint< mbd_types >::matrix3x3_type
template<typename mbd_types >
typedef mbd_types::math_policy::matrix_range OpenTissue::mbd::BallJoint< mbd_types >::matrix_range
template<typename mbd_types >
typedef mbd_types::math_policy::quaternion_type OpenTissue::mbd::BallJoint< mbd_types >::quaternion_type
template<typename mbd_types >
typedef ReachCone<mbd_types> OpenTissue::mbd::BallJoint< mbd_types >::reach_cone_type
template<typename mbd_types >
typedef mbd_types::math_policy::real_type OpenTissue::mbd::BallJoint< mbd_types >::real_type
template<typename mbd_types >
typedef mbd_types::math_policy::index_type OpenTissue::mbd::BallJoint< mbd_types >::size_type
template<typename mbd_types >
typedef mbd_types::math_policy::value_traits OpenTissue::mbd::BallJoint< mbd_types >::value_traits
template<typename mbd_types >
typedef mbd_types::math_policy::vector3_type OpenTissue::mbd::BallJoint< mbd_types >::vector3_type
template<typename mbd_types >
typedef mbd_types::math_policy::vector_range OpenTissue::mbd::BallJoint< mbd_types >::vector_range
template<typename mbd_types >
typedef mbd_types::math_policy::vector_type OpenTissue::mbd::BallJoint< mbd_types >::vector_type

Constructor & Destructor Documentation

template<typename mbd_types >
OpenTissue::mbd::BallJoint< mbd_types >::BallJoint (  )  [inline]
template<typename mbd_types >
virtual OpenTissue::mbd::BallJoint< mbd_types >::~BallJoint (  )  [inline, virtual]

Member Function Documentation

template<typename mbd_types >
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 >.

template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::evaluate (  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_angular_jacobian_A ( matrix_range J  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_angular_jacobian_B ( matrix_range J  )  const [inline]
template<typename mbd_types >
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::get_axis_world (  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_dependency_factors ( vector_range factors  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_dependency_indices ( idx_vector_range dep  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_high_limits ( vector_range hi  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_linear_jacobian_A ( matrix_range J  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_linear_jacobian_B ( matrix_range J  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_low_limits ( vector_range lo  )  const [inline]
template<typename mbd_types >
size_type OpenTissue::mbd::BallJoint< mbd_types >::get_number_of_jacobian_rows (  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_regularization ( vector_range gamma  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_solution ( vector_range solution  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::get_stabilization_term ( vector_range b_error  )  const [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::set_reach_cone ( reach_cone_type const &  cone  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::set_regularization ( vector_range const &  gamma  )  [inline]
template<typename mbd_types >
void OpenTissue::mbd::BallJoint< mbd_types >::set_solution ( vector_range const &  solution  )  [inline]

Member Data Documentation

template<typename mbd_types >
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::m_anc_A_wcs [protected]

The anchor point wrt. to body A in WCS.

template<typename mbd_types >
vector3_type OpenTissue::mbd::BallJoint< mbd_types >::m_anc_B_wcs [protected]

The anchor point wrt. to body B in WCS.

template<typename mbd_types >
vector_type OpenTissue::mbd::BallJoint< mbd_types >::m_gamma [protected]

Local vector of constraint force mixing terms.

template<typename mbd_types >
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.

template<typename mbd_types >
quaternion_type OpenTissue::mbd::BallJoint< mbd_types >::m_Q_initial_conj [protected]

The conjugate of Q_initial.

template<typename mbd_types >
reach_cone_type* OpenTissue::mbd::BallJoint< mbd_types >::m_reach_cone [protected]

Reach cone.

template<typename mbd_types >
size_type OpenTissue::mbd::BallJoint< mbd_types >::m_reach_offset [protected]

Jacobian row offset for reach cone constraints.

template<typename mbd_types >
size_type OpenTissue::mbd::BallJoint< mbd_types >::m_rows [protected]

Number of jacobian rows.

template<typename mbd_types >
vector_type OpenTissue::mbd::BallJoint< mbd_types >::m_solution [protected]

Local solution vector, ie. vector of lagrange multipliers.

template<typename mbd_types >
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.

template<typename mbd_types >
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.


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