{
"api/Hi.Cbtr.CachedTris.SweepingMode.html": {
"href": "api/Hi.Cbtr.CachedTris.SweepingMode.html",
"title": "Enum CachedTris.SweepingMode | HiAPI-C# 2025",
"summary": "Enum CachedTris.SweepingMode Namespace Hi.Cbtr Assembly HiCbtr.dll Defines the mode for sweeping operations. public enum CachedTris.SweepingMode Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields Auto = 0 Automatically choose the best sweeping mode. ForceLinear = 1 Force linear sweeping mode. ForceNonLinear = 2 Force non-linear sweeping mode."
},
"api/Hi.Cbtr.CachedTris.html": {
"href": "api/Hi.Cbtr.CachedTris.html",
"title": "Class CachedTris | HiAPI-C# 2025",
"summary": "Class CachedTris Namespace Hi.Cbtr Assembly HiCbtr.dll Feature-cached triangle for CubeTree computation. public class CachedTris : IDisposable, IDisplayee, IExpandToBox3d Inheritance object CachedTris Implements IDisposable IDisplayee IExpandToBox3d Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CachedTris(NativeTopoStld, Mat4d, double) Ctor by the transformed stl. only available for geometry that does not contains near point or points on the same line on the same plane. public CachedTris(NativeTopoStld stl, Mat4d mat, double fractionTolerance) Parameters stl NativeTopoStld stl mat Mat4d transformation matrix fractionTolerance double fraction tolerance for the operation CachedTris(NativeTopoStld, NativeTopoStlfr, Mat4d, Mat4d, double, SweepingMode) Ctor by the swept stl. The sweeping is from the transformation of pre to cur. public CachedTris(NativeTopoStld tstl, NativeTopoStlfr tstlfr, Mat4d pre, Mat4d cur, double fractionTolerance, CachedTris.SweepingMode sweepingMode = SweepingMode.Auto) Parameters tstl NativeTopoStld Topo Stl tstlfr NativeTopoStlfr Topo Stl with fraction tolerance pre Mat4d previous transformation matrix cur Mat4d current transformation matrix fractionTolerance double fraction tolerance for the operation sweepingMode CachedTris.SweepingMode mode for the sweeping operation Properties CachedTrisPtr Native pointer of the object. public nint CachedTrisPtr { get; } Property Value nint Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box ~CachedTris() protected ~CachedTris()"
},
"api/Hi.Cbtr.CbtrPickable.html": {
"href": "api/Hi.Cbtr.CbtrPickable.html",
"title": "Class CbtrPickable | HiAPI-C# 2025",
"summary": "Class CbtrPickable Namespace Hi.Cbtr Assembly HiCbtr.dll Pickable of CubeTree grids. public class CbtrPickable : Pickable, IGetPickable, IDisposable Inheritance object Pickable CbtrPickable Implements IGetPickable IDisposable Derived DiffAttachment UnhighlightablePickable ClStripPos Inherited Members Pickable.Pickables Pickable.mark Pickable.PickingID Pickable.GetPickable() Pickable.OnKeyDown(key_event_t, DispEngine) Pickable.OnKeyUp(key_event_t, DispEngine) Pickable.OnMouseDown(mouse_button_event_t, DispEngine) Pickable.OnMouseUp(mouse_button_event_t, DispEngine) Pickable.OnMouseMove(mouse_move_event_t, DispEngine) Pickable.OnMouseWheel(mouse_wheel_event_t, DispEngine) Pickable.Dispose() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CbtrPickable() Initializes a new instance of the CbtrPickable class with default white color. public CbtrPickable() CbtrPickable(vec3f) Initializes a new instance of the CbtrPickable class with specified color. public CbtrPickable(vec3f rgb) Parameters rgb vec3f The RGB color for the pickable object. Properties AttachmentPriority The color and Pickable priority if several attachments occupied at the same pixel. NAN is the lowest priority. the smaller number is the lower priority. public virtual double AttachmentPriority { get; set; } Property Value double Rgb Color RGB. public virtual Vec3d Rgb { get; set; } Property Value Vec3d Methods CleanLinkedCbtrNodesDrawingCache() CleanLinkedNodesDrawingCache. Not thread safe with substraction process. public void CleanLinkedCbtrNodesDrawingCache() Dispose(bool) protected override void Dispose(bool disposing) Parameters disposing bool Highlight(bool) Highlight the CbtrPickable by triangles line. Only one CbtrPickable can be highlighted on a CubeTree. public void Highlight(bool b) Parameters b bool highligt or not OnMouseEnter(ui_event_type, DispEngine) Behavior on mouse enter public override void OnMouseEnter(ui_event_type e, DispEngine dispEngine) Parameters e ui_event_type event type dispEngine DispEngine display engine OnMouseLeave(ui_event_type, DispEngine) Behavior on mouse leave public override void OnMouseLeave(ui_event_type e, DispEngine dispEngine) Parameters e ui_event_type event type dispEngine DispEngine display engine ShrinkToFitNodeMap() ShrinkToFitNodeMap. Not thread safe with substraction process. public void ShrinkToFitNodeMap()"
},
"api/Hi.Cbtr.ConstructionDefectDisplayee.html": {
"href": "api/Hi.Cbtr.ConstructionDefectDisplayee.html",
"title": "Class ConstructionDefectDisplayee | HiAPI-C# 2025",
"summary": "Class ConstructionDefectDisplayee Namespace Hi.Cbtr Assembly HiCbtr.dll Encapsulates cube tree construction defect results, including both defect data and visualization drawings. public class ConstructionDefectDisplayee : IDisplayee, IExpandToBox3d, IDisposable Inheritance object ConstructionDefectDisplayee Implements IDisplayee IExpandToBox3d IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors ConstructionDefectDisplayee(List, IProgress) Ctor. public ConstructionDefectDisplayee(List defectNodeInfos, IProgress progress = null) Parameters defectNodeInfos List Defect node infos from cube tree construction. progress IProgress Progress reporter for user-facing messages. Properties DefectNodeInfos Defect node infos collected during cube tree construction. public List DefectNodeInfos { get; } Property Value List DefectNodesToShow Maximum number of defect nodes to show. public int DefectNodesToShow { get; set; } Property Value int HasDefects Whether any defects were found. public bool HasDefects { get; } Property Value bool Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetFittingView(Box3d, Mat4d) Gets a fitting view matrix for a defect box, preserving the current view rotation. public static Mat4d GetFittingView(Box3d defectBox, Mat4d sketchView) Parameters defectBox Box3d The defect box to fit. sketchView Mat4d The current sketch view matrix. Returns Mat4d A view matrix that fits the defect box, or the original sketch view if inputs are invalid. Events DefectBoxSelected Fired when a defect box flag is selected (clicked). The parameter is the Box3d of the selected defect box. public event Action DefectBoxSelected Event Type Action"
},
"api/Hi.Cbtr.CubeTree.DefectNodeInfo.TriWireInfo.html": {
"href": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.TriWireInfo.html",
"title": "Class CubeTree.DefectNodeInfo.TriWireInfo | HiAPI-C# 2025",
"summary": "Class CubeTree.DefectNodeInfo.TriWireInfo Namespace Hi.Cbtr Assembly HiCbtr.dll A single triangle-wire relation entry within a defect node. public class CubeTree.DefectNodeInfo.TriWireInfo Inheritance object CubeTree.DefectNodeInfo.TriWireInfo Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties EdgeIndex The wire edge index (0-11). public int EdgeIndex { get; set; } Property Value int Tri The triangle geometry. public Tri3d Tri { get; set; } Property Value Tri3d TriWireRelation Tri-wire relation data. public CubeTree.TriWireRelationInterop TriWireRelation { get; set; } Property Value CubeTree.TriWireRelationInterop"
},
"api/Hi.Cbtr.CubeTree.DefectNodeInfo.html": {
"href": "api/Hi.Cbtr.CubeTree.DefectNodeInfo.html",
"title": "Class CubeTree.DefectNodeInfo | HiAPI-C# 2025",
"summary": "Class CubeTree.DefectNodeInfo Namespace Hi.Cbtr Assembly HiCbtr.dll Info for a single defect node detected during cube tree construction. public class CubeTree.DefectNodeInfo Inheritance object CubeTree.DefectNodeInfo Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Box Bounding box of the defect node. public Box3d Box { get; set; } Property Value Box3d Level Tree level of the defect node. public int Level { get; set; } Property Value int TriWireInfos Triangle-wire relation info for each triangle involved in this defect node. public List TriWireInfos { get; } Property Value List"
},
"api/Hi.Cbtr.CubeTree.DefectTriWireInfoInterop.html": {
"href": "api/Hi.Cbtr.CubeTree.DefectTriWireInfoInterop.html",
"title": "Struct CubeTree.DefectTriWireInfoInterop | HiAPI-C# 2025",
"summary": "Struct CubeTree.DefectTriWireInfoInterop Namespace Hi.Cbtr Assembly HiCbtr.dll Interop struct matching C++ defect_tri_wire_info_interop_t. public struct CubeTree.DefectTriWireInfoInterop Inherited Members ValueType.Equals(object) ValueType.GetHashCode() ValueType.ToString() object.Equals(object, object) object.GetType() object.ReferenceEquals(object, object) Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields EdgeIndex Wire edge index (0-11). public int EdgeIndex Field Value int Tri Triangle geometry. public tri3d Tri Field Value tri3d TriWireRelation Tri-wire relation data. public CubeTree.TriWireRelationInterop TriWireRelation Field Value CubeTree.TriWireRelationInterop"
},
"api/Hi.Cbtr.CubeTree.InfNodeInfo.html": {
"href": "api/Hi.Cbtr.CubeTree.InfNodeInfo.html",
"title": "Class CubeTree.InfNodeInfo | HiAPI-C# 2025",
"summary": "Class CubeTree.InfNodeInfo Namespace Hi.Cbtr Assembly HiCbtr.dll Info for a single node with inf edge_cuts, containing box and edge indices. public class CubeTree.InfNodeInfo Inheritance object CubeTree.InfNodeInfo Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Box Bounding box of the node. public Box3d Box { get; set; } Property Value Box3d InfEdgeIndices Edge indices (0-11) of inf edge_cuts in this node. public List InfEdgeIndices { get; } Property Value List"
},
"api/Hi.Cbtr.CubeTree.TriWireRelationInterop.html": {
"href": "api/Hi.Cbtr.CubeTree.TriWireRelationInterop.html",
"title": "Struct CubeTree.TriWireRelationInterop | HiAPI-C# 2025",
"summary": "Struct CubeTree.TriWireRelationInterop Namespace Hi.Cbtr Assembly HiCbtr.dll Interop struct matching C++ tri_wire_relation_interop_t. public struct CubeTree.TriWireRelationInterop Inherited Members ValueType.Equals(object) ValueType.GetHashCode() ValueType.ToString() object.Equals(object, object) object.GetType() object.ReferenceEquals(object, object) Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields CachedPosCornerStateMask For unparallel: 2 corner_state_t at the pos (2 x 2 bits, {0th=min, 1th=max}). For parallel: 0. public int CachedPosCornerStateMask Field Value int Pos0 For parallel: min position. For unparallel: intersection position. public double Pos0 Field Value double Pos1 For parallel: max position. For unparallel: NaN. public double Pos1 Field Value double RelationMask Bitmask of tri_wire_relation_enum_t flags. public int RelationMask Field Value int Properties IsOutside Is outside relation. public bool IsOutside { get; } Property Value bool IsParallel Is parallel relation. public bool IsParallel { get; } Property Value bool IsUnparallel Is unparallel relation. public bool IsUnparallel { get; } Property Value bool"
},
"api/Hi.Cbtr.CubeTree.diff_response_func_t.html": {
"href": "api/Hi.Cbtr.CubeTree.diff_response_func_t.html",
"title": "Delegate CubeTree.diff_response_func_t | HiAPI-C# 2025",
"summary": "Delegate CubeTree.diff_response_func_t Namespace Hi.Cbtr Assembly HiCbtr.dll Delegate for handling difference responses during geometry comparison. public delegate void CubeTree.diff_response_func_t(nint node_sp, double diff, nint plus_arg) Parameters node_sp nint Pointer to the node. diff double The difference value. plus_arg nint Additional argument pointer. Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object)"
},
"api/Hi.Cbtr.CubeTree.html": {
"href": "api/Hi.Cbtr.CubeTree.html",
"title": "Class CubeTree | HiAPI-C# 2025",
"summary": "Class CubeTree Namespace Hi.Cbtr Assembly HiCbtr.dll Cube-based data structure. CubeTree has high performance for free-form geometry manipulation include volume removal and addition. public class CubeTree : IDisposable, IDisplayee, ICollidee, ICollidable, IExpandToBox3d, IGetCollidable Inheritance object CubeTree Implements IDisposable IDisplayee ICollidee ICollidable IExpandToBox3d IGetCollidable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods CollisionUtil.Detect(CubeTree, TriTree, Mat4d, double, int) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) SweptableUtil.RemoveBySweepingVolume(CubeTree, IGetSweptable, Mat4d, Mat4d, double, double, bool, bool) CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CubeTree(NativeStl, double, CancellationToken, IProgress) Ctor. This ctor is faster than CubeTree(NativeStl, double, CancellationToken, IProgress). public CubeTree(NativeStl stl, double preferredGridWidth, CancellationToken token, IProgress progress) Parameters stl NativeStl Triangle Grid. The triangles must be manifold geometry. preferredGridWidth double The expected resolution. token CancellationToken Cancellation token for the operation progress IProgress Progress reporter for the operation Remarks The applied resolution is equal or smaller than the expected resolution. The applied resolution is c*(2^i). Where c is a constant; i is a integer to make the closest value of the formula. Errors relative to the input geometry are distributed at sharp edges and curved surfaces. CubeTree(Stl, double, CancellationToken, IProgress) Can be initialized with Stl or NativeStl objects; using NativeStl is faster. The input triangle mesh must be manifold geometry, i.e., triangle vertices are aligned with other triangles' vertices, and the geometry must be closed. public CubeTree(Stl stl, double expectedResolution, CancellationToken token, IProgress progress) Parameters stl Stl expectedResolution double Sets the preferred resolution. The actual resolution will be equal to or smaller than the specified value, approximately spaced by powers of 2. Errors relative to the input geometry are distributed at sharp edges and curved surfaces. token CancellationToken Cancellation token for the operation progress IProgress Progress reporter for the operation CubeTree(string) Initializes a new instance of the CubeTree class from a file. public CubeTree(string file) Parameters file string The path to the cube tree file. Fields KeyDll Key dll path. public const string KeyDll = \"hi-key.dll\" Field Value string defaultPreferredGridWidth The default grid_width for the constructor. public const double defaultPreferredGridWidth = 0.0625 Field Value double Properties CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag CubetreePtr Private element. public nint CubetreePtr { get; } Property Value nint DispCacheMb Display cache size in Mb. The cahce cost from graphic card and RAM. public static long DispCacheMb { get; set; } Property Value long Resolution Get initialized resolution. public double Resolution { get; } Property Value double TotalCacheMb Cache size used by CubeTree. Sum of TrisCacheMb and DispCacheMb. TotalCacheMb Setter distributes (2/5 of the setting value) for DispCacheMb. public static long TotalCacheMb { get; set; } Property Value long TrisCacheMb Triangles cache size in Mb. The cache costs from RAM. public static long TrisCacheMb { get; set; } Property Value long Methods CleanCache() Call Hi.Cbtr.CubeTree.CleanTrisCache() and Hi.Cbtr.CubeTree.CleanDispCache_(). public static void CleanCache() CleanDispCachee() Clean display cache of this. public void CleanDispCachee() ContainsInfEdgeCuts() Checks if any existing node in the cube tree contains inf or -inf in its edge_cuts array. public bool ContainsInfEdgeCuts() Returns bool true if any node contains inf or -inf in edge_cuts, false otherwise. Diff(NativeStl, double, RangeColorRule, IProgress) Compares the cube tree with an ideal geometry and returns difference attachments. public ConcurrentBag Diff(NativeStl idealGeom, double diffRadius, RangeColorRule diffRangeColorRule, IProgress progress = null) Parameters idealGeom NativeStl The ideal geometry to compare with. diffRadius double The radius for difference detection. diffRangeColorRule RangeColorRule The color rule for visualizing differences. progress IProgress Progress reporter for the operation. Returns ConcurrentBag A collection of difference attachments. Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box ~CubeTree() dtor protected ~CubeTree() GetCollidable() Gets the collidable object. public ICollidable GetCollidable() Returns ICollidable The collidable object (this instance). GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetInfEdgeCutsInfo() Gets info for all nodes that contain inf or -inf in their edge_cuts array. Each node's box is grouped with its corresponding inf edge indices. This is useful for identifying and visualizing non-manifold geometry issues in the cube tree. public List GetInfEdgeCutsInfo() Returns List A list of node info, each containing a box and its inf edge indices. GetRgbTrisNativeArray(double) Get triangles in type of double array. The returned triangles is non-manifold. It may not be closed model and the apexes of triangle grid may not be overlapped. public double[] GetRgbTrisNativeArray(double resolution = 0) Parameters resolution double The preferred resolution. The real resolution may be smaller or equal the prefered resolution. The real resolution is discrete. The resolution value is at 2^i. The geometric error mainly locate at corner. Returns double[] rgb traingle grid. In sequence of r,g,b,n.x,n.y,n.z,p0.x,p0.y,p0.z,p1.x,p1.y,p1.z,p2.x,p2.y,p2.z, repetitively. A triangle take 15 double. GetTris(double) Get triangles. The returned triangles is non-manifold. It may not be closed model and the apexes of triangle grid may not be overlapped. public List GetTris(double resolution = 0) Parameters resolution double Sets the preferred resolution. The actual resolution will be equal to or smaller than the specified value, approximately spaced by powers of 2. Errors relative to the input geometry are distributed at sharp edges and curved surfaces. A larger resolution results in fewer triangles and faster computation. Returns List Triangle mesh NewWithDefectInfos(NativeStl, double, CancellationToken, IProgress) Creates a new CubeTree and collects defect node infos during construction. public static (CubeTree cubeTree, List defectInfos) NewWithDefectInfos(NativeStl stl, double preferredGridWidth, CancellationToken token, IProgress progress) Parameters stl NativeStl preferredGridWidth double token CancellationToken progress IProgress Returns (CubeTree cubeTree, List defectInfos) NewWithDefectInfos(Stl, double, CancellationToken, IProgress) Creates a new CubeTree and collects defect node infos during construction. public static (CubeTree cubeTree, List defectInfos) NewWithDefectInfos(Stl stl, double preferredGridWidth, CancellationToken token, IProgress progress) Parameters stl Stl preferredGridWidth double token CancellationToken progress IProgress Returns (CubeTree cubeTree, List defectInfos) RebuildAttach(CbtrPickable) Every node in CubeTree can contain one CbtrPickable object. This function put or replace the contained data of all nodes to src. Using UpdateAttach(CbtrPickable) will place nodes that have not yet stored data (CbtrPickable is null) into src. public void RebuildAttach(CbtrPickable src) Parameters src CbtrPickable RemoveFlyPiece() Removes disconnected pieces (fly pieces) from the cube tree. public void RemoveFlyPiece() Substract(CachedTris, double, bool, bool) Using BufferedTris is more efficient than NativeStl. If the resolution of the subtraction region differs from the body's resolution, the lower resolution is applied to that region. public UnmanagedSubstraction Substract(CachedTris cutterBufferedTris, double preferredCubeWidth, bool isBuildContactContours = false, bool isAggressiveCut = false) Parameters cutterBufferedTris CachedTris Subtraction geometry preferredCubeWidth double The preferred cube width for the operation. isBuildContactContours bool If true, the returned Substraction contains contour groups at the intersection of the subtraction geometry and the workpiece geometry, which can be used for further analysis. isAggressiveCut bool If true, uses aggressive cutting mode. Returns UnmanagedSubstraction Substract(GeomBoolCache, bool, bool) Subtracts a geometry from the cube tree using a geometry boolean cache. public UnmanagedSubstraction Substract(GeomBoolCache geomBoolCache, bool isBuildContactContours = false, bool isAggressiveCut = false) Parameters geomBoolCache GeomBoolCache The geometry boolean cache containing the geometry to subtract. isBuildContactContours bool If true, the returned Substraction will contain contact contours. isAggressiveCut bool If true, uses aggressive cutting mode. Returns UnmanagedSubstraction The result of the subtraction operation. Substract(InitStickConvex, Mat4d, double, bool, bool) Subtracts a stick convex geometry from the cube tree. public UnmanagedSubstraction Substract(InitStickConvex initStickConvex, Mat4d mat, double preferredCubeWidth, bool isBuildContactContours = false, bool isAggressiveCut = false) Parameters initStickConvex InitStickConvex The stick convex geometry to subtract. mat Mat4d The transformation matrix to apply to the stick convex. preferredCubeWidth double The preferred cube width for the operation. isBuildContactContours bool If true, the returned Substraction will contain contact contours. isAggressiveCut bool If true, uses aggressive cutting mode. Returns UnmanagedSubstraction The result of the subtraction operation. Substract(NativeStl, double, bool, bool) Same functionality as Substract(BufferedTris,...). Less efficient due to the additional step of converting to CachedTris. public UnmanagedSubstraction Substract(NativeStl cutterStl, double preferredCubeWidth = 0, bool isBuildContactContours = false, bool isAggressiveCut = false) Parameters cutterStl NativeStl preferredCubeWidth double isBuildContactContours bool isAggressiveCut bool Returns UnmanagedSubstraction TestDiff(out CubeTree, out NativeStl) Tests the difference calculation between a cube tree and an ideal geometry. public static void TestDiff(out CubeTree cubeTree_, out NativeStl idealGeom_) Parameters cubeTree_ CubeTree The resulting cube tree. idealGeom_ NativeStl The ideal geometry used for comparison. TestIO() Tests the input/output operations for a cube tree. public static CubeTree TestIO() Returns CubeTree The cube tree created or loaded during the test. TestSimpleRemove(out CubeTree) Tests the simple removal operation on a cube tree. public static void TestSimpleRemove(out CubeTree cubeTree_) Parameters cubeTree_ CubeTree The resulting cube tree after the removal operation. UpdateAttach(CbtrPickable) Every node in CubeTree can contain one CbtrPickable object. This function put src to the nodes that contain null. public void UpdateAttach(CbtrPickable src) Parameters src CbtrPickable WriteFile(string) Writes the cube tree to a file. public void WriteFile(string file) Parameters file string The path where the cube tree will be written."
},
"api/Hi.Cbtr.CubeTreeFile.html": {
"href": "api/Hi.Cbtr.CubeTreeFile.html",
"title": "Class CubeTreeFile | HiAPI-C# 2025",
"summary": "Class CubeTreeFile Namespace Hi.Cbtr Assembly HiCbtr.dll Represents a file containing cube tree data. public class CubeTreeFile : IMakeXmlSource, ISourceFile, IToPresentDto Inheritance object CubeTreeFile Implements IMakeXmlSource ISourceFile IToPresentDto Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CubeTreeFile() Ctor. public CubeTreeFile() CubeTreeFile(string, string) Ctor. public CubeTreeFile(string relFile, string baseDirectory) Parameters relFile string baseDirectory string CubeTreeFile(XElement, string) Ctor. public CubeTreeFile(XElement src, string baseDirectory) Parameters src XElement XML baseDirectory string Base directory for relative paths. Properties BaseDirectory Gets or sets the base directory for file operations. public string BaseDirectory { get; set; } Property Value string SourceFile file path. public string SourceFile { get; set; } Property Value string XName Name for XML IO. public static string XName { get; } Property Value string Methods LoadByFile() Loads a cube tree from the specified file. public CubeTree LoadByFile() Returns CubeTree The loaded cube tree, or null if the file path is empty or null. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file. ToPresentDto() Convert to presentation DTO (Data Transfer Object) for JSON serialization. The returned object includes type metadata for web API presentation. public object ToPresentDto() Returns object DTO object with type and object properties"
},
"api/Hi.Cbtr.DiffAttachment.html": {
"href": "api/Hi.Cbtr.DiffAttachment.html",
"title": "Class DiffAttachment | HiAPI-C# 2025",
"summary": "Class DiffAttachment Namespace Hi.Cbtr Assembly HiCbtr.dll Represents an attachment with a difference value for cube tree. public class DiffAttachment : CbtrPickable, IGetPickable, IDisposable Inheritance object Pickable CbtrPickable DiffAttachment Implements IGetPickable IDisposable Inherited Members CbtrPickable.Rgb CbtrPickable.AttachmentPriority CbtrPickable.Highlight(bool) CbtrPickable.CleanLinkedCbtrNodesDrawingCache() CbtrPickable.ShrinkToFitNodeMap() CbtrPickable.OnMouseEnter(ui_event_type, DispEngine) CbtrPickable.OnMouseLeave(ui_event_type, DispEngine) Pickable.Pickables Pickable.mark Pickable.PickingID Pickable.GetPickable() Pickable.OnKeyDown(key_event_t, DispEngine) Pickable.OnKeyUp(key_event_t, DispEngine) Pickable.OnMouseDown(mouse_button_event_t, DispEngine) Pickable.OnMouseUp(mouse_button_event_t, DispEngine) Pickable.OnMouseMove(mouse_move_event_t, DispEngine) Pickable.OnMouseWheel(mouse_wheel_event_t, DispEngine) Pickable.Dispose() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors DiffAttachment(double) Initializes a new instance of the DiffAttachment class. public DiffAttachment(double diff) Parameters diff double The difference value. Properties Diff Gets or sets the difference value. public double Diff { get; set; } Property Value double Methods Dispose(bool) protected override void Dispose(bool disposing) Parameters disposing bool"
},
"api/Hi.Cbtr.GeomBoolCache.html": {
"href": "api/Hi.Cbtr.GeomBoolCache.html",
"title": "Class GeomBoolCache | HiAPI-C# 2025",
"summary": "Class GeomBoolCache Namespace Hi.Cbtr Assembly HiCbtr.dll Cache for geometry boolean operations. public class GeomBoolCache : IDisposable Inheritance object GeomBoolCache Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors GeomBoolCache(GeomBoolCacheEnum) Initializes a new instance of the GeomBoolCache class. public GeomBoolCache(GeomBoolCacheEnum boolGeomCacheEnum) Parameters boolGeomCacheEnum GeomBoolCacheEnum The type of geometry boolean cache. Properties CachedTris Gets or sets the cached triangles. public CachedTris CachedTris { get; set; } Property Value CachedTris ConvexTransformation Gets or sets the convex transformation matrix. public Mat4d ConvexTransformation { get; set; } Property Value Mat4d GeomBoolCacheEnum Gets or sets the type of geometry boolean cache. public GeomBoolCacheEnum GeomBoolCacheEnum { get; set; } Property Value GeomBoolCacheEnum InitStickConvex Gets or sets the initialization stick convex. public InitStickConvex InitStickConvex { get; set; } Property Value InitStickConvex PreferredCubeWidth Gets or sets the preferred cube width. public double PreferredCubeWidth { get; set; } Property Value double Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ToString() Returns a string that represents the current object. public override string ToString() Returns string A string that represents the current object."
},
"api/Hi.Cbtr.GeomBoolCacheEnum.html": {
"href": "api/Hi.Cbtr.GeomBoolCacheEnum.html",
"title": "Enum GeomBoolCacheEnum | HiAPI-C# 2025",
"summary": "Enum GeomBoolCacheEnum Namespace Hi.Cbtr Assembly HiCbtr.dll Enumeration of geometry boolean cache types. public enum GeomBoolCacheEnum Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields CachedTris = 1 Cached triangles mode. StickConvex = 2 Stick convex mode."
},
"api/Hi.Cbtr.IGetInitStickConvex.html": {
"href": "api/Hi.Cbtr.IGetInitStickConvex.html",
"title": "Interface IGetInitStickConvex | HiAPI-C# 2025",
"summary": "Interface IGetInitStickConvex Namespace Hi.Cbtr Assembly HiCbtr.dll Interface of GetInitStickConvex(). public interface IGetInitStickConvex : IVolumeRemover Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Methods GetInitStickConvex() Get InitStickConvex. InitStickConvex GetInitStickConvex() Returns InitStickConvex InitStickConvex"
},
"api/Hi.Cbtr.InfDefectDisplayee.html": {
"href": "api/Hi.Cbtr.InfDefectDisplayee.html",
"title": "Class InfDefectDisplayee | HiAPI-C# 2025",
"summary": "Class InfDefectDisplayee Namespace Hi.Cbtr Assembly HiCbtr.dll Encapsulates inf edge cuts defect visualization for a cube tree, including defect boxes, edge segments, and flag drawings. public class InfDefectDisplayee : IDisplayee, IExpandToBox3d, IDisposable Inheritance object InfDefectDisplayee Implements IDisplayee IExpandToBox3d IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors InfDefectDisplayee(List) Ctor. Builds drawings from the given inf node info list. public InfDefectDisplayee(List nodeInfoList) Parameters nodeInfoList List Properties DefectBoxes Defect boxes for display (capped to Hi.Cbtr.InfDefectDisplayee.defectBoxesToShow). public List DefectBoxes { get; } Property Value List HasDefects Whether any inf defects were found. public bool HasDefects { get; } Property Value bool NodeInfoList Inf node info list from cube tree. public List NodeInfoList { get; } Property Value List Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box ReportTo(IProgress) Reports defect information to a message host. public void ReportTo(IProgress messageHost) Parameters messageHost IProgress"
},
"api/Hi.Cbtr.InitStickConvex.html": {
"href": "api/Hi.Cbtr.InitStickConvex.html",
"title": "Class InitStickConvex | HiAPI-C# 2025",
"summary": "Class InitStickConvex Namespace Hi.Cbtr Assembly HiCbtr.dll Represents a stick convex initialization object. public class InitStickConvex : IDisposable Inheritance object InitStickConvex Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors InitStickConvex(IGetGeneralApt) Initializes a new instance of the InitStickConvex class. public InitStickConvex(IGetGeneralApt src) Parameters src IGetGeneralApt The source object that provides general APT information. Properties InitStickConvexPtr Gets the native pointer to the stick convex object. public nint InitStickConvexPtr { get; } Property Value nint Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ~InitStickConvex() protected ~InitStickConvex()"
},
"api/Hi.Cbtr.LsStl.html": {
"href": "api/Hi.Cbtr.LsStl.html",
"title": "Class LsStl | HiAPI-C# 2025",
"summary": "Class LsStl Namespace Hi.Cbtr Assembly HiCbtr.dll Linear Sweptable Stl. [Obsolete] public class LsStl : IDisposable Inheritance object LsStl Implements IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors LsStl(NativeStl) Initializes a new instance of the LsStl class. public LsStl(NativeStl nativeStl) Parameters nativeStl NativeStl The native STL to create a linear sweepable STL from. Properties LsStlPtr Gets or sets the native pointer to the linear sweepable STL. public nint LsStlPtr { get; set; } Property Value nint Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) Releases the unmanaged resources used by the LsStl and optionally releases the managed resources. protected virtual void Dispose(bool disposing) Parameters disposing bool true to release both managed and unmanaged resources; false to release only unmanaged resources. ~LsStl() Finalizes an instance of the LsStl class. protected ~LsStl()"
},
"api/Hi.Cbtr.Substraction.html": {
"href": "api/Hi.Cbtr.Substraction.html",
"title": "Class Substraction | HiAPI-C# 2025",
"summary": "Class Substraction Namespace Hi.Cbtr Assembly HiCbtr.dll Represents the result of a volume subtraction operation. public class Substraction : IWriteBin, IDisplayee, IExpandToBox3d Inheritance object Substraction Implements IWriteBin IDisplayee IExpandToBox3d Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MillingRemovalUtil.GetContoursOnToolRunningCoordinate(Substraction, MachineMotionStep) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors Substraction() Ctor. for Entity Framework. public Substraction() Substraction(UnmanagedSubstraction) Initializes a new instance of the Substraction class from an unmanaged substraction. public Substraction(UnmanagedSubstraction unmanagedSubstraction) Parameters unmanagedSubstraction UnmanagedSubstraction The unmanaged substraction to copy data from. Substraction(BinaryReader) Initializes a new instance of the Substraction class from a binary reader. public Substraction(BinaryReader reader) Parameters reader BinaryReader The binary reader to read data from. Properties ContactContours Gets or sets the contact contours on workpiece coordinate. public List> ContactContours { get; } Property Value List> ContactContoursArea Gets the area of the contact contours. public double ContactContoursArea { get; init; } Property Value double ContactContoursByteArray Gets or sets the byte array representation of the contact contours. public byte[] ContactContoursByteArray { get; set; } Property Value byte[] IsTouched Gets a value indicating whether the cutter and workpiece touched. public bool IsTouched { get; init; } Property Value bool StepIndex Step index. For database saving. [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public int StepIndex { get; set; } Property Value int Methods ContactContoursReadBin(BinaryReader) Reads contact contours from a binary reader. public static List> ContactContoursReadBin(BinaryReader reader) Parameters reader BinaryReader The binary reader to read from. Returns List> A list of contact contour lists. ContactContoursWriteBin(List>, BinaryWriter) Writes contact contours to a binary writer. public static void ContactContoursWriteBin(List> contactContours, BinaryWriter writer) Parameters contactContours List> The contact contours to write. writer BinaryWriter The binary writer to write to. Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box WriteBin(BinaryWriter) Writes the object's data to a binary stream. public void WriteBin(BinaryWriter writer) Parameters writer BinaryWriter The binary writer to write to"
},
"api/Hi.Cbtr.UnhighlightablePickable.html": {
"href": "api/Hi.Cbtr.UnhighlightablePickable.html",
"title": "Class UnhighlightablePickable | HiAPI-C# 2025",
"summary": "Class UnhighlightablePickable Namespace Hi.Cbtr Assembly HiCbtr.dll Cbtr un-highlightable pickable. For initailizing purpose by RebuildAttach(CbtrPickable). public class UnhighlightablePickable : CbtrPickable, IGetPickable, IDisposable Inheritance object Pickable CbtrPickable UnhighlightablePickable Implements IGetPickable IDisposable Inherited Members CbtrPickable.Rgb CbtrPickable.AttachmentPriority CbtrPickable.Highlight(bool) CbtrPickable.CleanLinkedCbtrNodesDrawingCache() CbtrPickable.ShrinkToFitNodeMap() CbtrPickable.Dispose(bool) Pickable.Pickables Pickable.mark Pickable.PickingID Pickable.GetPickable() Pickable.OnKeyDown(key_event_t, DispEngine) Pickable.OnKeyUp(key_event_t, DispEngine) Pickable.OnMouseDown(mouse_button_event_t, DispEngine) Pickable.OnMouseUp(mouse_button_event_t, DispEngine) Pickable.OnMouseMove(mouse_move_event_t, DispEngine) Pickable.OnMouseWheel(mouse_wheel_event_t, DispEngine) Pickable.Dispose() object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors UnhighlightablePickable() Ctor. public UnhighlightablePickable() Methods OnMouseEnter(ui_event_type, DispEngine) Behavior on mouse enter public override void OnMouseEnter(ui_event_type e, DispEngine dispEngine) Parameters e ui_event_type event type dispEngine DispEngine display engine OnMouseLeave(ui_event_type, DispEngine) Behavior on mouse leave public override void OnMouseLeave(ui_event_type e, DispEngine dispEngine) Parameters e ui_event_type event type dispEngine DispEngine display engine"
},
"api/Hi.Cbtr.UnmanagedSubstraction.html": {
"href": "api/Hi.Cbtr.UnmanagedSubstraction.html",
"title": "Class UnmanagedSubstraction | HiAPI-C# 2025",
"summary": "Class UnmanagedSubstraction Namespace Hi.Cbtr Assembly HiCbtr.dll Data about the removing behavior of CubeTree. public class UnmanagedSubstraction : IDisplayee, IExpandToBox3d, IDisposable Inheritance object UnmanagedSubstraction Implements IDisplayee IExpandToBox3d IDisposable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields preserveCount The count of preservations to prevent disposal. public int preserveCount Field Value int Properties ContactContours Contact contours. Each contour is composed by 3~12 points. public List> ContactContours { get; } Property Value List> ContactContoursArea Gets the area of the contact contours. public double ContactContoursArea { get; } Property Value double IsTouched Is the cutter and workpiece touched. public bool IsTouched { get; } Property Value bool Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. DisplayContours(Bind) Display ContactContours by lines. public void DisplayContours(Bind bind) Parameters bind Bind bind Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box ~UnmanagedSubstraction() protected ~UnmanagedSubstraction() PreserveBegin() Preserve the object from arising Dispose(). Add preserve count for 1. public void PreserveBegin() See Also PreserveEnd() PreserveEnd() Minus preserve count for 1. If preserve count is eqaul or lower than 0, call Dispose(). public void PreserveEnd() See Also PreserveBegin()"
},
"api/Hi.Cbtr.WireCube.html": {
"href": "api/Hi.Cbtr.WireCube.html",
"title": "Class WireCube | HiAPI-C# 2025",
"summary": "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 object WireCube Implements IDisplayee IExpandToBox3d Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) DispUtil.Display(IDisplayee, Bind, Mat4d) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) 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."
},
"api/Hi.Cbtr.html": {
"href": "api/Hi.Cbtr.html",
"title": "Namespace Hi.Cbtr | HiAPI-C# 2025",
"summary": "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. 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 Represents a stick convex initialization object. LsStl Linear Sweptable Stl. Substraction Represents the result of a volume subtraction operation. UnhighlightablePickable Cbtr un-highlightable pickable. For initailizing purpose by RebuildAttach(CbtrPickable). 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.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."
},
"api/Hi.Cbtr.node_diff_t.html": {
"href": "api/Hi.Cbtr.node_diff_t.html",
"title": "Struct node_diff_t | HiAPI-C# 2025",
"summary": "Struct node_diff_t Namespace Hi.Cbtr Assembly HiCbtr.dll Structure representing a node with a difference value. public struct node_diff_t Inherited Members ValueType.Equals(object) ValueType.GetHashCode() ValueType.ToString() object.Equals(object, object) object.GetType() object.ReferenceEquals(object, object) Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields diff Difference value. public double diff Field Value double node Pointer to the node. public nint node Field Value nint"
},
"api/Hi.Collision.AnchoredCollidableLeaf.html": {
"href": "api/Hi.Collision.AnchoredCollidableLeaf.html",
"title": "Class AnchoredCollidableLeaf | HiAPI-C# 2025",
"summary": "Class AnchoredCollidableLeaf Namespace Hi.Collision Assembly HiMech.dll Represents a leaf node in the anchored collidable hierarchy. public class AnchoredCollidableLeaf : IAnchoredCollidableLeaf, IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable, IGetCollidable Inheritance object AnchoredCollidableLeaf Implements IAnchoredCollidableLeaf IAnchoredCollidableNode IAnchoredCollidableBased ICollidable IGetCollidable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors AnchoredCollidableLeaf() Initializes a new instance of the AnchoredCollidableLeaf class. public AnchoredCollidableLeaf() AnchoredCollidableLeaf(string, Anchor, ICollidable) Initializes a new instance of the AnchoredCollidableLeaf class with a name, anchor, and collidable object. public AnchoredCollidableLeaf(string collidableName, Anchor anchor, ICollidable collidable) Parameters collidableName string The name of the collidable object. anchor Anchor The anchor for the collidable object. collidable ICollidable The collidable object. Properties Anchor Gets or sets the anchor for this collidable leaf. public Anchor Anchor { get; set; } Property Value Anchor Collidable Gets or sets the collidable object. public ICollidable Collidable { get; set; } Property Value ICollidable CollidableName Gets or sets the name of the collidable object. public string CollidableName { get; set; } Property Value string CollisionFlag Gets or sets the collision flag indicating the collision status of this collidable object. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Methods GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node. GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidableAnchor() Gets the anchor associated with this collidable leaf. public Anchor GetCollidableAnchor() Returns Anchor The anchor for this collidable leaf. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetRootAnchor() public Anchor GetRootAnchor() Returns Anchor"
},
"api/Hi.Collision.AnchoredCollidablePair.html": {
"href": "api/Hi.Collision.AnchoredCollidablePair.html",
"title": "Class AnchoredCollidablePair | HiAPI-C# 2025",
"summary": "Class AnchoredCollidablePair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of anchored collidable objects for collision detection. public class AnchoredCollidablePair : IMakeXmlSource Inheritance object AnchoredCollidablePair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors AnchoredCollidablePair(IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with two collidable objects. public AnchoredCollidablePair(IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(string, IAnchoredCollidableBased, IAnchoredCollidableBased) Initializes a new instance of the AnchoredCollidablePair class with a name and two collidable objects. public AnchoredCollidablePair(string name, IAnchoredCollidableBased indexA, IAnchoredCollidableBased indexB) Parameters name string The name of the pair. indexA IAnchoredCollidableBased The first collidable object. indexB IAnchoredCollidableBased The second collidable object. AnchoredCollidablePair(XElement, string, IProgress, object[]) Initializes a new instance of the AnchoredCollidablePair class from XML. public AnchoredCollidablePair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collidable object in the pair. public IAnchoredCollidableBased IndexA { get; } Property Value IAnchoredCollidableBased IndexB Gets the second collidable object in the pair. public IAnchoredCollidableBased IndexB { get; } Property Value IAnchoredCollidableBased MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d Name Gets or sets the pair name for UI manipulation. public string Name { get; set; } Property Value string SafeDistance Gets or sets the safe distance between the two collidable objects. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file."
},
"api/Hi.Collision.CollidableStl.html": {
"href": "api/Hi.Collision.CollidableStl.html",
"title": "Class CollidableStl | HiAPI-C# 2025",
"summary": "Class CollidableStl Namespace Hi.Collision Assembly HiCbtr.dll Collidable Stl. public class CollidableStl : IDisposable, IGetTriTree, ICollidable, IGetCollidable Inheritance object CollidableStl Implements IDisposable IGetTriTree ICollidable IGetCollidable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CollidableStl(IGetStl) Ctor. public CollidableStl(IGetStl iGetStl) Parameters iGetStl IGetStl Properties CollisionFlag Gets or sets the collision flag. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Methods Dispose() Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. public void Dispose() Dispose(bool) protected virtual void Dispose(bool disposing) Parameters disposing bool GetCollidable() Get ICollidable. public ICollidable GetCollidable() Returns ICollidable The collidable object. GetCollidee() Get ICollidee. public ICollidee GetCollidee() Returns ICollidee ICollidee GetTriTree() Get TriTree. public TriTree GetTriTree() Returns TriTree TriTree"
},
"api/Hi.Collision.CollisionFlag.html": {
"href": "api/Hi.Collision.CollisionFlag.html",
"title": "Enum CollisionFlag | HiAPI-C# 2025",
"summary": "Enum CollisionFlag Namespace Hi.Collision Assembly HiCbtr.dll Collision flag. The definition is the same as native collision_flag. public enum CollisionFlag Extension Methods InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) MaskUtil.GetMaskedValue(T, T, bool) MaskUtil.SetMask(ref T, T, bool) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Fields Collision = 0 Collision. MAY_INSIDE_SAFE_DISTANCE = 1 May or may not be inside the safe distance. OUTSIDE_SAFE_DISTANCE = 2 Outside the safe distance. UNDEFINED = 3 Not defined behavior. _IGNORED = 4 Internal Use Only Remarks The int value is according to severity. The larger is severer."
},
"api/Hi.Collision.CollisionIndexPair.html": {
"href": "api/Hi.Collision.CollisionIndexPair.html",
"title": "Class CollisionIndexPair | HiAPI-C# 2025",
"summary": "Class CollisionIndexPair Namespace Hi.Collision Assembly HiMech.dll Represents a pair of collision indices for collision detection. public class CollisionIndexPair : IMakeXmlSource Inheritance object CollisionIndexPair Implements IMakeXmlSource Inherited Members object.Equals(object, object) object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors CollisionIndexPair(ICollisionIndex, ICollisionIndex) Initializes a new instance of the CollisionIndexPair class with two collision indices. public CollisionIndexPair(ICollisionIndex indexA, ICollisionIndex indexB) Parameters indexA ICollisionIndex The first collision index. indexB ICollisionIndex The second collision index. CollisionIndexPair(XElement, string, IProgress, object[]) Initializes a new instance of the CollisionIndexPair class from XML. public CollisionIndexPair(XElement src, string baseDirectory, IProgress progress, object[] res) Parameters src XElement The XML element containing the pair data. baseDirectory string The base directory for resolving relative paths. progress IProgress res object[] Additional resources for initialization. Fields XName The XML element name for serialization. public static string XName Field Value string Properties CollisionFlag Gets or sets the collision flag indicating the collision status between the two objects. public CollisionFlag CollisionFlag { get; } Property Value CollisionFlag IndexA Gets the first collision index in the pair. public ICollisionIndex IndexA { get; } Property Value ICollisionIndex IndexB Gets the second collision index in the pair. public ICollisionIndex IndexB { get; } Property Value ICollisionIndex MatAB Gets or sets the transformation matrix from object A to object B. public Mat4d MatAB { get; set; } Property Value Mat4d SafeDistance Gets or sets the safe distance between the two collision indices. public double SafeDistance { get; set; } Property Value double Methods Equals(object) Determines whether the specified object is equal to the current object. public override bool Equals(object obj) Parameters obj object The object to compare with the current object. Returns bool true if the specified object is equal to the current object; otherwise, false. GetHashCode() Serves as the default hash function. public override int GetHashCode() Returns int A hash code for the current object. MakeXmlSource(string, string, bool) Creates an XML representation of the object. This method may also generate additional resources such as related files. public XElement MakeXmlSource(string baseDirectory, string relFile, bool exhibitionOnly) Parameters baseDirectory string The base directory for resolving relative paths relFile string The relative file path for the XML source exhibitionOnly bool if true, the extended file creation is suppressed. Returns XElement An XML element representing the object's state Remarks For the demand of easy moving source folder (especially project folder) without configuration file path corruption, the relative file path is applied. The baseDirectory is typically the folder at the nearest configuration file folder. Since the folder can be moving with the configuration file."
},
"api/Hi.Collision.CollisionUtil.html": {
"href": "api/Hi.Collision.CollisionUtil.html",
"title": "Class CollisionUtil | HiAPI-C# 2025",
"summary": "Class CollisionUtil Namespace Hi.Collision Assembly HiCbtr.dll Utility of tree grid related structure. public static class CollisionUtil Inheritance object CollisionUtil Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Methods Detect(CubeTree, TriTree, Mat4d, double, int) Get CollisionFlag between treeA and treeB*matAB. public static CollisionFlag Detect(this CubeTree treeA, TriTree treeB, Mat4d matAB, double safeDistance, int cap = 1024) Parameters treeA CubeTree treeA treeB TriTree treeB matAB Mat4d relative transform matrix to take B to the position relative to A. The mat is Inv(matA)*matB. safeDistance double safe distance for the flag judgement cap int Returns CollisionFlag CollisionFlag Detect(ICollidable, ICollidable, Mat4d, double, int) Get CollisionFlag between collidableA and collidableB*matAB. public static CollisionFlag Detect(this ICollidable collidableA, ICollidable collidableB, Mat4d matAB, double safeDistance = 0, int cap = 1024) Parameters collidableA ICollidable collidable A collidableB ICollidable collidable B matAB Mat4d relative transform matrix to take B to the position relative to A. The mat is Inv(matA)*matB. If one of collidableA and collidableB is null, return OUTSIDE_SAFE_DISTANCE. safeDistance double safe distance for the flag judgement cap int Returns CollisionFlag CollisionFlag Detect(TriTree, TriTree, Mat4d, double, int) Get CollisionFlag between treeA and treeB*matAB. public static CollisionFlag Detect(this TriTree treeA, TriTree treeB, Mat4d matAB, double safeDistance, int cap = 1024) Parameters treeA TriTree treeA treeB TriTree treeB matAB Mat4d relative transform matrix to take B to the position relative to A. The mat is Inv(matA)*matB. safeDistance double safe distance for the flag judgement cap int Returns CollisionFlag CollisionFlag"
},
"api/Hi.Collision.FuncAnchoredCollidable.html": {
"href": "api/Hi.Collision.FuncAnchoredCollidable.html",
"title": "Class FuncAnchoredCollidable | HiAPI-C# 2025",
"summary": "Class FuncAnchoredCollidable Namespace Hi.Collision Assembly HiMech.dll Represents a function-based implementation of an anchored collidable object. public class FuncAnchoredCollidable : IAnchoredCollidableBased Inheritance object FuncAnchoredCollidable Implements IAnchoredCollidableBased Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors FuncAnchoredCollidable(string, Func) Initializes a new instance of the FuncAnchoredCollidable class with a name and a function to get the anchored collidable node. public FuncAnchoredCollidable(string collidableName, Func getAnchoredCollidableNodeFunc) Parameters collidableName string The name of the collidable object. getAnchoredCollidableNodeFunc Func The function to get the anchored collidable node. Properties CollidableName Gets the name of the collidable object. public string CollidableName { get; set; } Property Value string CollisionFlag Gets or sets the collision flag indicating the collision status of this collidable object. public CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag GetAnchoredCollidableNodeFunc Gets or sets the function to get the anchored collidable node. public Func GetAnchoredCollidableNodeFunc { get; set; } Property Value Func Methods GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. public IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node."
},
"api/Hi.Collision.IAnchoredCollidableBased.html": {
"href": "api/Hi.Collision.IAnchoredCollidableBased.html",
"title": "Interface IAnchoredCollidableBased | HiAPI-C# 2025",
"summary": "Interface IAnchoredCollidableBased Namespace Hi.Collision Assembly HiMech.dll Interface for objects that are based on anchored collidable nodes. public interface IAnchoredCollidableBased Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties CollidableName Gets the name of the collidable object. string CollidableName { get; } Property Value string Methods GetAnchoredCollidableNode() Gets the anchored collidable node associated with this object. IAnchoredCollidableNode GetAnchoredCollidableNode() Returns IAnchoredCollidableNode The anchored collidable node."
},
"api/Hi.Collision.IAnchoredCollidableLeaf.html": {
"href": "api/Hi.Collision.IAnchoredCollidableLeaf.html",
"title": "Interface IAnchoredCollidableLeaf | HiAPI-C# 2025",
"summary": "Interface IAnchoredCollidableLeaf Namespace Hi.Collision Assembly HiMech.dll Interface for leaf nodes in the anchored collidable hierarchy. A leaf node represents a collidable object that doesn't contain other collidable objects. public interface IAnchoredCollidableLeaf : IAnchoredCollidableNode, IAnchoredCollidableBased, ICollidable Inherited Members IAnchoredCollidableBased.CollidableName IAnchoredCollidableBased.GetAnchoredCollidableNode() ICollidable.CollisionFlag ICollidable.GetCollidee() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Methods GetCollidableAnchor() Gets the anchor associated with this collidable leaf. Anchor GetCollidableAnchor() Returns Anchor The anchor for this collidable leaf."
},
"api/Hi.Collision.IAnchoredCollidableNode.html": {
"href": "api/Hi.Collision.IAnchoredCollidableNode.html",
"title": "Interface IAnchoredCollidableNode | HiAPI-C# 2025",
"summary": "Interface IAnchoredCollidableNode Namespace Hi.Collision Assembly HiMech.dll Base interface for anchored collidable nodes in the collision hierarchy. Do not inherit this interface directly. Only inherit directly from IAnchoredCollidableLeaf and IAnchoredCollidableStem. It is acceptable to inherit from IAnchoredCollidableLeaf and IAnchoredCollidableStem. public interface IAnchoredCollidableNode : IAnchoredCollidableBased Inherited Members IAnchoredCollidableBased.CollidableName IAnchoredCollidableBased.GetAnchoredCollidableNode() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object)"
},
"api/Hi.Collision.IAnchoredCollidableStem.html": {
"href": "api/Hi.Collision.IAnchoredCollidableStem.html",
"title": "Interface IAnchoredCollidableStem | HiAPI-C# 2025",
"summary": "Interface IAnchoredCollidableStem Namespace Hi.Collision Assembly HiMech.dll Interface for stem nodes in the anchored collidable hierarchy. A stem node represents a collidable object that contains other collidable objects. public interface IAnchoredCollidableStem : IAnchoredCollidableNode, IAnchoredCollidableBased, IExpandToBox3d Inherited Members IAnchoredCollidableBased.CollidableName IAnchoredCollidableBased.GetAnchoredCollidableNode() IExpandToBox3d.ExpandToBox3d(Box3d) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Methods GetAnchoredCollidables() Gets the list of anchored collidable nodes contained by this stem. List GetAnchoredCollidables() Returns List A list of anchored collidable nodes."
},
"api/Hi.Collision.ICollidable.html": {
"href": "api/Hi.Collision.ICollidable.html",
"title": "Interface ICollidable | HiAPI-C# 2025",
"summary": "Interface ICollidable Namespace Hi.Collision Assembly HiCbtr.dll Collidable geometry. public interface ICollidable Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties CollisionFlag Gets or sets the collision flag. CollisionFlag CollisionFlag { get; set; } Property Value CollisionFlag Methods GetCollidee() Get ICollidee. ICollidee GetCollidee() Returns ICollidee ICollidee"
},
"api/Hi.Collision.ICollidee.html": {
"href": "api/Hi.Collision.ICollidee.html",
"title": "Interface ICollidee | HiAPI-C# 2025",
"summary": "Interface ICollidee Namespace Hi.Collision Assembly HiCbtr.dll Dont inherit the interface. Only TriTree and CubeTree inherit the interface. public interface ICollidee : ICollidable, IExpandToBox3d Inherited Members ICollidable.CollisionFlag ICollidable.GetCollidee() IExpandToBox3d.ExpandToBox3d(Box3d) Extension Methods CollisionUtil.Detect(ICollidable, ICollidable, Mat4d, double, int) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke