template<class Ta, class Tb>
class chrono::ChContactSMC< Ta, Tb >
Class for smooth (penalty-based) contact between two generic contactable objects. 
Ta and Tb are of ChContactable sub classes. 
|  | 
|  | ChContactSMC (ChContactContainer *mcontainer, Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo, const ChMaterialCompositeSMC &mat) | 
|  | 
| virtual ChVector | GetContactForce () const override | 
|  | Get the contact force, if computed, in contact coordinate system. 
 | 
|  | 
| double | GetContactPenetration () const | 
|  | Get the contact penetration (positive if there is overlap). 
 | 
|  | 
| ChVector | GetContactForceAbs () const | 
|  | Get the contact force, expressed in the frame of the contact. 
 | 
|  | 
| const ChKblockGeneric * | GetJacobianKRM () const | 
|  | Access the proxy to the Jacobian. 
 | 
|  | 
| const ChMatrixDynamic< double > * | GetJacobianK () const | 
|  | 
| const ChMatrixDynamic< double > * | GetJacobianR () const | 
|  | 
| void | Reset (Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo, const ChMaterialCompositeSMC &mat) | 
|  | Reinitialize this contact for reuse.  More... 
 | 
|  | 
| ChVector | CalculateForce (double delta, const ChVector<> &normal_dir, const ChVector<> &vel1, const ChVector<> &vel2, const ChMaterialCompositeSMC &mat) | 
|  | Calculate contact force, expressed in absolute coordinates.  More... 
 | 
|  | 
| void | CalculateQ (const ChState &stateA_x, const ChStateDelta &stateA_w, const ChState &stateB_x, const ChStateDelta &stateB_w, const ChMaterialCompositeSMC &mat, ChVectorDynamic<> &Q) | 
|  | Compute all forces in a contiguous array.  More... 
 | 
|  | 
| void | CreateJacobians () | 
|  | Create the Jacobian matrices.  More... 
 | 
|  | 
| void | CalculateJacobians (const ChMaterialCompositeSMC &mat) | 
|  | Calculate Jacobian of generalized contact forces. 
 | 
|  | 
| virtual void | ContIntLoadResidual_F (ChVectorDynamic<> &R, const double c) override | 
|  | Apply contact forces to the two objects.  More... 
 | 
|  | 
| virtual void | ContInjectKRMmatrices (ChSystemDescriptor &mdescriptor) override | 
|  | Inject Jacobian blocks into the system descriptor.  More... 
 | 
|  | 
| virtual void | ContKRMmatricesLoad (double Kfactor, double Rfactor) override | 
|  | Compute Jacobian of contact forces. 
 | 
|  | 
|  | ChContactTuple (ChContactContainer *mcontainer, Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo) | 
|  | 
| void | Reset_cinfo (Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo) | 
|  | Reinitialize geometric information for this contact for reuse.  More... 
 | 
|  | 
| Ta * | GetObjA () | 
|  | Get the colliding object A, with point P1. 
 | 
|  | 
| Tb * | GetObjB () | 
|  | Get the colliding object B, with point P2. 
 | 
|  | 
| ChCoordsys | GetContactCoords () const | 
|  | Get the contact coordinate system, expressed in absolute frame.  More... 
 | 
|  | 
| const ChMatrix33 & | GetContactPlane () const | 
|  | Returns the pointer to a contained 3x3 matrix representing the UV and normal directions of the contact.  More... 
 | 
|  | 
| const ChVector & | GetContactP1 () const | 
|  | Get the contact point 1, in absolute coordinates. 
 | 
|  | 
| const ChVector & | GetContactP2 () const | 
|  | Get the contact point 2, in absolute coordinates. 
 | 
|  | 
| const ChVector & | GetContactNormal () const | 
|  | Get the contact normal, in absolute coordinates. 
 | 
|  | 
| double | GetContactDistance () const | 
|  | Get the contact distance. 
 | 
|  | 
| double | GetEffectiveCurvatureRadius () const | 
|  | Get the effective radius of curvature. 
 | 
|  | 
| virtual void | ContIntStateGatherReactions (const unsigned int off_L, ChVectorDynamic<> &L) | 
|  | 
| virtual void | ContIntStateScatterReactions (const unsigned int off_L, const ChVectorDynamic<> &L) | 
|  | 
| virtual void | ContIntLoadResidual_CqL (const unsigned int off_L, ChVectorDynamic<> &R, const ChVectorDynamic<> &L, const double c) | 
|  | 
| virtual void | ContIntLoadConstraint_C (const unsigned int off_L, ChVectorDynamic<> &Qc, const double c, bool do_clamp, double recovery_clamp) | 
|  | 
| virtual void | ContIntToDescriptor (const unsigned int off_L, const ChVectorDynamic<> &L, const ChVectorDynamic<> &Qc) | 
|  | 
| virtual void | ContIntFromDescriptor (const unsigned int off_L, ChVectorDynamic<> &L) | 
|  | 
| virtual void | InjectConstraints (ChSystemDescriptor &mdescriptor) | 
|  | 
| virtual void | ConstraintsBiReset () | 
|  | 
| virtual void | ConstraintsBiLoad_C (double factor=1., double recovery_clamp=0.1, bool do_clamp=false) | 
|  | 
| virtual void | ConstraintsFetch_react (double factor) | 
|  |