code wiki / (root) / nx_solid_grid_candidate_t365.nx

nx_solid_grid_candidate_t365.nx

buildroot/runtime/nx_solid_grid_candidate_t365.nx

6962 B58 linesdepth 8pulls 9 transitivereach 1 importersview sourcekind librarytopic solid
docsdependenciesstructsconstsfunctions

about

Part-aware union grid, using counted YZ buckets and one reusable workspace. Field scalars are signed X-column boundary distances; NOT Euclidean SDF. Unmerged (part ID, crossing) events are retained for every column as provenance.

dependencies 1 imports · 1 importers

nx_solid_mesh_column_candidate_t36 nx_solid_grid_candidate_t365.n nx_solid_grid_gate_t365.nx

imports: nx_solid_mesh_column_candidate_t365.nx

imported by: nx_solid_grid_gate_t365.nx

structs

5struct SfgRecipe { ox:i64,oy:i64,oz:i64,step:i64,nx:i64,ny:i64,nz:i64,units:i64,max_bytes:i64,max_tests:i64, }
6struct SfgStats { field_words:i64,columns:i64,event_offset:i64,event_count:i64,peak_bytes:i64,tests:i64,insertions:i64,max_bucket:i64,failed_y:i64,failed_z:i64, }

consts

none

functions

7func sfg_add(a:i64,b:i64)->i64{if a<0||b<0||b>NX_BO_I64_MAX-a{return -1};return a+b}
called by 1: sfg_grid_v1
8func sfg_mul(a:i64,b:i64)->i64{if a<0||b<0{return -1};if a==0||b==0{return 0};if b>NX_BO_I64_MAX/a{return -1};return a*b}
called by 1: sfg_grid_v1
9func sfg_axis(o:i64,n:i64,step:i64)->i64{if o<0-SFC_COORD||o>SFC_COORD||n<1||step<1||step>2*SFC_COORD{return 0};if n-1>(SFC_COORD-o)/step{return 0};return 1}
called by 1: sfg_grid_v1
10func sfg_lo(t:*i64,axis:i64,o:i64,step:i64,n:i64)->i64{var v:i64=t[axis];if t[axis+3]<v{v=t[axis+3]};if t[axis+6]<v{v=t[axis+6]};if v<=o{return 0};let j:i64=(v-o+step-1)/step;if j>n{return n};return j}
called by 1: sfg_grid_v1
11func sfg_hi(t:*i64,axis:i64,o:i64,step:i64,n:i64)->i64{var v:i64=t[axis];if t[axis+3]>v{v=t[axis+3]};if t[axis+6]>v{v=t[axis+6]};if v<o{return -1};let j:i64=(v-o)/step;if j>=n{return n-1};return j}
called by 1: sfg_grid_v1
12func sfg_grid_v1(tri:*i64,nt:i64,part_tris:*i64,np:i64,r:*SfgRecipe,out:*NxBufOwned,stats:*SfgStats,e:*SfuFailure)->i64