Table of Contents

Struct CollisionPairRecord

Namespace
Hi.Collision
Assembly
HiCbtr.dll

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

long

anchor_b

The topology id of B's anchor; 0 for an unbound anchor.

public long anchor_b

Field Value

long

collidable_a

A's index into the call's collidables; -1 when A resolves to no collidable.

public int collidable_a

Field Value

int

collidable_b

B's index into the call's collidables; -1 when B resolves to no collidable.

public int collidable_b

Field Value

int

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

mat4d_t

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

int

reserved

public int reserved

Field Value

int

safe_distance

The pair's safe distance for the flag judgement.

public double safe_distance

Field Value

double