Zhicheng Wang
d420ac4d14
refactor: signed pattern SDF and extrude cap improvements
- 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)
1 month ago
Zhicheng Wang
c7ecb2bb5c
refactor: subface hashing with quadrics character and heter_array
- Replace struct-based hasher/eq_compare with inline method definitions
- Introduce get_quadrics_character() for unified quadric surface identity
- Add get_plane_character() for plane surface identity
- Replace std::variant pair arrays with heter_array in data_center
- Add heter_array utility container
1 month ago
Zhicheng Wang
2693a11a79
impl extrude primitives;
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
3 months ago
Zhicheng Wang
376a8ea54c
replace explicit usage of mimalloc to overall override of new/delete by mimalloc;
fallback _mp to default containers;
replace usage of malloc/free to new/delete
3 months ago
Zhicheng Wang
6dac75c752
massive update
3 months ago
Zhicheng Wang
585c8b700a
fix known issue caused by chain cycle
8 months ago
Zhicheng Wang
6fa55037fb
fix wrong direction and derivatives
8 months ago
Zhicheng Wang
57dbc2cee4
a tons of fixes & refactor
9 months ago
Zhicheng Wang
6b218f9c53
simplify the storage of subfaces
9 months ago
Zhicheng Wang
17ebd62ef2
fix known bug
10 months ago
Zhicheng Wang
70a08acb19
fix error occured by creating primitives;
minor change to primitive process framework
10 months ago
Zhicheng Wang
4e76874ede
fix compilation error
10 months ago
Zhicheng Wang
0af4c4e8a2
fix some bugs
10 months ago
Zhicheng Wang
ac6f039f17
first valid version of chain post processing
10 months ago
Zhicheng Wang
292cf6ffb8
more structured primitive description with improved initialization method;
maybe ECS framework can be used to gain more efficiency, but it's just fine for now
10 months ago
mckay
987d3fb127
fix: replace local_to_world matrix usage with fetch_aabb in mark_primitive_boundings
11 months ago
mckay
03f33d01c4
fix: refactor translation handling in apply_transform to use Eigen::Translation3d
11 months ago
mckay
2046b9ba6a
Revert "fix: Make get_identity_local_to_world virtual to support primitives with multiple subfaces (e.g., cylinder)."
This reverts commit f0e2d2b204 .
11 months ago
mckay
fdce50916f
fix: Make get_identity_local_to_world virtual to support primitives with multiple subfaces (e.g., cylinder).
Note: Cylinder's side surface defines its AABB, and z-axis scaling does not affect its radius.
Degeneracy checks only consider x/y directions (first two rows of the transform matrix), since z scaling does not change the essential geometry.
TODO: Consider redefining cylinder so the identity transform is always the first subface.
11 months ago
Zhicheng Wang
1c8095fd29
fix error of transforming cylinder
11 months ago
mckay
8065849bb2
fix: update logic in judge_sign_by_subface_sign to use bitwise OR for combining signs
11 months ago
Zhicheng Wang
10f309c996
fix logical error of cylinder's plane
11 months ago
Zhicheng Wang
cb38c20548
change coord/index system of bg mesh to rational fraction (by grid and sub-grid coords);
now topo_ray_shooting should work properly under complex connectivity
1 year ago
Zhicheng Wang
e7e7ce799a
first available version of v2
1 year ago
Zhicheng Wang
20edb662a9
fully implemented refactoring
now it can pass compile successfully
2 years ago
Zhicheng Wang
03bcdcb654
refactor the primitive_process
2 years ago
Zhicheng Wang
19f2725720
optimized evaluation function of extrudes
2 years ago