iMSTK
Interactive Medical Simulation Toolkit
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
imstk::RbdConstraint Class Referenceabstract

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>

Inheritance diagram for imstk::RbdConstraint:
Inheritance graph
[legend]

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< RigidBodym_obj1 = nullptr
 
std::shared_ptr< RigidBodym_obj2 = nullptr
 
Side m_side = Side::AB
 

Protected Member Functions

 RbdConstraint (std::shared_ptr< RigidBody > rbd1, std::shared_ptr< RigidBody > rbd2, const Side side)
 

Detailed Description

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.


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