Namespace Hi.Cbtr
Classes
- CachedTris
Feature-cached triangle for CubeTree computation.
- 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
.wctwith 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 nativecbtr::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.