Struct CollisionPairRecord
Internal Use Only. One pair of a collision detection call as handed to collision__detect_pairs
(DetectPairs(long, long, IReadOnlyList<ICollidable>, CollisionPairRecord[], CollisionPairAnswer[], int[], out CollisionFlag, int)): the mirror of mechcollisioncollision_pair_in_t
(168 bytes), filled by the caller that owns the pairs (HiMech's MechCollisionUtil.DetectNative,
from its CollisionIndexPairs) and passed as it is – no copy, one layout check in
NativeCollision's static constructor. The memo goes in through last_mat_ab and
memo_flag and comes back in the CollisionPairAnswer; the native is
stateless. Field for field collision_pairs.h.
public struct CollisionPairRecord
- Inherited Members
- Extension Methods
Fields
anchor_a
The topology id of A's anchor; 0 for an unbound anchor, which the anchor map never holds (the pair is not reached).
public long anchor_a
Field Value
anchor_b
The topology id of B's anchor; 0 for an unbound anchor.
public long anchor_b
Field Value
collidable_a
A's index into the call's collidables; -1 when A resolves to no collidable.
public int collidable_a
Field Value
collidable_b
B's index into the call's collidables; -1 when B resolves to no collidable.
public int collidable_b
Field Value
last_mat_ab
The pose the pair remembers (CollisionIndexPair.MatAB before the call): the memo's key.
public mat4d_t last_mat_ab
Field Value
memo_flag
The flag the pair remembers (CollisionIndexPair.CollisionFlag before the call, as its int); UNDEFINED for a pair to evaluate afresh.
public int memo_flag
Field Value
reserved
public int reserved
Field Value
safe_distance
The pair's safe distance for the flag judgement.
public double safe_distance