// Path: src/java/yaw/engine/meshs/strategy/BoundingBoxDrawingStrategy.java
// public class BoundingBoxDrawingStrategy implements MeshDrawingStrategy {
// 
//     @Override
//     public void drawMesh(Mesh pMesh) {
//         glEnable(GL_POLYGON_OFFSET_FILL);
//         glEnable(GL_PROGRAM_POINT_SIZE);
//         glPolygonOffset(1, 0);
//         glDrawElements(GL_LINES, pMesh.getIndices().length, GL_UNSIGNED_INT, 0);
//     }
// }
// 
// Path: src/java/yaw/engine/meshs/strategy/DefaultDrawingStrategy.java
// public class DefaultDrawingStrategy implements MeshDrawingStrategy {
// 
// 
//     @Override
//     public void drawMesh(Mesh pMesh) {
//         // Draw the mVertices
//         glDrawElements(GL_TRIANGLES, pMesh.getIndices().length, GL_UNSIGNED_INT, 0);
//     }
// 
// }


import yaw.engine.meshs.strategy.BoundingBoxDrawingStrategy;
import org.joml.Vector3f;
import yaw.engine.meshs.strategy.DefaultDrawingStrategy;
import java.util.HashMap;
import java.util.Map;
                //LBF
                neg, neg, pos, neg, neg, pos, neg, neg, pos,
                //RBF
                pos, neg, pos, pos, neg, pos, pos, neg, pos,
                //LTB
                neg, pos, neg, neg, pos, neg, neg, pos, neg,
                //RTB
                pos, pos, neg, pos, pos, neg, pos, pos, neg,
                //LBB
                neg, neg, neg, neg, neg, neg, neg, neg, neg,
                //RBB
                pos, neg, neg, pos, neg, neg, pos, neg, neg};
        int[] indices = new int[]{
                //LTF
                0, 2, 1,
                //RTF
                3, 4, 5,
                //LBF
                6, 7, 8,
                //RBF
                9, 11, 10,
                //LTB
                12, 13, 14,
                //RTB
                15, 17, 16,
                //LBB
                18, 20, 19,
                //RBB
                21, 22, 23};
        Mesh lMesh = new Mesh(vertices, null, normals, indices, 6);
// Path: src/java/yaw/engine/meshs/strategy/BoundingBoxDrawingStrategy.java
// public class BoundingBoxDrawingStrategy implements MeshDrawingStrategy {
// 
//     @Override
//     public void drawMesh(Mesh pMesh) {
//         glEnable(GL_POLYGON_OFFSET_FILL);
//         glEnable(GL_PROGRAM_POINT_SIZE);
//         glPolygonOffset(1, 0);
//         glDrawElements(GL_LINES, pMesh.getIndices().length, GL_UNSIGNED_INT, 0);
//     }
// }
// 
// Path: src/java/yaw/engine/meshs/strategy/DefaultDrawingStrategy.java
// public class DefaultDrawingStrategy implements MeshDrawingStrategy {
// 
// 
//     @Override
//     public void drawMesh(Mesh pMesh) {
//         // Draw the mVertices
//         glDrawElements(GL_TRIANGLES, pMesh.getIndices().length, GL_UNSIGNED_INT, 0);
//     }
// 
// }


// Path: src/java/yaw/engine/meshs/MeshBuilder.java
import yaw.engine.meshs.strategy.BoundingBoxDrawingStrategy;
import org.joml.Vector3f;
import yaw.engine.meshs.strategy.DefaultDrawingStrategy;
import java.util.HashMap;
import java.util.Map;

                //LBF
                neg, neg, pos, neg, neg, pos, neg, neg, pos,
                //RBF
                pos, neg, pos, pos, neg, pos, pos, neg, pos,
                //LTB
                neg, pos, neg, neg, pos, neg, neg, pos, neg,
                //RTB
                pos, pos, neg, pos, pos, neg, pos, pos, neg,
                //LBB
                neg, neg, neg, neg, neg, neg, neg, neg, neg,
                //RBB
                pos, neg, neg, pos, neg, neg, pos, neg, neg};
        int[] indices = new int[]{
                //LTF
                0, 2, 1,
                //RTF
                3, 4, 5,
                //LBF
                6, 7, 8,
                //RBF
                9, 11, 10,
                //LTB
                12, 13, 14,
                //RTB
                15, 17, 16,
                //LBB
                18, 20, 19,
                //RBB
                21, 22, 23};
        Mesh lMesh = new Mesh(vertices, null, normals, indices, 6);
        lMesh.setDrawingStrategy(new DefaultDrawingStrategy());