Table of Contents

Namespace Hi.Cbtr

Classes

CachedTris

Feature-cached triangle for CubeTree computation.

CbtrPickable

Pickable of CubeTree grids.

CloudStickConvexToken

Internal Use Only. One answer of the cloud token provider (CloudTokenProvider) for one shape: the signed stick-convex token the cloud licence server built for this device (Token, verified and imported by core in TryCreate(IGetGeneralApt, out string)), or why there is none (Unavailable).

ConstructionDefectDisplayee

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

The drawings are made by Display(Bind), where a GL context is current, never by the constructor, which runs on the cube tree's build thread outside any frame: a drawing made there while no other context lives is stale the moment it is returned (the context made for it is the only one of its share group, and the group dies with it), and a large one, such as the outline of more than 113 boxes, keeps the process's anchor context alive although no canvas was ever opened.

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.

The drawings are made by Display(Bind), where a GL context is current, never by the constructor, which runs on the thread that scans the tree, outside any frame: a drawing made there while no other context lives is stale the moment it is returned (the context made for it is the only one of its share group, and the group dies with it), and a large one, such as the outline of more than 113 boxes, keeps the process's anchor context alive although no canvas was ever opened.

InitStickConvex

One share of a native stick convex (init_stick_convex_t, built by hi-key from an apt_t, or imported by core from the cloud licence server's signed token, see TryCreate(IGetGeneralApt, out string)). 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.

CubeTreeRebindStats

What a read of a .wct with rebound attachments did to the tree's nodes (CubeTree(string, ReadOnlySpan<nint>, IReadOnlyList<CbtrPickable>, CbtrPickable, out CubeTreeRebindStats); the NC play result review): the nodes read, those that carry a key's pickable, those that carry the fallback and those whose pointer was null. Told by the pickable a node carries, not by the key: a pair whose pickable is the fallback itself counts its nodes as unknown, as the native struct does. Nodes is the sum of the other three. Mirrors the native cbtr::cube_tree_rebind_stats_t: four Int64 in this order, sequential layout.

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.