diff options
Diffstat (limited to 'tests/regression')
24 files changed, 2217 insertions, 6 deletions
| diff --git a/tests/regression/cgalpngtest/example024-expected.png b/tests/regression/cgalpngtest/example024-expected.pngBinary files differ new file mode 100644 index 0000000..8e69808 --- /dev/null +++ b/tests/regression/cgalpngtest/example024-expected.png diff --git a/tests/regression/cgalpngtest/highlight-modifier-expected.png b/tests/regression/cgalpngtest/highlight-modifier-expected.pngBinary files differ index e220aa1..2fc7678 100644 --- a/tests/regression/cgalpngtest/highlight-modifier-expected.png +++ b/tests/regression/cgalpngtest/highlight-modifier-expected.png diff --git a/tests/regression/cgalpngtest/linear_extrude-scale-zero-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-scale-zero-tests-expected.pngBinary files differ new file mode 100644 index 0000000..3b1c934 --- /dev/null +++ b/tests/regression/cgalpngtest/linear_extrude-scale-zero-tests-expected.png diff --git a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png b/tests/regression/cgalpngtest/linear_extrude-tests-expected.pngBinary files differ index 7d3ea2c..c85142e 100644 --- a/tests/regression/cgalpngtest/linear_extrude-tests-expected.png +++ b/tests/regression/cgalpngtest/linear_extrude-tests-expected.png diff --git a/tests/regression/dumptest/background-modifier-expected.txt b/tests/regression/dumptest/background-modifier-expected.txt index ed769b3..5861bef 100644 --- a/tests/regression/dumptest/background-modifier-expected.txt +++ b/tests/regression/dumptest/background-modifier-expected.txt @@ -5,4 +5,16 @@  	%group() {  		cube(size = [25, 6, 3], center = true);  	} +	%multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		difference() { +			color([0, 0.501961, 0, 1]) { +				cube(size = [10, 4, 10], center = true); +			} +			color([1, 0, 0, 1]) { +				multmatrix([[1, 0, 0, 0], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) { +					sphere($fn = 0, $fa = 12, $fs = 2, r = 3); +				} +			} +		} +	} diff --git a/tests/regression/dumptest/example024-expected.txt b/tests/regression/dumptest/example024-expected.txt new file mode 100644 index 0000000..e7d6e8b --- /dev/null +++ b/tests/regression/dumptest/example024-expected.txt @@ -0,0 +1,1869 @@ +	difference() { +		multmatrix([[0.81649658092, 0.40824829046, 0.40824829046, 0], [0, 0.70710678118, -0.70710678118, 0], [-0.57735026919, 0.57735026919, 0.57735026919, 0], [0, 0, 0, 1]]) { +			group() { +				difference() { +					cube(size = [100, 100, 100], center = true); +					group() { +						multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							group() { +								cube(size = [110, 33.3333, 33.3333], center = true); +								group() { +									group() { +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group(); +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +									} +								} +							} +						} +						multmatrix([[0, -1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							group() { +								cube(size = [110, 33.3333, 33.3333], center = true); +								group() { +									group() { +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group(); +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +									} +								} +							} +						} +						multmatrix([[0, 0, 1, 0], [0, 1, 0, 0], [-1, 0, 0, 0], [0, 0, 0, 1]]) { +							group() { +								cube(size = [110, 33.3333, 33.3333], center = true); +								group() { +									group() { +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, -33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group(); +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, -33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 0], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +										group() { +											multmatrix([[1, 0, 0, 0], [0, 1, 0, 33.33333333333], [0, 0, 1, 33.33333333333], [0, 0, 0, 1]]) { +												group() { +													cube(size = [110, 11.1111, 11.1111], center = true); +													group() { +														group() { +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, -11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group(); +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, -11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 0], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +															group() { +																multmatrix([[1, 0, 0, 0], [0, 1, 0, 11.11111111111], [0, 0, 1, 11.11111111111], [0, 0, 0, 1]]) { +																	group() { +																		cube(size = [110, 3.7037, 3.7037], center = true); +																		group(); +																	} +																} +															} +														} +													} +												} +											} +										} +									} +								} +							} +						} +					} +				} +			} +		} +		multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -100], [0, 0, 0, 1]]) { +			cube(size = [200, 200, 200], center = true); +		} +	} + diff --git a/tests/regression/dumptest/highlight-and-background-modifier-expected.txt b/tests/regression/dumptest/highlight-and-background-modifier-expected.txt index 20c82cc..eb8931c 100644 --- a/tests/regression/dumptest/highlight-and-background-modifier-expected.txt +++ b/tests/regression/dumptest/highlight-and-background-modifier-expected.txt @@ -2,15 +2,60 @@  		sphere($fn = 0, $fa = 12, $fs = 2, r = 10);  		%cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true);  		%group() { -			cube(size = [6, 25, 3], center = true); +			cube(size = [25, 6, 3], center = true);  		}  	} -	multmatrix([[1, 0, 0, 13], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +	%multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		difference() { +			color([0, 0.501961, 0, 1]) { +				cube(size = [10, 4, 10], center = true); +			} +			color([1, 0, 0, 1]) { +				multmatrix([[1, 0, 0, 0], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) { +					sphere($fn = 0, $fa = 12, $fs = 2, r = 3); +				} +			} +		} +	} +	%multmatrix([[1, 0, 0, 13], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		difference() { +			sphere($fn = 0, $fa = 12, $fs = 2, r = 10); +			cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true); +			group() { +				cube(size = [25, 6, 3], center = true); +			} +		} +		multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +			difference() { +				color([0, 0.501961, 0, 1]) { +					cube(size = [10, 4, 10], center = true); +				} +				color([1, 0, 0, 1]) { +					multmatrix([[1, 0, 0, 0], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						sphere($fn = 0, $fa = 12, $fs = 2, r = 3); +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 26], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) {  		difference() {  			sphere($fn = 0, $fa = 12, $fs = 2, r = 10); -			%cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true); -			%group() { -				cube(size = [6, 25, 3], center = true); +			cylinder($fn = 0, $fa = 12, $fs = 2, h = 30, r1 = 6, r2 = 6, center = true); +			group() { +				cube(size = [25, 6, 3], center = true); +			} +		} +		%multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +			difference() { +				color([0, 0.501961, 0, 1]) { +					cube(size = [10, 4, 10], center = true); +				} +				color([1, 0, 0, 1]) { +					multmatrix([[1, 0, 0, 0], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						sphere($fn = 0, $fa = 12, $fs = 2, r = 3); +					} +				}  			}  		}  	} diff --git a/tests/regression/dumptest/highlight-modifier-expected.txt b/tests/regression/dumptest/highlight-modifier-expected.txt index c6204bd..c0a29ad 100644 --- a/tests/regression/dumptest/highlight-modifier-expected.txt +++ b/tests/regression/dumptest/highlight-modifier-expected.txt @@ -5,4 +5,16 @@  	group() {  		cube(size = [25, 6, 3], center = true);  	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, -9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		difference() { +			color([0, 0.501961, 0, 1]) { +				cube(size = [10, 4, 10], center = true); +			} +			color([1, 0, 0, 1]) { +				multmatrix([[1, 0, 0, 0], [0, 1, 0, -2], [0, 0, 1, 0], [0, 0, 0, 1]]) { +					sphere($fn = 0, $fa = 12, $fs = 2, r = 3); +				} +			} +		} +	} diff --git a/tests/regression/dumptest/linear_extrude-scale-zero-tests-expected.txt b/tests/regression/dumptest/linear_extrude-scale-zero-tests-expected.txt new file mode 100644 index 0000000..950c724 --- /dev/null +++ b/tests/regression/dumptest/linear_extrude-scale-zero-tests-expected.txt @@ -0,0 +1,253 @@ +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 3], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 6], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 0, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 9], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 1], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 12], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [1, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} +	multmatrix([[1, 0, 0, 0], [0, 1, 0, 15], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		group() { +			multmatrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 4], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +					multmatrix([[1, 0, 0, -1], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = true); +					} +				} +			} +			multmatrix([[1, 0, 0, 8], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					multmatrix([[1, 0, 0, 0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +					multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +						square(size = [1, 1], center = false); +					} +				} +			} +			multmatrix([[1, 0, 0, 12], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +				linear_extrude(height = 3, center = false, convexity = 1, twist = 180, slices = 20, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +					difference() { +						square(size = [2, 2], center = true); +						multmatrix([[1, 0, 0, -0.5], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +							square(size = [1, 1], center = true); +						} +					} +				} +			} +		} +	} + diff --git a/tests/regression/dumptest/linear_extrude-tests-expected.txt b/tests/regression/dumptest/linear_extrude-tests-expected.txt index c031ed8..c867388 100644 --- a/tests/regression/dumptest/linear_extrude-tests-expected.txt +++ b/tests/regression/dumptest/linear_extrude-tests-expected.txt @@ -29,9 +29,29 @@  			square(size = [10, 10], center = false);  		}  	} -	multmatrix([[1, 0, 0, -15], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]) { +	multmatrix([[1, 0, 0, 0], [0, 1, 0, -15], [0, 0, 1, 0], [0, 0, 0, 1]]) {  		linear_extrude(height = 5, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) {  			square(size = [10, 10], center = false);  		}  	} +	multmatrix([[1, 0, 0, -25], [0, 1, 0, -10], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		linear_extrude(height = 10, center = false, convexity = 1, scale = [2, 2], $fn = 0, $fa = 12, $fs = 2) { +			square(size = [5, 5], center = true); +		} +	} +	multmatrix([[1, 0, 0, -15], [0, 1, 0, 20], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		linear_extrude(height = 20, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { +			square(size = [10, 10], center = false); +		} +	} +	multmatrix([[1, 0, 0, -10], [0, 1, 0, 5], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		linear_extrude(height = 15, center = false, convexity = 1, scale = [0, 0], $fn = 0, $fa = 12, $fs = 2) { +			square(size = [10, 10], center = true); +		} +	} +	multmatrix([[1, 0, 0, -15], [0, 1, 0, -15], [0, 0, 1, 0], [0, 0, 0, 1]]) { +		linear_extrude(height = 10, center = false, convexity = 1, scale = [1, 1], $fn = 0, $fa = 12, $fs = 2) { +			square(size = [10, 10], center = false); +		} +	} diff --git a/tests/regression/opencsgtest/background-modifier-expected.png b/tests/regression/opencsgtest/background-modifier-expected.pngBinary files differ index 2505331..9cf7db0 100644 --- a/tests/regression/opencsgtest/background-modifier-expected.png +++ b/tests/regression/opencsgtest/background-modifier-expected.png diff --git a/tests/regression/opencsgtest/difference-tests-expected.png b/tests/regression/opencsgtest/difference-tests-expected.pngBinary files differ index a6d863a..8db2742 100644 --- a/tests/regression/opencsgtest/difference-tests-expected.png +++ b/tests/regression/opencsgtest/difference-tests-expected.png diff --git a/tests/regression/opencsgtest/example024-expected.png b/tests/regression/opencsgtest/example024-expected.pngBinary files differ new file mode 100644 index 0000000..dfbe847 --- /dev/null +++ b/tests/regression/opencsgtest/example024-expected.png diff --git a/tests/regression/opencsgtest/highlight-and-background-modifier-expected.png b/tests/regression/opencsgtest/highlight-and-background-modifier-expected.pngBinary files differ index 8febe76..c1c7313 100644 --- a/tests/regression/opencsgtest/highlight-and-background-modifier-expected.png +++ b/tests/regression/opencsgtest/highlight-and-background-modifier-expected.png diff --git a/tests/regression/opencsgtest/highlight-modifier-expected.png b/tests/regression/opencsgtest/highlight-modifier-expected.pngBinary files differ index af01e5b..1021c22 100644 --- a/tests/regression/opencsgtest/highlight-modifier-expected.png +++ b/tests/regression/opencsgtest/highlight-modifier-expected.png diff --git a/tests/regression/opencsgtest/linear_extrude-scale-zero-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-scale-zero-tests-expected.pngBinary files differ new file mode 100644 index 0000000..22e94ad --- /dev/null +++ b/tests/regression/opencsgtest/linear_extrude-scale-zero-tests-expected.png diff --git a/tests/regression/opencsgtest/linear_extrude-tests-expected.png b/tests/regression/opencsgtest/linear_extrude-tests-expected.pngBinary files differ index b929d09..cbbdc11 100644 --- a/tests/regression/opencsgtest/linear_extrude-tests-expected.png +++ b/tests/regression/opencsgtest/linear_extrude-tests-expected.png diff --git a/tests/regression/throwntogethertest/background-modifier-expected.png b/tests/regression/throwntogethertest/background-modifier-expected.pngBinary files differ index 2505331..499b92f 100644 --- a/tests/regression/throwntogethertest/background-modifier-expected.png +++ b/tests/regression/throwntogethertest/background-modifier-expected.png diff --git a/tests/regression/throwntogethertest/difference-tests-expected.png b/tests/regression/throwntogethertest/difference-tests-expected.pngBinary files differ index 0a27c90..7a61f42 100644 --- a/tests/regression/throwntogethertest/difference-tests-expected.png +++ b/tests/regression/throwntogethertest/difference-tests-expected.png diff --git a/tests/regression/throwntogethertest/example024-expected.png b/tests/regression/throwntogethertest/example024-expected.pngBinary files differ new file mode 100644 index 0000000..ffa2360 --- /dev/null +++ b/tests/regression/throwntogethertest/example024-expected.png diff --git a/tests/regression/throwntogethertest/highlight-and-background-modifier-expected.png b/tests/regression/throwntogethertest/highlight-and-background-modifier-expected.pngBinary files differ new file mode 100644 index 0000000..e95f763 --- /dev/null +++ b/tests/regression/throwntogethertest/highlight-and-background-modifier-expected.png diff --git a/tests/regression/throwntogethertest/highlight-modifier-expected.png b/tests/regression/throwntogethertest/highlight-modifier-expected.pngBinary files differ index 7973d82..e8d4e62 100644 --- a/tests/regression/throwntogethertest/highlight-modifier-expected.png +++ b/tests/regression/throwntogethertest/highlight-modifier-expected.png diff --git a/tests/regression/throwntogethertest/linear_extrude-scale-zero-tests-expected.png b/tests/regression/throwntogethertest/linear_extrude-scale-zero-tests-expected.pngBinary files differ new file mode 100644 index 0000000..22e94ad --- /dev/null +++ b/tests/regression/throwntogethertest/linear_extrude-scale-zero-tests-expected.png diff --git a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png b/tests/regression/throwntogethertest/linear_extrude-tests-expected.pngBinary files differ index fddeeb8..cbbdc11 100644 --- a/tests/regression/throwntogethertest/linear_extrude-tests-expected.png +++ b/tests/regression/throwntogethertest/linear_extrude-tests-expected.png | 
