Table of Contents

Namespace Hi.Cbtr

Classes

CachedTris

Feature-cached triangle for CubeTree computation.

CbtrPickable

Pickable of CubeTree grids.

ConstructionDefectDisplayee

Encapsulates cube tree construction defect results, including both defect data and visualization drawings.

CubeTree

Cube-based data structure. CubeTree has high performance for free-form geometry manipulation include volume removal and addition.

CubeTree.DefectNodeInfo

Info for a single defect node detected during cube tree construction.

CubeTree.DefectNodeInfo.TriWireInfo

A single triangle-wire relation entry within a defect node.

CubeTree.InfNodeInfo

Info for a single node with inf edge_cuts, containing box and edge indices.

CubeTreeExportExtensions

Mesh export helpers for CubeTree.

CubeTreeFile

Represents a file containing cube tree data.

DiffAttachment

Represents an attachment with a difference value for cube tree.

GeomBoolCache

Cache for geometry boolean operations.

InfDefectDisplayee

Encapsulates inf edge cuts defect visualization for a cube tree, including defect boxes, edge segments, and flag drawings.

InitStickConvex

One share of a native stick convex (init_stick_convex_t, built by hi-key from an apt_t). The native object is shared: the profile that built it holds one share as its cache (AptProfile.GetInitStickConvex), and every consumer that takes it for a subtraction holds another (TryShare(), kept on its GeomBoolCache). Dispose() gives this share back; the native object is freed by the last share given back, so a profile that clears its cache while a step is subtracting with the convex frees nothing until that step is done. A share that was given back answers Zero and mints nothing. Should no share be reachable any more, the finalizer frees the native object (never while a share is held: a held share keeps it reachable).

Substraction

Represents the result of a volume subtraction operation.

UnhighlightablePickable

Cbtr un-highlightable pickable. For initailizing purpose by RebuildAttach(CbtrPickable).

UnmanagedAddition

Data about the adding behavior of CubeTree. The dual of UnmanagedSubstraction.

UnmanagedSubstraction

Data about the removing behavior of CubeTree.

WireCube

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.

Structs

CubeTree.DefectTriWireInfoInterop

Interop struct matching C++ defect_tri_wire_info_interop_t.

CubeTree.DiffStats

Interop struct matching C++ geom_compare_stats_t (thirteen longs, same order): the counters of one Diff(NativeStl, double, RangeColorRule, IProgress<IMessage>, out DiffStats) run.

CubeTree.TriWireRelationInterop

Interop struct matching C++ tri_wire_relation_interop_t.

node_diff_t

Structure representing a node with a difference value.

Interfaces

IGetInitStickConvex

Interface of GetInitStickConvex().

Enums

CachedTris.SweepingMode

Defines the mode for sweeping operations.

GeomBoolCacheEnum

Enumeration of geometry boolean cache types.

Delegates

CubeTree.diff_response_func_t

Delegate for handling difference responses during geometry comparison.