summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/Polygon.java
diff options
context:
space:
mode:
Diffstat (limited to 'NET/worlds/scape/Polygon.java')
-rw-r--r--NET/worlds/scape/Polygon.java143
1 files changed, 143 insertions, 0 deletions
diff --git a/NET/worlds/scape/Polygon.java b/NET/worlds/scape/Polygon.java
new file mode 100644
index 0000000..97625fe
--- /dev/null
+++ b/NET/worlds/scape/Polygon.java
@@ -0,0 +1,143 @@
+/* */ 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
+ */ \ No newline at end of file