32 package eu.mihosoft.vrl.v3d;
34 import eu.mihosoft.vrl.v3d.ext.imagej.STLLoader;
36 import java.io.IOException;
38 import java.net.URISyntaxException;
40 import java.nio.file.FileSystem;
41 import java.nio.file.FileSystems;
42 import java.nio.file.Path;
43 import java.nio.file.Paths;
44 import java.util.ArrayList;
45 import java.util.HashMap;
46 import java.util.List;
49 import javax.vecmath.Point3f;
67 public static CSG file(URL path)
throws IOException, URISyntaxException {
68 final URI uri =path.toURI();
69 Map<String, String> env =
new HashMap<>();
70 env.put(
"create",
"true");
71 FileSystem zipfs = FileSystems.newFileSystem(uri, env);
72 Path myFolderPath = Paths.get(uri);
73 return file(myFolderPath);
83 public static CSG file(Path path)
throws IOException {
86 List<Polygon> polygons =
new ArrayList<>();
87 List<Vector3d> vertices =
new ArrayList<>();
88 for (Point3f p : loader.
parse(path.toFile())) {
89 vertices.add(
new Vector3d(p.x, p.y, p.z));
90 if (vertices.size() == 3) {
93 }
catch (RuntimeException ex) {
96 vertices =
new ArrayList<>();
static CSG fromPolygons(List< Polygon > polygons)
static Polygon fromPointsAllowDegenerate(List< Vector3d > vertices2)
static CSG file(Path path)
static CSG file(URL path)
ArrayList< Point3f > parse(File f)