group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
physics::diag::DepenContact Struct Reference

One row of depen-contact telemetry. More...

#include <PhaseDiagnostic.hpp>

Public Attributes

uint32_t triId = 0
glm::vec3 playerPos {0.0f}
 Player capsule center at the moment of overlap.
glm::vec3 faceNormal {0.0f}
 Cooked face normal of the offending triangle.
glm::vec3 v0 {0.0f}
glm::vec3 v1 {0.0f}
glm::vec3 v2 {0.0f}
float signedDist = 0.0f
 dot(faceN, playerPos - v0). Negative ⇒ player on back side.
float minkowskiR = 0.0f
 |faceN|·halfExtents — depth would saturate at 2·R (s = -R).
float depth = 0.0f
 MTV magnitude = R - signedDist.
int region = 0
 Closest feature on the triangle: 0=Face, 1=Edge0, 2=Edge1, 3=Edge2, 4=Vert0, 5=Vert1, 6=Vert2.
uint8_t edgeFlags = 0
 Cooked active-edge mask (bit i ⇔ edge i active per Phase 2 welding).
uint8_t vertFlags = 0
 Cooked active-vertex mask.

Detailed Description

One row of depen-contact telemetry.

Emitted by the trimesh depen kernel when a per-triangle MTV depth significantly exceeds the player's Minkowski half-radius for that triangle's normal — i.e., the player center is on the BACK side of the face plane (signedDist < 0), which is geometrically possible only against back-facing duplicate triangles, inverted-winding tris, or a real (multi-tick) tunnel.

Member Data Documentation

◆ depth

float physics::diag::DepenContact::depth = 0.0f

MTV magnitude = R - signedDist.

◆ edgeFlags

uint8_t physics::diag::DepenContact::edgeFlags = 0

Cooked active-edge mask (bit i ⇔ edge i active per Phase 2 welding).

◆ faceNormal

glm::vec3 physics::diag::DepenContact::faceNormal {0.0f}

Cooked face normal of the offending triangle.

◆ minkowskiR

float physics::diag::DepenContact::minkowskiR = 0.0f

|faceN|·halfExtents — depth would saturate at 2·R (s = -R).

◆ playerPos

glm::vec3 physics::diag::DepenContact::playerPos {0.0f}

Player capsule center at the moment of overlap.

◆ region

int physics::diag::DepenContact::region = 0

Closest feature on the triangle: 0=Face, 1=Edge0, 2=Edge1, 3=Edge2, 4=Vert0, 5=Vert1, 6=Vert2.

◆ signedDist

float physics::diag::DepenContact::signedDist = 0.0f

dot(faceN, playerPos - v0). Negative ⇒ player on back side.

◆ triId

uint32_t physics::diag::DepenContact::triId = 0

◆ v0

glm::vec3 physics::diag::DepenContact::v0 {0.0f}

◆ v1

glm::vec3 physics::diag::DepenContact::v1 {0.0f}

◆ v2

glm::vec3 physics::diag::DepenContact::v2 {0.0f}

◆ vertFlags

uint8_t physics::diag::DepenContact::vertFlags = 0

Cooked active-vertex mask.


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