// 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;
import java.util.Vector;

/**
 This code is covered by the GNU General Public License
 detailed at http://www.gnu.org/copyleft/gpl.html

 Flight Club docs located at http://www.danb.dircon.co.uk/hg/hg.htm
 Dan Burton , Nov 2001
 */

package org.flightclub;



public class Object3d {
    protected XCGame app = null;

    final Vector<Vector3d> points = new Vector<>();
    final Vector<Vector3d> points_ = new Vector<>();
    final Vector<PolyLine> wires = new Vector<>();

    // list of flags - is point within field of view
    final Vector<Boolean> inFOVs = new Vector<>();

    boolean inFOV = false;

    // default layer 1
    int layer;

    Object3d(XCGame theApp) {
        this(theApp, true);
    }

    Object3d(XCGame theApp, boolean register) {
        this(theApp, register, 1);
    }

    Object3d(XCGame theApp, boolean register, int inLayer) {
        app = theApp;
        layer = inLayer;
        if (register)
            registerObject3d();
    }

    public void destroyMe() {
        app.obj3dManager.removeObj(this, layer);
    }

    void registerObject3d() {
        app.obj3dManager.addObj(this, layer);
    }


// 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/Object3d.java
import org.flightclub.compat.Color;
import org.flightclub.compat.Graphics;
import java.util.Vector;

/**
 This code is covered by the GNU General Public License
 detailed at http://www.gnu.org/copyleft/gpl.html

 Flight Club docs located at http://www.danb.dircon.co.uk/hg/hg.htm
 Dan Burton , Nov 2001
 */

package org.flightclub;



public class Object3d {
    protected XCGame app = null;

    final Vector<Vector3d> points = new Vector<>();
    final Vector<Vector3d> points_ = new Vector<>();
    final Vector<PolyLine> wires = new Vector<>();

    // list of flags - is point within field of view
    final Vector<Boolean> inFOVs = new Vector<>();

    boolean inFOV = false;

    // default layer 1
    int layer;

    Object3d(XCGame theApp) {
        this(theApp, true);
    }

    Object3d(XCGame theApp, boolean register) {
        this(theApp, register, 1);
    }

    Object3d(XCGame theApp, boolean register, int inLayer) {
        app = theApp;
        layer = inLayer;
        if (register)
            registerObject3d();
    }

    public void destroyMe() {
        app.obj3dManager.removeObj(this, layer);
    }

    void registerObject3d() {
        app.obj3dManager.addObj(this, layer);
    }


    public void draw(Graphics g) {
