PlayRho  1.1.0
An Interactive Real-Time-Oriented C++ Physics Engine & Library
playrho::d2::Manifold::Point Struct Reference

Data for a point of collision in a Manifold. More...

#include <Manifold.hpp>

Collaboration diagram for playrho::d2::Manifold::Point:
[legend]

Public Attributes

Length2 localPoint
 Local point. More...
 
ContactFeature contactFeature
 Contact feature. More...
 
Momentum normalImpulse = 0_Ns
 Normal impulse. More...
 
Momentum tangentImpulse = 0_Ns
 Tangent impulse. More...
 

Related Functions

(Note that these are not member functions.)

bool operator== (const Manifold::Point &lhs, const Manifold::Point &rhs) noexcept
 Determines whether the two given manifold points are equal.
 
bool operator!= (const Manifold::Point &lhs, const Manifold::Point &rhs) noexcept
 Determines whether the two given manifold points are not equal.
 

Detailed Description

Data for a point of collision in a Manifold.

This is a contact point belonging to a contact manifold. It holds details related to the geometry and dynamics of the contact points.

Note
The impulses are used for internal caching and may not provide reliable contact forces especially for high speed collisions.
This structure is at least 20-bytes large.

Member Data Documentation

◆ contactFeature

ContactFeature playrho::d2::Manifold::Point::contactFeature

Contact feature.

Uniquely identifies a contact point between two shapes - A and B.

Note
This field is 4-bytes.
See also
GetPointStates.

◆ localPoint

Length2 playrho::d2::Manifold::Point::localPoint

Local point.

Usage depends on manifold type.

Note
For circles type manifolds, this is the local center of circle B.
For face-A type manifolds, this is the local center of "circle" B or a clip point of shape B. It is also the point at which impulse forces should be relatively applied for position resolution.
For face-B type manifolds, this is the local center of "circle" A or a clip point of shape A. It is also the point at which impulse forces should be relatively applied for position resolution.
8-bytes.
Examples
World.cpp.

Referenced by playrho::d2::GetPSM().

◆ normalImpulse

Momentum playrho::d2::Manifold::Point::normalImpulse = 0_Ns

Normal impulse.

This is the non-penetration impulse.

Note
This is only used for velocity constraint resolution.
4-bytes.
Examples
World.cpp.

◆ tangentImpulse

Momentum playrho::d2::Manifold::Point::tangentImpulse = 0_Ns

Tangent impulse.

This is the friction impulse.

Note
This is only used for velocity constraint resolution.
4-bytes.
Examples
World.cpp.

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