Table of Contents

Class CollisionRedScope

Namespace
Hi.NcMech.Solids
Assembly
HiMech.dll

Render-thread ambient scope telling Display(Bind) which items the current scene paints collision-red. Collision state is per-scenario and owned by the detecting equipment — never stored on the geometry, so one Solid hosted by several topology entities carries no cross-scenario red — and it is application state, so it does not travel on the display base layer (Bind) either: the scene object that owns the state opens the scope around its subtree.

using var _ = CollisionRedScope.Enter(equipment.IsCollisionRed);
asmb.Display(bind, root, displayees);
public static class CollisionRedScope
Inheritance
CollisionRedScope
Inherited Members

Methods

Enter(Func<object, bool>)

Opens a scope on the calling thread; dispose restores the previous one. isCollisionRed may be null (an empty scope).

public static CollisionRedScope.Scope Enter(Func<object, bool> isCollisionRed)

Parameters

isCollisionRed Func<object, bool>

The scene's per-item collision query.

Returns

CollisionRedScope.Scope

Token that restores the previous scope on dispose.

IsRed(object)

Whether the ambient scene flags item collision-red. False outside any scope — a topology displayed without one (e.g. the authored setup face) never paints red.

public static bool IsRed(object item)

Parameters

item object

A displayed item (typically a Solid).

Returns

bool

true if the item is currently collision-red.