Table of Contents

Class WireCube

Namespace
Hi.Cbtr
Assembly
HiCbtr.dll

For Internal Use Only. Represents a wire cube for display purposes. The edge index follows the C++ cube_node_t pattern: edgeIndex = (dir << 2) | (th1 << 1) | th0 where dir is the edge direction (0=X, 1=Y, 2=Z), th0 is the position flag in (dir+1)%3 direction, th1 is the position flag in (dir+2)%3 direction.

public class WireCube : IDisplayee, IExpandToBox3d
Inheritance
WireCube
Implements
Inherited Members
Extension Methods

Methods

Display(Bind)

Displays the wire cube.

public void Display(Bind bind)

Parameters

bind Bind

The binding context for display.

ExpandToBox3d(Box3d)

Expands the destination box to include the unit cube.

public void ExpandToBox3d(Box3d dst)

Parameters

dst Box3d

The destination box to expand.

GetCorner(int, bool)

Gets the corner index (0-7) from an edge index and whether it's the tail endpoint. This follows the C++ WireCube::getCorner(int edgeIndex, bool is_tail) pattern.

public static int GetCorner(int edgeIndex, bool isTail)

Parameters

edgeIndex int

The edge index (0-11).

isTail bool

True for the tail endpoint (max in edge direction), false for head (min in edge direction).

Returns

int

The corner index (0-7) where bit 0=X, bit 1=Y, bit 2=Z indicate min(0) or max(1) position.

GetCornerVertex(Box3d, int)

Gets the vertex position of a corner from a box.

public static Vec3d GetCornerVertex(Box3d box, int corner)

Parameters

box Box3d

The bounding box.

corner int

The corner index (0-7) where bit 0=X, bit 1=Y, bit 2=Z indicate min(0) or max(1) position.

Returns

Vec3d

The vertex position.

GetDir(int)

Gets the direction (axis) of an edge.

public static int GetDir(int edgeIndex)

Parameters

edgeIndex int

The edge index (0-11).

Returns

int

The direction: 0=X, 1=Y, 2=Z.

GetEdgeIndex(int, int, int)

Gets the edge index from direction and position flags.

public static int GetEdgeIndex(int dir, int th0, int th1)

Parameters

dir int

The edge direction (0=X, 1=Y, 2=Z).

th0 int

Position flag in (dir+1)%3 direction (0 or 1).

th1 int

Position flag in (dir+2)%3 direction (0 or 1).

Returns

int

The edge index (0-11).

GetEdgeSegment3d(Box3d, int)

Gets the two endpoint vertices of an edge for a given box and edge index.

public static Segment3d GetEdgeSegment3d(Box3d box, int edgeIndex)

Parameters

box Box3d

The bounding box.

edgeIndex int

The edge index (0-11).

Returns

Segment3d

A tuple containing the head (min in edge direction) and tail (max in edge direction) vertices of the edge.