Zhicheng Wang
6dac75c752
massive update
3 days ago
Zhicheng Wang
585c8b700a
fix known issue caused by chain cycle
5 months ago
Zhicheng Wang
6fa55037fb
fix wrong direction and derivatives
5 months ago
Zhicheng Wang
79c835c06a
fix wrong normal direction of bottom plane in cylinder
5 months ago
Zhicheng Wang
57dbc2cee4
a tons of fixes & refactor
5 months ago
Zhicheng Wang
60c59b4b6d
fix compilation error
5 months ago
Zhicheng Wang
6b218f9c53
simplify the storage of subfaces
5 months ago
Zhicheng Wang
811bcfec28
provides a more dedicated chain post processing
6 months ago
mckay
15d970670d
fix: error of incrrect plane of cylinder, key bug is the wrong sequence of {identity_model_matrix_ptr, plane_to_z_model_matrix_ptr, plane_to_z_pos_1_model_matrix_ptr};
6 months ago
Zhicheng Wang
17ebd62ef2
fix known bug
6 months ago
Zhicheng Wang
70a08acb19
fix error occured by creating primitives;
minor change to primitive process framework
6 months ago
Zhicheng Wang
4e76874ede
fix compilation error
6 months ago
Zhicheng Wang
0af4c4e8a2
fix some bugs
6 months ago
mckay
9a5c7ad0f9
feat(surface-integral): add volume computation and improve domain checks in SurfaceAreaCalculator
6 months ago
Zhicheng Wang
ac6f039f17
first valid version of chain post processing
6 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
7 months ago
mckay
b04bfcf403
refactor(cylinder_face): use geometric hash based on world_to_local transform
Instead of relying on object identity or raw transform parameters, the hasher
now uses intrinsic geometric properties to determine cylinder equivalence.
The hash is computed from:
- G = R^T * R : encodes the cylinder's cross-sectional metric and axis direction
- v = R * d : encodes the axial offset in the radial plane
where R is the top-left 2x3 submatrix of the world_to_local linear part,
and d is its translation vector. This ensures that two cylinder faces
with the same shape, orientation, and central axis (even if parameterized
differently) produce the same hash.
7 months ago
mckay
987d3fb127
fix: replace local_to_world matrix usage with fetch_aabb in mark_primitive_boundings
7 months ago
mckay
03f33d01c4
fix: refactor translation handling in apply_transform to use Eigen::Translation3d
7 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 .
7 months ago
mckay
95f6594bb9
fix: update matrix references in hasher for cylinder and plane to use local_to_world. Hash of plane changed to col 0 and 3
8 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.
8 months ago
Zhicheng Wang
1c8095fd29
fix error of transforming cylinder
8 months ago
mckay
8065849bb2
fix: update logic in judge_sign_by_subface_sign to use bitwise OR for combining signs
8 months ago
Zhicheng Wang
10f309c996
fix logical error of cylinder's plane
8 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
10 months ago
Zhicheng Wang
e7e7ce799a
first available version of v2
11 months ago
Zhicheng Wang
20edb662a9
fully implemented refactoring
now it can pass compile successfully
1 year ago
Zhicheng Wang
03bcdcb654
refactor the primitive_process
1 year ago
Zhicheng Wang
19f2725720
optimized evaluation function of extrudes
1 year ago