DART 6.10.1
Loading...
Searching...
No Matches
dart::collision::Contact Struct Reference

Contact information. More...

#include <Contact.hpp>

Public Member Functions

 Contact ()
 Default constructor.
 

Static Public Member Functions

static constexpr double getNormalEpsilon ()
 Returns the epsilon to be used for determination of zero-length normal.
 
static constexpr double getNormalEpsilonSquared ()
 Returns the squired epsilon to be used for determination of zero-length normal.
 
static bool isZeroNormal (const Eigen::Vector3d &normal)
 Returns true if the length of a normal is less than the epsilon.
 
static bool isNonZeroNormal (const Eigen::Vector3d &normal)
 Returns !isZeroNormal().
 

Public Attributes

Eigen::Vector3d point
 Contact point w.r.t. the world frame.
 
Eigen::Vector3d normal
 Contact normal vector from bodyNode2 to bodyNode1 w.r.t. the world frame.
 
Eigen::Vector3d force
 Contact force acting on bodyNode1 w.r.t.
 
CollisionObjectcollisionObject1
 First colliding collision object.
 
CollisionObjectcollisionObject2
 Second colliding collision object.
 
double penetrationDepth
 Penetration depth.
 
int triID1
 
int triID2
 
void * userData
 User data.
 

Detailed Description

Contact information.

Constructor & Destructor Documentation

◆ Contact()

dart::collision::Contact::Contact ( )

Default constructor.

Member Function Documentation

◆ getNormalEpsilon()

constexpr double dart::collision::Contact::getNormalEpsilon ( )
staticconstexpr

Returns the epsilon to be used for determination of zero-length normal.

◆ getNormalEpsilonSquared()

constexpr double dart::collision::Contact::getNormalEpsilonSquared ( )
staticconstexpr

Returns the squired epsilon to be used for determination of zero-length normal.

◆ isNonZeroNormal()

bool dart::collision::Contact::isNonZeroNormal ( const Eigen::Vector3d &  normal)
static

Returns !isZeroNormal().

◆ isZeroNormal()

bool dart::collision::Contact::isZeroNormal ( const Eigen::Vector3d &  normal)
static

Returns true if the length of a normal is less than the epsilon.

Member Data Documentation

◆ collisionObject1

CollisionObject* dart::collision::Contact::collisionObject1

First colliding collision object.

◆ collisionObject2

CollisionObject* dart::collision::Contact::collisionObject2

Second colliding collision object.

◆ force

Eigen::Vector3d dart::collision::Contact::force

Contact force acting on bodyNode1 w.r.t.

the world frame

The contact force acting on bodyNode2 is -force, which is the opposite direction of the force.

◆ normal

Eigen::Vector3d dart::collision::Contact::normal

Contact normal vector from bodyNode2 to bodyNode1 w.r.t. the world frame.

◆ penetrationDepth

double dart::collision::Contact::penetrationDepth

Penetration depth.

◆ point

Eigen::Vector3d dart::collision::Contact::point

Contact point w.r.t. the world frame.

◆ triID1

int dart::collision::Contact::triID1

◆ triID2

int dart::collision::Contact::triID2

◆ userData

void* dart::collision::Contact::userData

User data.