X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fgeometry%2FCheckValveGeometryProvider.java;h=c14ff4b477fe1511cf3f8abeea5e186ccb7c3028;hb=31fd8b586a816e12d85f361b3fe2f6ebd52e427b;hp=85f4c7aa01146a44781bc2c9b81560eb0bda88b1;hpb=a460e609147d064dd3da464bcf1626845e0f93b4;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/geometry/CheckValveGeometryProvider.java b/org.simantics.plant3d/src/org/simantics/plant3d/geometry/CheckValveGeometryProvider.java index 85f4c7aa..c14ff4b4 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/geometry/CheckValveGeometryProvider.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/geometry/CheckValveGeometryProvider.java @@ -19,9 +19,11 @@ public class CheckValveGeometryProvider extends BuiltinGeometryProvider { @Override public Collection getModel() throws Exception { + if (radius < MathTools.NEAR_ZERO) + return Collections.emptyList(); double l = radius*0.2; - TopoDS_Shape cyl = OccTriangulator.makeCylinder(new double[] {-radius, 0.0, 0.0}, new double[] { 1.0, 0.0, 0.0 }, radius, l); - TopoDS_Shape con = OccTriangulator.makeCone(new double[] {-radius, 0.0, 0.0}, new double[] { 1.0, 0.0, 0.0 }, radius*0.1, radius,radius*2); + TopoDS_Shape cyl = OccTriangulator.makeCylinder(new double[] {radius-l, 0.0, 0.0}, new double[] { 1.0, 0.0, 0.0 }, radius, l); + TopoDS_Shape con = OccTriangulator.makeCone(new double[] {-radius, 0.0, 0.0}, new double[] { 1.0, 0.0, 0.0 }, radius, radius*0.1,radius*2); TopoDS_Shape shape = OccTriangulator.makeFuse(cyl, con); cyl.delete(); con.delete();