Salome HOME
[TetraIntersec] Several bug fixes in Grandy's implementation
authorabn <adrien.bruneton@cea.fr>
Thu, 25 Jan 2024 19:37:39 +0000 (20:37 +0100)
committerabn <adrien.bruneton@cea.fr>
Wed, 7 Feb 2024 10:29:16 +0000 (11:29 +0100)
commitc84e8386ca771a4e6450ec178263961feefcb0bb
tree409e607fb8dc816142bd7c442815c3d3c19c0c29
parent913c129c06aba6e50921621661d18ac90ca38d57
[TetraIntersec] Several bug fixes in Grandy's implementation

+ triple product inconsistency was not properly detected (now using original deltas from douple prod computation)
+ f/F factor set to 20 (not 500) as in Grandy's article -> (will be set to 100, see next commit)
+ epsilonEqual used when necessary: when it provides more points in polygon A or B (risk is completely missing a point in polygon!)
+ better handling of degenerated case where PQR triangle is in h=0
  plane, or when P,Q or R close to a tet corner
+ fixed surface-edge intersection test: triple product equality (and zeroing) must be checked with care
+ using 'long double' is not necessary -> double are enough
src/INTERP_KERNEL/TransformedTriangle.cxx
src/INTERP_KERNEL/TransformedTriangle.hxx
src/INTERP_KERNEL/TransformedTriangleMath.cxx
src/INTERP_KERNELTest/TransformedTriangleIntersectTest.cxx
src/INTERP_KERNELTest/TransformedTriangleIntersectTest.hxx
src/INTERP_KERNELTest/TransformedTriangleTest.cxx
src/INTERP_KERNELTest/UnitTetraIntersectionBaryTest.cxx
src/INTERP_KERNELTest/UnitTetraIntersectionBaryTest.hxx