diff --git a/src/main/java/eu/mihosoft/vrl/v3d/CSG.java b/src/main/java/eu/mihosoft/vrl/v3d/CSG.java index 15da0e79..22592a0e 100644 --- a/src/main/java/eu/mihosoft/vrl/v3d/CSG.java +++ b/src/main/java/eu/mihosoft/vrl/v3d/CSG.java @@ -2570,6 +2570,9 @@ public CSG setRegenerate(IRegenerate function) { regenerate = function; return this; } + public IRegenerate getRegenerate() { + return regenerate ; + } public CSG regenerate() { this.markForRegeneration = false; @@ -3151,6 +3154,7 @@ public boolean isHole() { public CSG syncProperties(CSG dying) { getStorage().syncProperties(dying.getStorage()); + regenerate=dying.regenerate; return this; } diff --git a/src/main/java/eu/mihosoft/vrl/v3d/PropertyStorage.java b/src/main/java/eu/mihosoft/vrl/v3d/PropertyStorage.java index 150bdaa5..ed0d2740 100644 --- a/src/main/java/eu/mihosoft/vrl/v3d/PropertyStorage.java +++ b/src/main/java/eu/mihosoft/vrl/v3d/PropertyStorage.java @@ -33,6 +33,7 @@ */ package eu.mihosoft.vrl.v3d; +import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Map; @@ -122,6 +123,12 @@ public void syncProperties(PropertyStorage dying) { HashSet clonedSet = new HashSet(); clonedSet.addAll((HashSet)property); property=clonedSet; + } + if(ArrayList.class.isInstance(property)) { + Object clonedSet = map.get(o); + ArrayList newList = clonedSet==null?new ArrayList():(ArrayList)clonedSet; + newList.addAll((ArrayList)property); + property=newList; } set(o,property); } diff --git a/src/test/java/eu/mihosoft/vrl/v3d/StlExportTest.java b/src/test/java/eu/mihosoft/vrl/v3d/StlExportTest.java index f536fe15..a7f6954b 100644 --- a/src/test/java/eu/mihosoft/vrl/v3d/StlExportTest.java +++ b/src/test/java/eu/mihosoft/vrl/v3d/StlExportTest.java @@ -12,8 +12,8 @@ public class StlExportTest { @Test public void makeBadSTL() throws IOException { - //Plane.setEPSILON(1.0e-11); - //Vector3d.setEXPORTEPSILON(10); + Plane.setEPSILON(1.0e-12); + Vector3d.setEXPORTEPSILON(1.0e-9); CSG.setUseGPU(false); CSG.setPreventNonManifoldTriangles(true); CSG badExport2 = CSG.text(" A QUICK BROWN FOX JUMPS OVER THE LAZY DOG", 10,30,"Serif Regular").movey(30);