Search in sources :

Example 6 with LoopL

use of org.twak.utils.collections.LoopL in project chordatlas by twak.

the class GISGen method initObj.

public void initObj() {
    ObjRead gObj = new ObjRead(tweed.toWorkspace(objFile));
    LoopL<Point3d> fromOBJ = new LoopL<>();
    Closer<Point3d> closer = new Closer<>();
    for (int[] face : gObj.faces) {
        Loop<Point3d> loop = fromOBJ.newLoop();
        List<Point3d> points = new ArrayList<>();
        for (int i = 0; i < face.length; i++) {
            Point3d p = new Point3d(gObj.pts[face[i]]), n = new Point3d(gObj.pts[face[(i + 1) % face.length]]);
            // !
            n.y = p.y = 0;
            loop.append(p);
            points.add(p);
            lines.add(new Line3d(p, n));
        }
        closer.add(points.toArray(new Point3d[points.size()]));
    }
    createBlocks(closer, fromOBJ);
}
Also used : Closer(org.twak.viewTrace.Closer) Point3d(javax.vecmath.Point3d) ArrayList(java.util.ArrayList) LoopL(org.twak.utils.collections.LoopL) ObjRead(org.twak.utils.geom.ObjRead) Line3d(org.twak.utils.geom.Line3d)

Aggregations

LoopL (org.twak.utils.collections.LoopL)6 Point3d (javax.vecmath.Point3d)4 ArrayList (java.util.ArrayList)3 Loop (org.twak.utils.collections.Loop)3 HashMap (java.util.HashMap)2 Point2d (javax.vecmath.Point2d)2 Line3d (org.twak.utils.geom.Line3d)2 ObjRead (org.twak.utils.geom.ObjRead)2 Closer (org.twak.viewTrace.Closer)2 Files (com.google.common.io.Files)1 LineString (com.vividsolutions.jts.geom.LineString)1 File (java.io.File)1 FileInputStream (java.io.FileInputStream)1 IOException (java.io.IOException)1 Arrays (java.util.Arrays)1 HashSet (java.util.HashSet)1 IdentityHashMap (java.util.IdentityHashMap)1 List (java.util.List)1 Map (java.util.Map)1 NoSuchElementException (java.util.NoSuchElementException)1