code wiki / (root) / nx_meshseg3d.nx

nx_meshseg3d.nx

buildroot/runtime/nx_meshseg3d.nx

3283 B81 linesdepth 4pulls 5 transitivereach 7 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_meshseg3d.nx -- 3D PART SEGMENTATION of a triangle mesh (cadtwin P2): decompose a scanned mesh into its component PARTS so each can be analyzed (per-part wall-thickness R5 + underbuilt R6). Classical region-growing: (a) CONNECTIVITY -- disconnected mesh pieces = separate parts; (b) CREASE -- within a connected piece, split at sharp dihedral edges (adjacent face normals differ by more than a DATA-DRIVEN threshold). ONE function with a cos-threshold param does both (threshold = -Q -> pure connectivity; higher -> crease-split). The neural SOTA (SAMPart3D/PartField, PartObjaverse-Tiny mIoU ~84) is trained-model-bound; this is the sovereign classical first rung. Composes nx_mesh3 + nx_meshthick (face normals). Deterministic. license_tier: ORIGINAL

dependencies 1 imports · 3 importers

nx_meshthick.nx nx_meshseg3d.nx nx_cadtwin_report.nx nx_meshseg3d_gate.nx nx_partanalyze.nx

imports: nx_meshthick.nx

imported by: nx_cadtwin_report.nxnx_meshseg3d_gate.nxnx_partanalyze.nx

structs

none

consts

none

functions

11func ms_adjacent(base: i64, i: i64, j: i64) -> i64
called by 1: ms_segment calls 1: m3_tri
30func ms_segment(base: i64, cos_thresh: i64, labels: *i64) -> i64
75func ms_seg_sizes(labels: *i64, nf: i64, counts: *i64, k: i64) -> i64