mckay
ed696ce836
style(parameteric_plane_t): change type name `parameteric_plane_t` to `parametric_plane_t`
6 months ago
mckay
24bd20cc42
to&fix: compilable version after feat integrator
6 months ago
mckay
c663a52f74
Merge branch 'V2-integral' into feat-integrator
6 months ago
Zhicheng Wang
4e76874ede
fix compilation error
6 months ago
Zhicheng Wang
0af4c4e8a2
fix some bugs
6 months ago
Zhicheng Wang
32d5456806
use more pointer_wrapper<T> instead of T*;
fix some external bugs;
now parameteric_plane keeps a unique set of chains, at the cost of more complex chain groups
6 months ago
mckay
9a5c7ad0f9
feat(surface-integral): add volume computation and improve domain checks in SurfaceAreaCalculator
6 months ago
mckay
07fe15f863
fix(quadrature): optimize Gauss-Legendre and tanh-sinh integration calculations,support integral over [a, b]
6 months ago
mckay
6eac1ee4ef
Merge Surface integral into feat-integral
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
6 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
7 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.
7 months ago
Zhicheng Wang
1c8095fd29
fix error of transforming cylinder
7 months ago
mckay
8065849bb2
fix: update logic in judge_sign_by_subface_sign to use bitwise OR for combining signs
7 months ago
mckay
1c390339cf
fix: correct memory allocation for faces in generate_polymesh function
7 months ago
mckay
d8f058e3c4
fix: update filter_active_vertices call to use iso_pts for vertex processing after cherry-pick commit that updates filter_active_vertices()
7 months ago
mckay
c45be410ca
fix: update filter_active_vertices function signature and logic for vertex processing
7 months ago
mckay
a4d06c5e6e
fix: correct logical operations in filter_cells_by_boolean for cell signs
7 months ago
Zhicheng Wang
055f67672a
Merge branch 'V2-origin' of http://118.195.195.192:3000/ZCWang/ImplicitSurfaceNetwork into V2-origin
7 months ago
Zhicheng Wang
10f309c996
fix logical error of cylinder's plane
7 months ago
mckay
1672bc41f2
fix: update filter_cells_by_boolean to handle empty stack and assert parent index correctly
8 months ago
Zhicheng Wang
b864ef0aa3
fix some internal error
8 months ago
Zhicheng Wang
ff5dd4f7d9
fix index error
8 months ago
Zhicheng Wang
874052cd9c
try to fix error on resizing Eigen::MatrixXd
8 months ago
mckay
0b68b2c339
zan
8 months ago
Zhicheng Wang
edd71b34be
apply support for topo ray shooting under sparse terahedron distribution
8 months ago
mckay
19db8aefcc
refactor newton method and introduce test with googleTest
8 months ago
Zhicheng Wang
81edca713d
revert to dense sample for primitive generation
8 months ago
mckay
1c710d962c
do:Refactor SurfaceAreaCalculator and add flat_index_group structure: update constructors, improve data types, and enhance integration methods
8 months ago
Zhicheng Wang
a11003f44f
revert to dense sample
8 months ago
mckay
d1b82fdcd7
Refactor SurfaceAreaCalculator: streamline constructors, improve function naming, and enhance integration methods
8 months ago
mckay
ada2bdd02a
Add quadrature methods for 1D integration
- Implemented Gaussian-Legendre quadrature method in gauss_integrate_1D.
- Implemented tanh-sinh quadrature method in tanh_sinh_integrate_1D.
- Both methods accept a function, integration limits [a, b], and the number of quadrature points (q).
8 months ago
Zhicheng Wang
56b5259a37
fix header distribution of headeronly project
8 months ago
mckay
3154fe8fc3
ruff init surface integral module
8 months ago
mckay
f89cdfc0c7
lut test
8 months ago
mckay
82e3d23361
some vscodesettings
8 months ago
Zhicheng Wang
2e56bb6f18
change mimalloc to static library
8 months ago
mckay
bbfa0ef3bb
xmake require
8 months ago
mckay
a1572260fb
C++ 不允许直接对 std::array<T1, N> 进行 static_cast 到 std::array<T2, N>,即使 T1 和 T2 是可转换类型。
改成显式地把每一个 unsigned long long 元素转换为 uint32_t
9 months ago
mckay
813bccb666
问题:插入了一个不带分配器的 std::vector 到需要分配器的容器中 改为插入 stl_vector_mp<uint32_t>{i}
9 months ago
mckay
bbe937a0d1
为 compact_bg_mesh_coord_t 提供 std::hash 特化
9 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
10 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