/* */ package NET.worlds.scape; /* */ /* */ import java.io.IOException; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class Polygon /* */ extends Surface /* */ { /* */ protected float[] vertices; /* */ /* */ public Polygon(int numVertices, Material material) /* */ { /* 46 */ this(new float[5 * numVertices], material); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public Polygon(float[] vertices, Material material) /* */ { /* 58 */ super(material); /* 59 */ assert (vertices.length % 5 == 0); /* 60 */ this.vertices = vertices; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public Polygon() {} /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public void setVertex(int i, float x, float y, float z, float u, float v) /* */ { /* 81 */ i *= 5; /* 82 */ this.vertices[i] = x; /* 83 */ this.vertices[(i + 1)] = y; /* 84 */ this.vertices[(i + 2)] = z; /* 85 */ this.vertices[(i + 3)] = u; /* 86 */ this.vertices[(i + 4)] = v; /* */ /* 88 */ nativeSetVertex(i, x, y, z, u, v); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public native void nativeSetVertex(int paramInt, float paramFloat1, float paramFloat2, float paramFloat3, float paramFloat4, float paramFloat5); /* */ /* */ /* */ /* */ /* */ /* */ protected void addRwChildren(WObject parent) /* */ { /* 103 */ addNewRwChild(parent); /* */ /* 105 */ for (int i = 0; i < this.vertices.length; i += 5) { /* 106 */ addVertex(this.vertices[i], this.vertices[(i + 1)], this.vertices[(i + 2)], /* 107 */ this.vertices[(i + 3)], this.vertices[(i + 4)]); /* */ } /* 109 */ doneWithEditing(); /* */ } /* */ /* 112 */ private static Object classCookie = new Object(); /* */ /* */ public void saveState(Saver s) throws IOException /* */ { /* 116 */ s.saveVersion(0, classCookie); /* 117 */ super.saveState(s); /* 118 */ s.saveInt(this.vertices.length); /* 119 */ for (int i = 0; i < this.vertices.length; i++) { /* 120 */ s.saveFloat(this.vertices[i]); /* */ } /* */ } /* */ /* */ public void restoreState(Restorer r) throws IOException, TooNewException { /* 125 */ switch (r.restoreVersion(classCookie)) { /* */ case 0: /* 127 */ super.restoreState(r); /* 128 */ int length = r.restoreInt(); /* 129 */ this.vertices = new float[length]; /* 130 */ for (int i = 0; i < length; i++) /* 131 */ this.vertices[i] = r.restoreFloat(); /* 132 */ break; /* */ default: /* 134 */ throw new TooNewException(); /* */ } /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\Polygon.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */