nx_partid.nx
buildroot/runtime/nx_partid.nx
about
nx_partid.nx -- geometric PART IDENTIFICATION (cadtwin P5): recognize a mesh part's shape CATEGORY by a
ROTATION- and SCALE-INVARIANT descriptor = the eigenvalue ratios of the vertex covariance (principal-moment
signature). A rod -> one dominant axis (long,thin,thin); a plate -> two dominant (flat); a cube -> three equal.
Invariant BY CONSTRUCTION: covariance rotates as R C R^T (eigenvalues unchanged) and scales by s^2 (ratios
unchanged). Match a query descriptor to the nearest catalog entry. Composes nx_mesh3 (verts) + nx_epose
(power-iteration 3x3 eigensolver). HONEST: coarse shape CLASS (fastener/plate/bracket/rod), NOT fine OEM
part-number ID -- that needs the EPC catalog corpus + finer/neural matching (the fuller P5 rung, benchmark-free
per the research). Deterministic. license_tier: ORIGINAL
dependencies 2 imports · 3 importers
imports: nx_mesh3.nxnx_epose.nx
imported by: nx_cadtwin_report.nxnx_partid_gate.nxnx_step_geom_gate.nx
structs
| none |
consts
| none |
functions
| 13 | func pid_cov(base: i64, C: *i64) -> i64 |
| 43 | func pid_rayleigh(C: *i64, v: *i64) -> i64 |
| 49 | func pid_deflate(C: *i64, l: i64, v: *i64, out: *i64) -> i64 called by 1: pid_eigvals |
| 66 | func pid_eigvals(C: *i64, out3: *i64) -> i64 |
| 100 | func pid_descriptor(base: i64, out2: *i64) -> i64 |
| 111 | func pid_match(d: *i64, cat: *i64, ncat: i64, out_dist: *i64) -> i64 called by 1: main |
| 128 | func pid_rotate_mesh(src: i64, dst: i64, R: *i64) -> i64 |