mirror of https://github.com/vitalif/openscad
Testcase and fix for a problem transforming an empty bbox with very small numbers in a transformation matrix
parent
23b04c3a9f
commit
34ae2b8f68
|
@ -14,6 +14,7 @@
|
|||
*/
|
||||
BoundingBox operator*(const Transform3d &m, const BoundingBox &box)
|
||||
{
|
||||
if (box.isEmpty()) return box;
|
||||
BoundingBox newbox;
|
||||
Vector3d boxvec[2] = { box.min(), box.max() };
|
||||
for (int k=0;k<2;k++) {
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// rotate([90,0,0]) results in a matrix with some close-to-zero values
|
||||
// Transforming an empty boundingbox by this matrix has caused a problem resulting
|
||||
// in the union being evaluated to nothing.
|
||||
rotate([90,0,0])
|
||||
difference() {
|
||||
cube(60, center=true);
|
||||
union() {
|
||||
translate([0,0,40]) cube(50, center=true);
|
||||
cube(0);
|
||||
}
|
||||
}
|
|
@ -840,7 +840,8 @@ list(APPEND CGALPNGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/misc/include-
|
|||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/use-tests.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/transform-nan-inf-tests.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles-test.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad)
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/localfiles_dir/localfiles-compatibility-test.scad
|
||||
${CMAKE_SOURCE_DIR}/../testdata/scad/misc/rotate-empty-bbox.scad)
|
||||
|
||||
list(APPEND OPENCSGTEST_FILES ${CGALPNGTEST_FILES})
|
||||
list(APPEND OPENCSGTEST_FILES ${CMAKE_SOURCE_DIR}/../testdata/scad/bugs/intersection-prune-test.scad)
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 7.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 8.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 7.7 KiB |
Loading…
Reference in New Issue