Table of Contents

Namespace Hi.Collision

Classes

AnchoredCollidableLeaf

Represents a leaf node in the anchored collidable hierarchy.

CollidableStl

Collidable Stl.

CollisionIndexPair

Represents a pair of collision indices for collision detection.

CollisionUtil

Utility of tree grid related structure.

FuncAnchoredCollidable

Represents a function-based implementation of an anchored collidable object.

MechCollisionResult

Represents the result of a mechanical collision detection operation.

MechCollisionUtil

Utility class providing methods for mechanical collision detection and management.

TriTree

A wrapper provides native tree-grid-based structure. It wraps NativeStl.

Structs

CollisionPairAnswer

Internal Use Only. One pair's answer of collision__detect_pairs (DetectPairs(long, long, IReadOnlyList<ICollidable>, CollisionPairRecord[], CollisionPairAnswer[], int[], out CollisionFlag, int)): the mirror of mechcollisioncollision_pair_out_t (136 bytes) – the pose and the flag to write back to the pair, and what the call did with it. For a pair not reached or skipped (state 0 / 1) the pose and the flag echo the record's, so writing them back changes nothing, as the managed loop leaves such a pair. Field for field collision_pairs.h.

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.

Interfaces

IAnchoredCollidableBased

Interface for objects that are based on anchored collidable nodes.

IAnchoredCollidableLeaf

Interface for leaf nodes in the anchored collidable hierarchy. A leaf node represents a collidable object that doesn't contain other collidable objects.

IAnchoredCollidableNode

Base interface for anchored collidable nodes in the collision hierarchy. Do not inherit this interface directly. Only inherit directly from IAnchoredCollidableLeaf and IAnchoredCollidableStem. It is acceptable to inherit from IAnchoredCollidableLeaf and IAnchoredCollidableStem.

IAnchoredCollidableStem

Interface for stem nodes in the anchored collidable hierarchy. A stem node represents a collidable object that contains other collidable objects.

ICollidable

Collidable geometry.

ICollidee

Dont inherit the interface. Only TriTree and CubeTree inherit the interface.

ICollisionArena

Interface for a topological collision arena that manages collision detection between objects.

ICollisionIndex

Interface for collision index objects that provide identification and anchoring for collidable objects.

IGetCollidable

Interface for objects that can provide a collidable object.

IGetCollisionIndexPairs

Interface for objects that can provide pairs of collision indices for collision detection.

IGetTriTree

Interface of TriTree Getter.

Enums

CollisionFlag

Collision flag. The definition is the same as native collision_flag.