Newer
Older
EPQ-3D-renderer / src / main / java / uk / org / floop / epq3d / App.java
@cory cory on 7 Feb 2023 5 KB Minor Changes
package uk.org.floop.epq3d;

import javax.swing.*;

class App {
    static ObjectCollection mainCollection;
    private static void initWindow() {
        // create a window frame and set the title in the toolbar
        JFrame window = new JFrame("Testing");
        // when we close the window, stop the app
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // create the jpanel to draw on.
        // this also initializes the game loop
        initObjects();
        Screen screen = new Screen(mainCollection);
        // add the jpanel to the window
        window.add(screen);
        window.addKeyListener(screen);
        window.addMouseListener(screen);
        window.addMouseMotionListener(screen);
        // don't allow the user to resize the window
        window.setResizable(false);
        // fit the window size around the components (just our jpanel).
        // pack() should be called after setResizable() to avoid issues on some platforms
        window.pack();
        // open window in the center of the screen
        window.setLocationRelativeTo(null);
        // display the window
        window.setVisible(true);
    }

    public static void main(String[] args) {
        // invokeLater() is used here to prevent our graphics processing from
        // blocking the GUI. https://stackoverflow.com/a/22534931/4655368
        // will call initWindow() once.
        SwingUtilities.invokeLater(App::initWindow);
    }

    public static void initObjects(){
        JsonReader Jason = new JsonReader();
        Jason.getObjects();
        mainCollection = Jason.mainCollection;
        mainCollection.initialiseAll();
        //textures = Jason.textures;
        //mainCollection = new ObjectCollection();

//        Texture testTexture;
//        /*try {
//            //testTexture = ImageIO.read(new File("/home/cory/Screenshot from 2022-06-06 18-52-12.png"));
//            testTexture = new Texture(ImageIO.read(new File("/home/cory/Screenshot from 2022-09-26 13-05-40.png")));
//        } catch (IOException e) {
//            throw new RuntimeException(e);
//        }*/
//        Texture red = new Texture("red", Color.red);
//        Texture green = new Texture("green", Color.GREEN);
//        Texture blue = new Texture("blue", Color.BLUE);
//        Texture cyan = new Texture(Color.CYAN);
//        Texture magenta = new Texture(Color.magenta);
//        Texture yellow = new Texture(Color.yellow);
//
//
//        mainCollection.addObject(new Object3d(new PointComp[]{
//                new PointComp(-30,-10,-10),
//                new PointComp(-30,-10,10),
//                new PointComp(-30,10,-10),
//                new PointComp(-30,10,10),
//                new PointComp(-10,-10,-10),
//                new PointComp(-10,-10,10),
//                new PointComp(-10,10,-10),
//                new PointComp(-10,10,10)
//
//        }, new int[][]{
//                {0,2,3,1},
//                {4,5,7,6},
//                {0,1,5,4},
//                {1,3,7,5},
//                {3,2,6,7},
//                {2,0,4,6},
//        }, new Point2D[][]{
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//                {new Point2D(0, 0), new Point2D(100, 0), new Point2D(100, 100), new Point2D(0, 100)},
//        },
//                false,
//                new Texture[]{red, green, blue, cyan, magenta, yellow},
//                true));
////        mainCollection.addObject(new Object3d(new PointComp[]{
////                new PointComp(-10,10,10),
////                new PointComp(-10,-10,10),
////                new PointComp(10,10,10),
////                new PointComp(10,-10,10),
////                new PointComp(0,0,24)
////        }, new int[][]{
////                {0,2,3,1},
////                {1,0,4},
////                {0,2,4},
////                {2,3,4},
////                {3,1,4}
////        }, true));
//        mainCollection.addObject(new Object3d(new PointComp[]{
//                new PointComp(0,0,0),
//                new PointComp(20,0,0),
//                new PointComp(0,10,0),
//                new PointComp(0,0,10),
//        }, new int[][]{
//                {0,1,2},
//                {0,2,3},
//                {0,3,1},
//                {2,1,3}
//        }, new Point2D[][]{
//                {new Point2D(0,0), new Point2D(100,0), new Point2D(0,100)},
//                {new Point2D(0,0), new Point2D(100,0), new Point2D(0,100)},
//                {new Point2D(0,0), new Point2D(100,0), new Point2D(0,100)},
//        },
//                false,
//                new Texture[]{red, blue, cyan, yellow},
//                true));
    }
}