From f924d3e00db476c06f55f3d5aaef307e17575340 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Mon, 13 May 2019 07:29:08 -0400 Subject: [PATCH] Transform children --- CameraPane.java | 144 +++++++++++++++++++++++++++-------------------- 1 files changed, 82 insertions(+), 62 deletions(-) diff --git a/CameraPane.java b/CameraPane.java index 55e5ab4..9a919e6 100644 --- a/CameraPane.java +++ b/CameraPane.java @@ -56,8 +56,6 @@ static int CURRENTANTIALIAS = 0; // 1; /*static*/ boolean RENDERSHADOW = true; /*static*/ int RENDERPROGRAM = 2; // 0 == none, 1 == fast, 2 == normal - static boolean ANIMATION = false; - static String filename; boolean DISPLAYTEXT = false; //boolean REDUCETEXTURE = true; @@ -86,7 +84,7 @@ static boolean FULLSCREEN = false; static boolean SUPPORT = true; static boolean INERTIA = true; -static boolean FAST = true; // false; +static boolean FAST = false; static boolean SLOWPOSE = false; static boolean FOOTCONTACT = true; @@ -108,7 +106,7 @@ static boolean OEIL = true; static boolean OEILONCE = false; // do oeilon then oeiloff static boolean LOOKAT = true; -static boolean RANDOM = true; // false; +static boolean SWITCH = true; // false; static boolean HANDLES = false; // selection doesn't work!! static boolean PAINTMODE = false; @@ -1630,7 +1628,7 @@ cColor.HSBtoRGB(display.color, display.saturation, 1, display.modelParams0); - float[] colorV = GrafreeD.colorV; + float[] colorV = Grafreed.colorV; /**/ if (display.DrawMode() == display.DEFAULT) // && display.RENDERPROGRAM == 0) @@ -2142,7 +2140,7 @@ System.err.println("LIVE = " + Globals.isLIVE()); if (!Globals.isLIVE()) // save sound - GrafreeD.savesound = true; // wav.save(); + Grafreed.savesound = true; // wav.save(); // else repaint(); // start loop // may 2013 } @@ -2269,7 +2267,7 @@ void ToggleRandom() { - RANDOM ^= true; + SWITCH ^= true; } void ToggleHandles() @@ -4208,6 +4206,7 @@ com.sun.opengl.util.texture.Texture CompressTexture2(String name) { + new Exception().printStackTrace(); System.exit(0); com.sun.opengl.util.texture.Texture texture = null; @@ -8076,12 +8075,16 @@ { String texname = tex; - String[] split = tex.split("Textures"); - if (split.length > 1) - texname = "/Users/nbriere/Textures" + split[split.length-1]; - else - if (!texname.startsWith("/")) - texname = "/Users/nbriere/Textures/" + texname; +// String[] split = tex.split("Textures"); +// if (split.length > 1) +// texname = "/Users/nbriere/Textures" + split[split.length-1]; +// else +// if (!texname.startsWith("/")) +// texname = "/Users/nbriere/Textures/" + texname; + if (!new File(tex).exists()) + { + texname = javax.swing.filechooser.FileSystemView.getFileSystemView().getDefaultDirectory() + "/Textures/" + texname; + } if (CACHETEXTURE) texture = textures.get(texname); // TEXTURE CACHE @@ -9394,7 +9397,7 @@ //gl.glFlush(); gl.glAccum(gl.GL_ACCUM, 1.0f / ACSIZE); - if (ANIMATION && ABORTED) + if (Globals.ANIMATION && ABORTED) { System.err.println(" ABORTED FRAME"); break; @@ -9424,7 +9427,7 @@ setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR)); // save image - if (ANIMATION && !ABORTED) + if (Globals.ANIMATION && !ABORTED) { VPwidth = viewport[2]; VPheight = viewport[3]; @@ -9535,11 +9538,11 @@ // imagecount++; - String fullname = filename + (i%100000)/10000 + "" + (i%10000)/1000 + "" + (i%1000)/100 + "" + (i%100)/10 + "" + (i%10) + "." + ext; + String fullname = Globals.filename + (i%100000)/10000 + "" + (i%10000)/1000 + "" + (i%1000)/100 + "" + (i%100)/10 + "" + (i%10) + "." + ext; if (!BOXMODE) { - System.out.println("image: " + fullname + " (wav cursor=" + (GrafreeD.wav.cursor / 735 / 4) + ")"); + System.out.println("image: " + fullname + " (wav cursor=" + (Grafreed.wav.cursor / 735 / 4) + ")"); } if (!BOXMODE) @@ -9577,7 +9580,7 @@ ABORTED = false; } else - GrafreeD.wav.cursor += 735 * ACSIZE; + Grafreed.wav.cursor += 735 * ACSIZE; if (false) { @@ -10240,11 +10243,11 @@ public void display(GLAutoDrawable drawable) { - if (GrafreeD.savesound && GrafreeD.hassound) + if (Grafreed.savesound && Grafreed.hassound) { - GrafreeD.wav.save(); - GrafreeD.savesound = false; - GrafreeD.hassound = false; + Grafreed.wav.save(); + Grafreed.savesound = false; + Grafreed.hassound = false; } // if (DEBUG_SELECTION) // { @@ -10374,7 +10377,7 @@ Object3D theobject = object; Object3D theparent = object.parent; object.parent = null; - object = (Object3D)GrafreeD.clone(object); + object = (Object3D)Grafreed.clone(object); object.Stripify(); if (theobject.selection == null || theobject.selection.Size() == 0) theobject.PreprocessOcclusion(this); @@ -11259,8 +11262,14 @@ { renderpass++; // System.out.println("Draw object... "); + STEP = 1; if (FAST) // in case there is no script - STEP = 16; + STEP = 8; + + if (CURRENTANTIALIAS == 0 || ACSIZE == 1) + { + STEP *= 4; + } //object.FullInvariants(); @@ -11274,8 +11283,8 @@ e.printStackTrace(); } - if (GrafreeD.RENDERME > 0) - GrafreeD.RENDERME--; // mechante magouille + if (Grafreed.RENDERME > 0) + Grafreed.RENDERME--; // mechante magouille Globals.ONESTEP = false; } @@ -12598,8 +12607,10 @@ "MAX ndotl.x, ndotl.x, -ndotl.x;" + "SUB temp.x, one.x, ndotl.x;" + - "ADD temp.x, temp.x, options2.z;" + // lightsheen - "ADD temp.y, one.y, options2.y;" + // sursurface + // Tuning for default skin + //"ADD temp.x, temp.x, options2.z;" + // lightsheen + "MAD temp.x, options2.z, half.y, temp.x;" + // lightsheen + "ADD temp.y, one.y, options2.y;" + // subsurface "MUL temp.x, temp.x, temp.y;" + "MUL saturation, saturation, temp.xxxx;" + @@ -13508,7 +13519,7 @@ public void mousePressed(MouseEvent e) { //System.out.println("mousePressed: " + e); - clickStart(e.getX(), e.getY(), e.getModifiersEx()); + clickStart(e.getX(), e.getY(), e.getModifiers(), e.getModifiersEx()); } static long prevtime = 0; @@ -13584,8 +13595,8 @@ // mode |= META; //} - SetMouseMode(WHEEL | e.getModifiersEx()); - drag(anchorX, anchorY + e.getUnitsToScroll()*8, 0); + SetMouseMode(e.getModifiers(), WHEEL | e.getModifiersEx()); + drag(anchorX, anchorY + e.getUnitsToScroll()*8, 0, 0); anchorX = ax; anchorY = ay; prevX = px; @@ -13645,6 +13656,10 @@ // wasliveok = true; // waslive = false; + // May 2019 Forget it: + if (true) + return; + // source == timer if (mouseDown) { @@ -13683,7 +13698,7 @@ javax.swing.Timer timer = new javax.swing.Timer(350, this); - void clickStart(int x, int y, int modifiers) + void clickStart(int x, int y, int modifiers, int modifiersex) { if (!wasliveok) return; @@ -13700,7 +13715,7 @@ // touched = true; // main DL if (isRenderer) { - SetMouseMode(modifiers); + SetMouseMode(modifiers, modifiersex); } selectX = anchorX = x; @@ -13713,7 +13728,7 @@ clicked = true; hold = false; - if (((modifiers & ~1024) & ~0) == 0) // Single or multiple selection + if (((modifiersex & ~1024) & ~0) == 0) // Single or multiple selection // june 2013 means CTRL_CLICK: if (((modifiers & ~1024) & ~128) == 0) // Single or multiple selection { // System.out.println("RESTART II " + modifiers); @@ -13744,7 +13759,7 @@ info.camera = renderCamera; info.x = x; info.y = y; - info.modifiers = modifiers; + info.modifiers = modifiersex; editObj = object.doEditClick(info, 0); if (!editObj) { @@ -13773,7 +13788,7 @@ clickEnd(e.getX(), e.getY(), e.getModifiersEx()); } else - drag(e.getX(), e.getY(), e.getModifiersEx()); + drag(e.getX(), e.getY(), e.getModifiers(), e.getModifiersEx()); //try { Thread.sleep(1); } catch (Exception ex) {} } @@ -13946,6 +13961,7 @@ public void run() { + new Exception().printStackTrace(); System.exit(0); for (;;) { @@ -14009,7 +14025,7 @@ { Globals.lighttouched = true; } - drag(X, (mouseMode != 0) ? Y : anchorY, MODIFIERS); + drag(X, (mouseMode != 0) ? Y : anchorY, 0, MODIFIERS); } //else } @@ -14109,7 +14125,7 @@ int X, Y; boolean SX, SY; - void drag(int x, int y, int modifiers) + void drag(int x, int y, int modifiers, int modifiersex) { if (IsFrozen()) { @@ -14118,17 +14134,17 @@ drag = true; // NEW - boolean continuous = (modifiers & COMMAND) == COMMAND; + boolean continuous = (modifiersex & COMMAND) == COMMAND; X = x; Y = y; // floating state for animation - MODIFIERS = modifiers; - modifiers &= ~1024; + MODIFIERS = modifiersex; + modifiersex &= ~1024; if (false) // modifiers != 0) { //new Exception().printStackTrace(); - System.out.println("mouseDragged: " + modifiers); + System.out.println("mouseDragged: " + modifiersex); System.out.println("SHIFT = " + SHIFT); System.out.println("CONTROL = " + COMMAND); System.out.println("META = " + META); @@ -14148,7 +14164,7 @@ info.camera = renderCamera; info.x = x; info.y = y; - object.editWindow.copy.doEditDrag(info); + object.editWindow.copy.doEditDrag(info, (modifiers & MouseEvent.BUTTON3_MASK) != 0); } else { if (x < startX) @@ -14347,9 +14363,9 @@ boolean control = ((modifiers & CTRL) != 0); // june 2013: for point selection boolean command = ((modifiers & COMMAND) != 0); // june 2013: for multiple selection - if (control || command || IsFrozen()) +// No delay if (control || command || IsFrozen()) timeout = true; - else +// ?? May 2019 else // timer.setDelay((modifiers & 128) != 0?0:350); mouseDown = false; if (!control && !command) // june 2013 @@ -14459,7 +14475,7 @@ System.out.println("keyReleased: " + e); } - void SetMouseMode(int modifiers) + void SetMouseMode(int modifiers, int modifiersex) { //System.out.println("SetMouseMode = " + modifiers); //modifiers &= ~1024; @@ -14471,25 +14487,25 @@ //if (modifiers == 0) // || (modifiers == (1024 | CONTROL))) // return; //System.out.println("SetMode = " + modifiers); - if ((modifiers & WHEEL) == WHEEL) + if ((modifiersex & WHEEL) == WHEEL) { mouseMode |= ZOOM; } boolean capsLocked = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK); - if (capsLocked || (modifiers & META) == META) + if (capsLocked) // || (modifiers & META) == META) { mouseMode |= VR; // BACKFORTH; } - if ((modifiers & CTRLCLICK) == CTRLCLICK) + if ((modifiersex & CTRLCLICK) == CTRLCLICK) { mouseMode |= SELECT; } - if ((modifiers & COMMAND) == COMMAND) + if ((modifiersex & COMMAND) == COMMAND) { mouseMode |= SELECT; } - if ((modifiers & SHIFT) == SHIFT || forcetranslate) + if ((modifiersex & SHIFT) == SHIFT || forcetranslate || (modifiers & MouseEvent.BUTTON3_MASK) != 0) { mouseMode &= ~VR; mouseMode |= TRANSLATE; @@ -14518,7 +14534,7 @@ if (isRenderer) // { - SetMouseMode(modifiers); + SetMouseMode(0, modifiers); } Globals.theRenderer.keyPressed(key); @@ -14854,7 +14870,7 @@ //RESIZETEXTURE ^= true; //break; case 'z': - RENDERSHADOW ^= true; + Globals.RENDERSHADOW ^= true; Globals.lighttouched = true; repaint(); break; @@ -14978,7 +14994,7 @@ //mode = ROTATE; if ((MODIFIERS & COMMAND) == 0) // VR?? { - SetMouseMode(modifiers); + SetMouseMode(0, modifiers); } } @@ -15114,7 +15130,7 @@ { //System.out.println("processMouseMotionEvent: " + mouseMode + " " + e.getModifiers() + " " + e.getModifiersEx() + " " + e.getButton()); //if (e.getButton() == MouseEvent.NOBUTTON && (mouseMode & SELECT) == 0) - if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == 0 && (mouseMode & SELECT) == 0) + if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == 0 && (e.getModifiers() & MouseEvent.BUTTON3_MASK) == 0 && (mouseMode & SELECT) == 0) { mouseMoved(e); } else @@ -15144,6 +15160,7 @@ void SelectParent() { + new Exception().printStackTrace(); System.exit(0); Composite group = (Composite) object; java.util.Vector selectees = new java.util.Vector(group.selection); @@ -15167,6 +15184,7 @@ void SelectChildren() { + new Exception().printStackTrace(); System.exit(0); /* Composite group = (Composite) object; @@ -15549,6 +15567,7 @@ public boolean mouseDown(Event evt, int x, int y) { System.out.println("mouseDown: " + evt); + System.exit(0); /* locked = true; drag = false; @@ -15592,7 +15611,7 @@ { keyPressed(0, modifiers); } - clickStart(x, y, modifiers); + // clickStart(x, y, modifiers); return true; } @@ -15710,7 +15729,7 @@ { keyReleased(0, 0); } - drag(x, y, modifiers); + drag(x, y, 0, modifiers); return true; } @@ -16280,6 +16299,7 @@ { if (!selection) { + new Exception().printStackTrace(); System.exit(0); return; } @@ -16407,16 +16427,16 @@ System.out.println("; fromto " + sel + " " + Trunk(previousselectedpoint.toParent[3][0]) + " " + Trunk(previousselectedpoint.toParent[3][2]) + " " + Trunk(selectedpoint.toParent[3][0]) + " " + Trunk(selectedpoint.toParent[3][2])); } - previousselectedpoint = (Sphere) GrafreeD.clone(selectedpoint); + previousselectedpoint = (Sphere) Grafreed.clone(selectedpoint); } } if (!movingcamera && !PAINTMODE) object.editWindow.ScreenFitPoint(); // fev 2014 - if (PAINTMODE && GrafreeD.clipboard.size() == 1) // object.editWindow.copy.selection.Size() > 0) + if (PAINTMODE && Grafreed.clipboard.size() == 1) // object.editWindow.copy.selection.Size() > 0) { - Object3D paintobj = GrafreeD.clipboard.get(0); // object.editWindow.copy.selection.elementAt(0); + Object3D paintobj = Grafreed.clipboard.get(0); // object.editWindow.copy.selection.elementAt(0); Object3D group = new Object3D("inst" + paintcount++); @@ -16572,7 +16592,7 @@ gl.glDisable(gl.GL_CULL_FACE); } - if (!RENDERSHADOW) + if (!Globals.RENDERSHADOW) gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); // SB gl.glPolygonOffset(2.5f, 10); @@ -16582,7 +16602,7 @@ //gl.glColorMask(false, false, false, false); //render_scene_from_light_view(gl, drawable, 0, 0); - if (RENDERSHADOW && Globals.lighttouched && !movingcamera) // && !parent.IsFreezed()) + if (Globals.RENDERSHADOW && Globals.lighttouched && !movingcamera) // && !parent.IsFreezed()) { gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); -- Gitblit v1.6.2