code wiki / (root) / nx_nxa_hierarchy_correction_candidate_t332.nx

nx_nxa_hierarchy_correction_candidate_t332.nx

buildroot/runtime/nx_nxa_hierarchy_correction_candidate_t332.nx

9709 B145 linesdepth 8pulls 11 transitivereach 2 importersview sourcekind librarytopic nxa
docsdependenciesstructsconstsfunctions

about

World-space rigid correction of an existing inverse-bind skin palette. Pj=Wj*inverse(Bj); C*Pj=(C*Wj)*inverse(Bj). Descendant relative pose is retained. This does not choose contact angles, classify anatomy, or convert affine rigs to DQ.

dependencies 1 imports · 2 importers

nx_linalg_affine_t34.nx nx_nxa_hierarchy_correction_ca nx_nxa_hierarchy_correction_gate_t nx_nxa_hierarchy_dq_gate_t332.nx

imports: nx_linalg_affine_t34.nx

imported by: nx_nxa_hierarchy_correction_gate_t332.nxnx_nxa_hierarchy_dq_gate_t332.nx

structs

none

consts

5const HC_RIGID:i64=1
12const HC_Q30_COMPONENT_ERROR:i64=1
13const HC_F32_COMPONENT_ERROR:i64=(FQ_ONE>>24)+1
14const HC_Q30_BUDGET:i64=3*(HC_Q30_COMPONENT_ERROR+2*(2*HC_Q30_COMPONENT_ERROR+2)+2)
15const HC_F32_BUDGET:i64=3*(HC_F32_COMPONENT_ERROR+2*(2*HC_F32_COMPONENT_ERROR+2)+2)
17const HC_BAD_GRAPH:i64=0-170
18const HC_BAD_DOMAIN:i64=0-171
19const HC_NONRIGID:i64=0-172
20const HC_STORAGE:i64=0-173
71const HC_DQ_DUAL_MAX:i64=LA_AFFINE_MAX/16

functions

21func hc_matrix(p:*i64,j:i64)->*i64{return ((p as i64)+j*128) as *i64}
called by 2: hc_applymain
22func hc_disjoint(a:*i64,aw:i64,b:*i64,bw:i64)->i64
28func hc_rigid(a:*i64,budget:i64)->i64
44func hc_apply(parents:*i64,n:i64,palette:*i64,kind:i64,anchor:i64,correction:*i64,budget:i64,out:*i64,out_words:i64,scratch:*i64,scratch_words:i64)->i64
72func hc_qmul(a:*i64,b:*i64,o:*i64)->i64
78func hc_dq_real(q:*i64)->i64
85func hc_dq_apply(parents:*i64,n:i64,rows:*i64,kind:i64,anchor:i64,correction:*i64,out:*i64,out_words:i64,scratch:*i64,scratch_words:i64)->i64
126func hc_dq_anchor_correction(source:*i64,target:*i64,n:i64,j:i64,out:*i64,scratch:*i64,scratch_words:i64)->i64