code wiki / (root) / nx_nxa_fk.nx

nx_nxa_fk.nx

buildroot/runtime/nx_nxa_fk.nx

4089 B102 linesdepth 1pulls 1 transitivereach 189 importersview sourcekind librarytopic nxa
docsdependenciesstructsconstsfunctions

about

nx_nxa_fk.nx -- SHARED integer quaternion + FK primitives for the NXA import pipeline. Extracted from nx_nxa_anim (DRY rule-15: nx_nxa_skin needs the same static-FK to compute TRUE bind positions instead of placeholder propagation; nobody re-derives quat math). q12 fixed-point (unit = 4096); angles arrive as millidegrees; all integer. license_tier: ORIGINAL

dependencies 1 imports · 35 importers

nx_itrig.nx nx_nxa_fk.nx nx_autorig_pose_gate.nx nx_craft_body_driver_t138.nx nx_craft_combined_emit_t28.nx nx_craft_combined_emit_t29.nx nx_craft_emit.nx nx_craft_feedback_emit_t28.nx nx_craft_garment_emit_t132.nx nx_craft_integrated_emit_t73.nx nx_craft_knight_emit_t25.nx nx_craft_material_body_emit_t61.nx

diagram shows first 10 each side; +0 more imports, +25 more importers in the complete lists below.

imports: nx_itrig.nx

imported by: nx_autorig_pose_gate.nxnx_craft_body_driver_t138.nxnx_craft_combined_emit_t28.nxnx_craft_combined_emit_t29.nxnx_craft_emit.nxnx_craft_feedback_emit_t28.nxnx_craft_garment_emit_t132.nxnx_craft_integrated_emit_t73.nxnx_craft_knight_emit_t25.nxnx_craft_material_body_emit_t61.nxnx_craft_material_emit_t55.nxnx_craft_move_emit_t72.nxnx_craft_pipeline_emit_t64.nxnx_craft_recovery_emit_t23.nxnx_craft_search_emit_t53.nxnx_craft_support_emit_t31.nxnx_craft_workspace_emit_t48.nxnx_gate_rig_motion_20260909.nxnx_gate_rig_motion_context_t140.nxnx_gate_rig_motion_palette_t140.nxnx_gate_rig_motion_stream_t140.nxnx_movement_base_library_t139.nxnx_nxa_anim.nxnx_nxa_anim_gait_candidate_t139.nxnx_nxa_anim_lib.nxnx_nxa_anim_t30.nxnx_nxa_play.nxnx_nxa_pose.nxnx_nxa_retarget.nxnx_nxa_rig_motion_20260909.nxnx_nxa_rig_motion_stream_t140.nxnx_nxa_skin.nxnx_nxa_skin_authored_t36.nxnx_nxa_skin_authored_t37.nxnx_nxa_skin_authored_witness_t140.nx

structs

none

consts

7const K_MAGIC_4096: i64 = 4096
8const K_MAGIC_100000000: i64 = 100000000
9const K_MAGIC_65536: i64 = 65536
10const K_MAGIC_2048: i64 = 2048
11const K_MAGIC_57296: i64 = 57296

functions

14func nf_qmul(a: *i64, b: *i64, r: *i64) -> i64
22func nf_isqrt(n: i64) -> i64
36func nf_qnorm(q: *i64) -> i64
46func nf_qconj(q: *i64, r: *i64) -> i64 { r[0]=0-q[0]; r[1]=0-q[1]; r[2]=0-q[2]; r[3]=q[3]; return 0 }
48func nf_eul2q(mdx: i64, mdy: i64, mdz: i64, out: *i64, scr: *i64) -> i64
71func nf_qarc(ax: i64, ay: i64, az: i64, bx: i64, by: i64, bz: i64, out: *i64) -> i64
called by 2: mainmain calls 2: nf_isqrtnf_qnorm
90func nf_qrotv(q: *i64, vx: i64, vy: i64, vz: i64, out3: *i64, scr: *i64) -> i64