nx_gm_cloth_lib_t138.nx
buildroot/runtime/nx_gm_cloth_lib_t138.nx
about
nx_gm_cloth_lib.nx -- LIB: the PG29 cloth XPBD solver (gm_xpbd_step and its edge/area
rulers). Split out of nx_nxa_garment so the GATE can import it without colliding with the
generator's main(); the garment organ imports this lib and carries a REAL call (the
xpbdcheck verb), so its PG29 watch-row flip is backed by wiring, not a name in a comment.
license_tier: ORIGINAL No hw writes (Rule 26).
dependencies 1 imports · 2 importers
imports: nx_softtissue.nx
imported by: nx_gm_xpbd_correct_gate_t138.nxnx_gm_xpbd_drape_t138.nx
structs
| none |
consts
| 29 | const GM_EROW: i64 = 4 |
| 30 | const GM_C_STRUCT: i64 = 0 |
| 31 | const GM_C_SHEAR: i64 = 1 |
| 32 | const GM_C_BEND: i64 = 2 |
| 34 | const GM_SKIN: i64 = 2 |
| 108 | const GMC_MAX:i64=9223372036854775807 |
functions
| 36 | func gm_isqrt(n: i64) -> i64 |
| 48 | func gm_dist(v: *i64, a: i64, b: i64) -> i64 |
| 57 | func gm_edges_build(verts: *i64, nu: i64, nv2: i64, edges: *i64) -> i64 |
| 109 | func gmc_add(a:i64,b:i64,s:*i64)->i64 |
| 115 | func gmc_mul(a:i64,b:i64,s:*i64)->i64 called by 5: gmc_dotgmc_alphagm_xpbd_step_checkedgmc_closestgm_capsule_project_checked calls 1: st_abs |
| 121 | func gmc_round(a:i64,b:i64,s:*i64)->i64 called by 4: gmc_alphagm_xpbd_step_checkedgmc_closestgm_capsule_project_checked calls 2: st_absst_div_r |
| 126 | func gmc_dot(ax:i64,ay:i64,az:i64,bx:i64,by:i64,bz:i64,s:*i64)->i64 |
| 129 | func gmc_alpha(a:i64,ds:i64,dt:i64,s:*i64)->i64 |
| 136 | func gmc_overlap(a:i64,na:i64,b:i64,nb:i64)->i64 |
| 143 | func gm_xpbd_workspace_words(nvv:i64,ne:i64)->i64 |
| 154 | func gm_xpbd_step_checked(verts:*i64,vel:*i64,nvv:i64,edges:*i64,ne:i64, called by 2: gm_xpbd_stepmain calls 8: gm_xpbd_workspace_wordsgmc_overlapgmc_addgmc_dotst_isqrtgmc_alpha+2 |
| 250 | func gm_xpbd_step(verts:*i64,vel:*i64,nvv:i64,edges:*i64,ne:i64,pins:*i64,npins:i64, |
| 263 | func gm_xpbd_step_banked(verts:*i64,vel:*i64,nvv:i64,edges:*i64,ne:i64,pins:*i64,npins:i64, |
| 275 | func gm_area2(verts: *i64, nu: i64, nv2: i64) -> i64 |
| 320 | func gmc_closest(px:i64,py:i64,pz:i64,ax:i64,ay:i64,az:i64,ux:i64,uy:i64,uz:i64,uu:i64,c:*i64,s:*i64)->i64 |
| 329 | func gm_capsule_project_checked(verts:*i64,vel:*i64,nvv:i64, |
| 392 | func gm_capsule_project(verts:*i64,vel:*i64,nvv:i64,ax:i64,ay:i64,az:i64,bx:i64,by:i64,bz:i64,rad:i64)->i64 |