Class for passing basic data about contact pairs.

#include <ChCCollisionInfo.h>

Collaboration diagram for chrono::collision::ChCollisionInfo:

Public Member Functions

 ChCollisionInfo ()
 Basic default constructor.
 ChCollisionInfo (const ChCollisionInfo &other, const bool swap=false)
 Copy from other.
void SwapModels ()
 Swap models, that is modelA becomes modelB and viceversa.

Static Public Member Functions

static void SetDefaultEffectiveCurvatureRadius (double eff_radius)
 Set the default effective radius of curvature (for SMC contact). More...
static double GetDefaultEffectiveCurvatureRadius ()
 Return the current value of the default effective radius of curvature.

Public Attributes

 model A
 model B
ChVector vpA
 coll.point on A, in abs coords
ChVector vpB
 coll.point on B, in abs coords
ChVector vN
 coll.normal, respect to A, in abs coords
double distance
 distance (negative for penetration)
double eff_radius
 effective radius of curvature at contact (SMC only)
float * reaction_cache
 pointer to some persistent user cache of reactions

Member Function Documentation

void chrono::collision::ChCollisionInfo::SetDefaultEffectiveCurvatureRadius ( double  eff_radius)

Set the default effective radius of curvature (for SMC contact).

A collision system should evaluate this value for each collision using
    1/r_eff = 1/rA + 1/rB
where rA and rB are the radii of curvature of the two surfaces at the contact point.

If a collision system does not set this quantity, all collisions use this default value.