// Path: core/src/main/java/org/flightclub/compat/Color.java
// public class Color {
//     private final java.awt.Color c;
// 
// 
//     /**
//      * The color white.  In the default sRGB space.
//      */
//     public final static Color WHITE = new Color(255, 255, 255);
// 
//     /**
//      * The color light gray.  In the default sRGB space.
//      */
//     public final static Color LIGHT_GRAY = new Color(192, 192, 192);
// 
//     /**
//      * The color gray.  In the default sRGB space.
//      */
//     public final static Color GRAY = new Color(128, 128, 128);
// 
//     /**
//      * The color dark gray.  In the default sRGB space.
//      */
//     public final static Color DARK_GRAY = new Color(64, 64, 64);
// 
//     /**
//      * The color black.  In the default sRGB space.
//      */
//     public final static Color BLACK = new Color(0, 0, 0);
// 
//     /**
//      * The color red.  In the default sRGB space.
//      */
//     public final static Color RED = new Color(255, 0, 0);
// 
//     /**
//      * The color pink.  In the default sRGB space.
//      */
//     public final static Color PINK = new Color(255, 175, 175);
// 
//     /**
//      * The color orange.  In the default sRGB space.
//      */
//     public final static Color ORANGE = new Color(255, 200, 0);
// 
//     /**
//      * The color yellow.  In the default sRGB space.
//      */
//     public final static Color YELLOW = new Color(255, 255, 0);
// 
//     /**
//      * The color green.  In the default sRGB space.
//      */
//     public final static Color GREEN = new Color(0, 255, 0);
// 
//     /**
//      * The color magenta.  In the default sRGB space.
//      */
//     public final static Color MAGENTA = new Color(255, 0, 255);
// 
//     /**
//      * The color cyan.  In the default sRGB space.
//      */
//     public final static Color CYAN = new Color(0, 255, 255);
// 
//     /**
//      * The color blue.  In the default sRGB space.
//      */
//     public final static Color BLUE = new Color(0, 0, 255);
// 
//     public Color(int r, int g, int b) {
//         this.c = new java.awt.Color(r, g, b);
//     }
// 
//     public java.awt.Color getColor() {
//         return c;
//     }
// 
//     public int getRed() {
//         return c.getRed();
//     }
// 
//     public int getGreen() {
//         return c.getGreen();
//     }
// 
//     public int getBlue() {
//         return c.getBlue();
//     }
// }
// 
// Path: core/src/main/java/org/flightclub/compat/Graphics.java
// public interface Graphics {
//     void setColor(Color color);
//     void setFont(Font font);
// 
//     void drawLine(int x1, int y1, int x2, int y2);
//     void drawString(String str, int x, int y);
// 
//     void fillCircle(int x, int y, int diameter);
//     void fillPolygon(int[] xPoints, int[] yPoints, int nPoints);
// }


import org.flightclub.compat.Color;
import org.flightclub.compat.Graphics;

    void setNormal() {
        if (numPoints < 3)
            return;

        Vector3d[] ps = new Vector3d[3];
        for (int i = 0; i < 3; i++)
            ps[i] = object3d.points.elementAt(points[i]);

        Vector3d e1 = ps[0].minus(ps[1]);
        Vector3d e2 = ps[2].minus(ps[1]);

        normal = new Vector3d(e1).cross(e2).makeUnit();

        calcLight();
    }

    void calcLight() {
        int r = c.getRed();
        int g = c.getGreen();
        int b = c.getBlue();

        float light = object3d.app.cameraMan.surfaceLight(normal);
        r *= light;
        g *= light;
        b *= light;

        c_ = new Color(r, g, b);
    }

// Path: core/src/main/java/org/flightclub/compat/Color.java
// public class Color {
//     private final java.awt.Color c;
// 
// 
//     /**
//      * The color white.  In the default sRGB space.
//      */
//     public final static Color WHITE = new Color(255, 255, 255);
// 
//     /**
//      * The color light gray.  In the default sRGB space.
//      */
//     public final static Color LIGHT_GRAY = new Color(192, 192, 192);
// 
//     /**
//      * The color gray.  In the default sRGB space.
//      */
//     public final static Color GRAY = new Color(128, 128, 128);
// 
//     /**
//      * The color dark gray.  In the default sRGB space.
//      */
//     public final static Color DARK_GRAY = new Color(64, 64, 64);
// 
//     /**
//      * The color black.  In the default sRGB space.
//      */
//     public final static Color BLACK = new Color(0, 0, 0);
// 
//     /**
//      * The color red.  In the default sRGB space.
//      */
//     public final static Color RED = new Color(255, 0, 0);
// 
//     /**
//      * The color pink.  In the default sRGB space.
//      */
//     public final static Color PINK = new Color(255, 175, 175);
// 
//     /**
//      * The color orange.  In the default sRGB space.
//      */
//     public final static Color ORANGE = new Color(255, 200, 0);
// 
//     /**
//      * The color yellow.  In the default sRGB space.
//      */
//     public final static Color YELLOW = new Color(255, 255, 0);
// 
//     /**
//      * The color green.  In the default sRGB space.
//      */
//     public final static Color GREEN = new Color(0, 255, 0);
// 
//     /**
//      * The color magenta.  In the default sRGB space.
//      */
//     public final static Color MAGENTA = new Color(255, 0, 255);
// 
//     /**
//      * The color cyan.  In the default sRGB space.
//      */
//     public final static Color CYAN = new Color(0, 255, 255);
// 
//     /**
//      * The color blue.  In the default sRGB space.
//      */
//     public final static Color BLUE = new Color(0, 0, 255);
// 
//     public Color(int r, int g, int b) {
//         this.c = new java.awt.Color(r, g, b);
//     }
// 
//     public java.awt.Color getColor() {
//         return c;
//     }
// 
//     public int getRed() {
//         return c.getRed();
//     }
// 
//     public int getGreen() {
//         return c.getGreen();
//     }
// 
//     public int getBlue() {
//         return c.getBlue();
//     }
// }
// 
// Path: core/src/main/java/org/flightclub/compat/Graphics.java
// public interface Graphics {
//     void setColor(Color color);
//     void setFont(Font font);
// 
//     void drawLine(int x1, int y1, int x2, int y2);
//     void drawString(String str, int x, int y);
// 
//     void fillCircle(int x, int y, int diameter);
//     void fillPolygon(int[] xPoints, int[] yPoints, int nPoints);
// }


// Path: core/src/main/java/org/flightclub/PolyLine.java
import org.flightclub.compat.Color;
import org.flightclub.compat.Graphics;


    void setNormal() {
        if (numPoints < 3)
            return;

        Vector3d[] ps = new Vector3d[3];
        for (int i = 0; i < 3; i++)
            ps[i] = object3d.points.elementAt(points[i]);

        Vector3d e1 = ps[0].minus(ps[1]);
        Vector3d e2 = ps[2].minus(ps[1]);

        normal = new Vector3d(e1).cross(e2).makeUnit();

        calcLight();
    }

    void calcLight() {
        int r = c.getRed();
        int g = c.getGreen();
        int b = c.getBlue();

        float light = object3d.app.cameraMan.surfaceLight(normal);
        r *= light;
        g *= light;
        b *= light;

        c_ = new Color(r, g, b);
    }

    public void draw(Graphics g) {