diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
| commit | e1e781bb2135ef78592226f1a3eaba4925702f1f (patch) | |
| tree | 8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/Polygon.java | |
| download | worlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.tar.xz worlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.zip | |
Diffstat (limited to 'NET/worlds/scape/Polygon.java')
| -rw-r--r-- | NET/worlds/scape/Polygon.java | 143 |
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 |