home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / Port2.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-18  |  1.9 KB  |  68 lines

  1. package com.sfs.vrml;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Dimension;
  5. import java.awt.Graphics;
  6. import java.util.Enumeration;
  7. import java.util.Vector;
  8.  
  9. public class Port2 extends Port {
  10.    private SceneryQuickSort _tsqs = new SceneryQuickSort();
  11.  
  12.    public Port2(Scene var1) {
  13.       super(var1);
  14.    }
  15.  
  16.    public void paintScene(Graphics var1) {
  17.       Vector var2 = new Vector();
  18.       Object var3 = null;
  19.       Enumeration var4 = ((Portal)this).getScene().elements();
  20.  
  21.       while(var4.hasMoreElements()) {
  22.          var3 = var4.nextElement();
  23.          if (var3 instanceof TriangleShape) {
  24.             var2.addElement(var3);
  25.          }
  26.       }
  27.  
  28.       Object[] var5 = new Object[var2.size()];
  29.       var2.copyInto(var5);
  30.       this._tsqs.sort(var5);
  31.  
  32.       for(int var6 = 0; var6 < var5.length; ++var6) {
  33.          var3 = var5[var6];
  34.          TriangleShape var7 = (TriangleShape)var3;
  35.          this.paintScene(var1, var7);
  36.       }
  37.  
  38.    }
  39.  
  40.    private void paintScene(Graphics var1, TriangleShape var2) {
  41.       Dimension var3 = ((Component)this).size();
  42.       Coordinates var4 = ((Port)this).adjustPerspective(var2.a);
  43.       Coordinates var5 = ((Port)this).adjustPerspective(var2.b);
  44.       Coordinates var6 = ((Port)this).adjustPerspective(var2.c);
  45.       int var7 = var3.width;
  46.       int var8 = var3.height;
  47.       int[] var9 = new int[4];
  48.       int[] var10 = new int[4];
  49.       int[] var11 = new int[4];
  50.       var9[0] = (int)var4.x + var7 / 2;
  51.       var10[0] = -((int)var4.y) + var8 / 2;
  52.       var11[0] = (int)var4.z;
  53.       var9[1] = (int)var5.x + var7 / 2;
  54.       var10[1] = -((int)var5.y) + var8 / 2;
  55.       var11[1] = (int)var5.z;
  56.       var9[2] = (int)var6.x + var7 / 2;
  57.       var10[2] = -((int)var6.y) + var8 / 2;
  58.       var11[2] = (int)var6.z;
  59.       var9[3] = (int)var4.x + var7 / 2;
  60.       var10[3] = -((int)var4.y) + var8 / 2;
  61.       var11[3] = (int)var4.z;
  62.       var1.setColor(((Component)this).getBackground());
  63.       var1.fillPolygon(var9, var10, 4);
  64.       var1.setColor(((Component)this).getForeground());
  65.       var1.drawPolygon(var9, var10, 4);
  66.    }
  67. }
  68.