]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.g3d/src/org/simantics/g3d/shape/ArcCylinder.java
Support for capped tube
[simantics/3d.git] / org.simantics.g3d / src / org / simantics / g3d / shape / ArcCylinder.java
index ab6178440ab04a8772dd25902eb59cdfcc0d0dd9..348fd8520cc5f27850b163454f7987eee8b60d53 100644 (file)
@@ -12,8 +12,12 @@ import javax.vecmath.Vector3d;
 import org.simantics.g3d.math.MathTools;
 
 public class ArcCylinder {
+       
+       public Mesh create(Point3d s, Point3d v, Point3d e, double r, int res) {
+               return create(s, v, e, r, res, 0.15);
+       }
 
-       public Mesh create(Point3d s, Point3d v, Point3d e, double rad, int res) {
+       public Mesh create(Point3d s, Point3d v, Point3d e, double r, int res, double res2) {
                
                Vector3d v1 = new Vector3d(s);
                v1.sub(v);
@@ -49,7 +53,7 @@ public class ArcCylinder {
                        rn.cross(v2, v1);
                        rn.normalize();
                        
-                       steps = (int)(Math.ceil(a/0.1));
+                       steps = (int)(Math.ceil(a/res2));
                        if (steps == 0)
                                steps = 1;
                        sa = a/steps;
@@ -83,7 +87,7 @@ public class ArcCylinder {
                                p.add(c);
                                
                        }
-                       createCircle(vertices, normals, p, t, rn, res, rad);
+                       createCircle(vertices, normals, p, t, rn, res, r);
                }
                int count = steps*res*6;
                for (int i = 0; i < count; i++) {