From f1382bc839a74ef1d1534c61ea94e53cf54716df Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 23 Jun 2019 15:00:47 -0400 Subject: [PATCH] Edit panel --- CameraPane.java | 68 ++++++++++++++++++++++----------- 1 files changed, 45 insertions(+), 23 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index 99e2648..76ad7dc 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -37,7 +37,6 @@ static boolean[] selectedstack = new boolean[65536]; static int materialdepth = 0; - static boolean DEBUG = false; static boolean FRUSTUM = false; // still bogus true; // frustum culling // camera change fix @@ -464,10 +463,12 @@ if (!selectmode) // display.drawMode != display.SELECTION) // && display.drawMode != display.SHADOW) // (attributes & FILL) != 0) { //gl.glBegin(gl.GL_TRIANGLES); - boolean hasnorm = pv.norm != null && (pv.norm.x != 0 || pv.norm.y != 0 || pv.norm.z != 0); + boolean hasnorm = pv.norm != null && (pv.norm.x != 0 || pv.norm.y != 0 || pv.norm.z != 0) + // TEST LIVE NORMALS && !obj.dontselect + ; if (!hasnorm) { - // System.out.println("FUCK!!"); + // System.out.println("Mesh normal"); LA.vecSub(pv/*.pos*/, qv/*.pos*/, obj.v0); LA.vecSub(pv/*.pos*/, rv/*.pos*/, obj.v1); LA.vecCross(obj.v0, obj.v1, obj.v2); @@ -1192,10 +1193,12 @@ gl.glColor4f(c[count3/3], c[count3/3 /* + 1*/], c[count3/3 /* + 2*/], 1); } } + if (flipV) gl.glTexCoord2f(uv[count2], 1-uv[count2 + 1]); else gl.glTexCoord2f(uv[count2], uv[count2 + 1]); + //System.out.println("vertex1 = " + v[count3] + ", " + v[count3+1] + ", " + v[count3+2]); gl.glVertex3f(v[count3], v[count3 + 1], v[count3 + 2]); @@ -1215,10 +1218,12 @@ gl.glColor4f(c[count3/3], c[count3/3 /* + 1*/], c[count3/3 /* + 2*/], 1); } } + if (flipV) gl.glTexCoord2f(uv[count2], 1-uv[count2 + 1]); else gl.glTexCoord2f(uv[count2], uv[count2 + 1]); + //System.out.println("vertex2 = " + v[count3] + ", " + v[count3+1] + ", " + v[count3+2]); gl.glVertex3f(v[count3], v[count3 + 1], v[count3 + 2]); @@ -1246,8 +1251,10 @@ gl.glTexCoord2f(uv[count2], 1-uv[count2 + 1]); else gl.glTexCoord2f(uv[count2], uv[count2 + 1]); + //System.out.println("coord3 = " + uv[count2] + ", " + uv[count2+1]); gl.glVertex3f(v[count3], v[count3 + 1], v[count3 + 2]); + count2 += 2; count3 += 3; } @@ -2259,7 +2266,7 @@ void ToggleDebug() { - DEBUG ^= true; + Globals.DEBUG ^= true; } void ToggleLookAt() @@ -11451,6 +11458,24 @@ static boolean zoomonce = false; + void CreateSelectedPoint() + { + if (selectedpoint == null) + { + debugpointG = new Sphere(); + debugpointP = new Sphere(); + debugpointC = new Sphere(); + debugpointR = new Sphere(); + + selectedpoint = new Superellipsoid(); + + for (int i=0; i<8; i++) + { + debugpoints[i] = new Sphere(); + } + } + } + void DrawObject(GL gl, boolean draw) { //System.out.println("DRAW OBJECT " + mouseDown); @@ -11531,8 +11556,9 @@ if (DrawMode() == DEFAULT) { - if (DEBUG) + if (Globals.DEBUG) { + CreateSelectedPoint(); float radius = 0.05f; if (selectedpoint.radius != radius) { @@ -14894,8 +14920,14 @@ RevertCamera(); repaint(); break; - case 'L': case 'l': + lightMode ^= true; + Globals.lighttouched = true; + manipCamera = renderCamera = lightMode ? lightCamera : eyeCamera; + targetLookAt.set(manipCamera.lookAt); + repaint(); + break; + case 'L': if (lightMode) { lightMode = false; @@ -15042,16 +15074,14 @@ kompactbit = 6; break; case ' ': - lightMode ^= true; - Globals.lighttouched = true; - manipCamera = renderCamera = lightMode ? lightCamera : eyeCamera; - targetLookAt.set(manipCamera.lookAt); + ObjEditor.theFrame.ToggleFullScreen(); repaint(); break; //case '`' : case ESC: RENDERPROGRAM += 1; RENDERPROGRAM %= 3; + repaint(); break; case 'Z': @@ -17227,23 +17257,15 @@ int AAbuffersize = 0; //double[] selectedpoint = new double[3]; - static Superellipsoid selectedpoint = new Superellipsoid(); + static Superellipsoid selectedpoint; static Sphere previousselectedpoint = null; - static Sphere debugpointG = new Sphere(); - static Sphere debugpointP = new Sphere(); - static Sphere debugpointC = new Sphere(); - static Sphere debugpointR = new Sphere(); + static Sphere debugpointG; + static Sphere debugpointP; + static Sphere debugpointC; + static Sphere debugpointR; static Sphere debugpoints[] = new Sphere[8]; - static - { - for (int i=0; i<8; i++) - { - debugpoints[i] = new Sphere(); - } - } - static void InitPoints(float radius) { for (int i=0; i<8; i++) -- Gitblit v1.6.2