| 716 | |
| 717 | Map<Integer, ArrayBuffer> b = target.buffers(); |
| 718 | Iterator<Map.Entry<Integer, ArrayBuffer>> m = b.entrySet() |
| 719 | .iterator(); |
| 720 | |
| 721 | Map<Integer, float[]> q = new LinkedHashMap<>(); |
| 722 | while (m.hasNext()) { |
| 723 | Map.Entry<Integer, ArrayBuffer> n = m.next(); |
| 724 | if (n.getKey() == 0) continue; |
| 725 | |
| 726 | float[] z = aux.get(n.getKey()); |
| 727 | if (z == null) { |
| 728 | z = new float[n.getValue() |
| 729 | .getDimension()]; |
| 730 | } |
| 731 | |
| 732 | FloatBuffer fs = n.getValue() |
| 733 | .floats(true); |
| 734 | fs.position(z.length * (vertex - 1)); |
| 735 | fs.get(z); |
| 736 | q.put(n.getKey(), z); |
| 737 | } |
| 738 | |
| 739 | return q; |
| 740 | } |
| 741 | |
| 742 | |
| 743 | /** |
| 744 | * Adds a set of contours described by a list of lists of Vec3. These lists are tesselated into triangles by the GLU_TESS_WINDING_NONZERO tesselation rule |
| 745 | */ |
| 746 | public MeshBuilder contours(List<List<Vec3>> contours) { |