- Change pattern eval_sdf to return double (signed distance) instead of pair
- Add reversed parameter to get_local_cap_mat for correct cap orientation
- Add has_end_caps flag to extrude, handle closed axis caps properly
- Add is_closed field to polyline_axis_descriptor
- Use desc.is_closed instead of computing from point/bulge counts
- Fix total_theta calculation in helixline (multiply by two_pi)
- Fix scale vector initialization (zero-fill w component)
rewrite confirm of signs when requiring planes, now we do not need any explicit input of signs;
fix the error when using even resolution as bg mesh resolution;
add simple primitive cone and box
- NOTE add integrator related module, no changes to other module and integrator have not added into the pipeline, for the current pipeline can't work, so the integrator haven't been fully tested
- 1. apply bbox of chain to speed up intersection finding
- 2. Replace ray-based inside-test with connectivity-driven approach using
precomputed chain group map. Two chains are considered co-located in the
domain if they are mutually connected (bidirectional membership in
chain_group_map).
- Implement robust surface area and volume computation for polymesh_t
- Support arbitrary polygonal faces (triangles, quads, etc.) via fan triangulation
- Add vector math utilities: cross, dot, norm, and signed volume
- Validate algorithm correctness using unit cube test case
- Ensure right-hand rule compliance for accurate volume sign
Test: Added test case with unit cube (8 vertices, 6 quads)
Expected: area = 6.0, volume = 1.0 → actual results match