iMSTK
Interactive Medical Simulation Toolkit
|
Abstract class for rigid body constraints. A RbdConstraint should mainly provide a constraint jacobian. It provides a constraint gradient for both linear and angular (each column). This gradient should vanish as the constraint scalar approaches 0. More...
#include <imstkRbdConstraint.h>
Public Types | |
enum | Side { A, B, AB } |
Public Member Functions | |
virtual const std::string | getTypeName () const =0 |
virtual void | compute (double dt)=0 |
Compute constraint jacobian. | |
Public Attributes | |
Eigen::Matrix< double, 3, 4 > | J = Eigen::Matrix<double, 3, 4>::Zero() |
Jacobian, "vanish" to zero. | |
double | vu = 0.0 |
Bauhmgarte stabilization term. | |
double | range [2] = { 0.0, std::numeric_limits<double>::max() } |
std::shared_ptr< RigidBody > | m_obj1 = nullptr |
std::shared_ptr< RigidBody > | m_obj2 = nullptr |
Side | m_side = Side::AB |
Protected Member Functions | |
RbdConstraint (std::shared_ptr< RigidBody > rbd1, std::shared_ptr< RigidBody > rbd2, const Side side) | |
Abstract class for rigid body constraints. A RbdConstraint should mainly provide a constraint jacobian. It provides a constraint gradient for both linear and angular (each column). This gradient should vanish as the constraint scalar approaches 0.
Definition at line 89 of file imstkRbdConstraint.h.