8 files added
	
		
		9 files modified
	
	
 
	
	
	
	
	
	
	
	| .. | .. | 
|---|
| 2000 | 2000 |                  // Warning: faster but dangerous | 
|---|
| 2001 | 2001 |                  if (v.weights != null && v.weights[j] | 
|---|
| 2002 | 2002 |                          // == 0) | 
|---|
| 2003 |  | -                        < 0.001 * v.totalweight)  | 
|---|
 | 2003 | +                        < 0.0001 * v.totalweight)  | 
|---|
| 2004 | 2004 |                  { | 
|---|
| 2005 | 2005 |                      //testweight += v.weights[j-1]; | 
|---|
| 2006 | 2006 |                      continue; | 
|---|
 
| .. | .. | 
|---|
| 106 | 106 |      cVector minima; | 
|---|
| 107 | 107 |      cVector maxima; | 
|---|
| 108 | 108 |      static float umap[] = { | 
|---|
| 109 |  | -        0, 1, 0, 1, 1, 0, 1, 0  | 
|---|
 | 109 | +        0, 1, 0, 1, 1, 0, 1, 0,  | 
|---|
| 110 | 110 |      }; | 
|---|
| 111 | 111 |      static float vmap[] = { | 
|---|
| 112 |  | -        0, 0, 1, 1, 1, 1, 0, 0  | 
|---|
 | 112 | +        1, 1, 0, 0, 1, 1, 0, 0,  | 
|---|
| 113 | 113 |      }; | 
|---|
| 114 | 114 |      static int faces[][] = { | 
|---|
| 115 | 115 |          { | 
|---|
 
| .. | .. | 
|---|
| 319 | 319 |              location.set(lookAt); | 
|---|
| 320 | 320 |              lookAt.set(cStatic.point1); | 
|---|
| 321 | 321 |               | 
|---|
| 322 |  | -            computeTransform();  | 
|---|
 | 322 | +            //computeTransform();  | 
|---|
| 323 | 323 |  	} | 
|---|
| 324 | 324 |  	 | 
|---|
| 325 | 325 |      //synchronized // june 2014 | 
|---|
 
| .. | .. | 
|---|
| 11088 | 11088 |          { | 
|---|
| 11089 | 11089 |              if (cubemaprgb == null) | 
|---|
| 11090 | 11090 |              { | 
|---|
| 11091 |  | -                cubemaprgb = LoadSkybox("cubemaps/default-skyboxes/rgb" + "/", "jpg", false);  | 
|---|
 | 11091 | +                cubemaprgb = LoadSkybox("cubemaps/default-skyboxes/rgb2" + "/", "jpg", false);  | 
|---|
| 11092 | 11092 |              } | 
|---|
| 11093 | 11093 |               | 
|---|
| 11094 | 11094 |              cubemap = cubemaprgb; | 
|---|
| .. | .. | 
|---|
| 13419 | 13419 |              program = programmin; | 
|---|
| 13420 | 13420 |          } | 
|---|
| 13421 | 13421 |           | 
|---|
| 13422 |  | -        System.out.print("Program #" + mode + "; instructions = " + program.split(";").length + "; length = " + program.length());  | 
|---|
| 13423 |  | -        System.out.println(" - " + (mode >> 3) + " lights; " + ((mode & 2) == 2 ? "anisoUV " : "") + ((mode & 4) == 4 ? "SoftShadow " : ""));  | 
|---|
 | 13422 | +        if (Globals.DEBUG)  | 
|---|
 | 13423 | +        {  | 
|---|
 | 13424 | +            System.out.print("Program #" + mode + "; instructions = " + program.split(";").length + "; length = " + program.length());  | 
|---|
 | 13425 | +            System.out.println(" - " + (mode >> 3) + " lights; " + ((mode & 2) == 2 ? "anisoUV " : "") + ((mode & 4) == 4 ? "SoftShadow " : ""));  | 
|---|
 | 13426 | +        }  | 
|---|
 | 13427 | +          | 
|---|
| 13424 | 13428 |          loadProgram(gl, GL.GL_FRAGMENT_PROGRAM_ARB, program); | 
|---|
| 13425 | 13429 |   | 
|---|
| 13426 | 13430 |      //gl.glNewList(displayListID, GL.GL_COMPILE); | 
|---|
| .. | .. | 
|---|
| 13467 | 13471 |                  "\n" + | 
|---|
| 13468 | 13472 |                  "END\n"; | 
|---|
| 13469 | 13473 |   | 
|---|
| 13470 |  | -        System.out.println("Program shadow #" + 0 + "; length = " + program.length());  | 
|---|
 | 13474 | +        if (Globals.DEBUG)  | 
|---|
 | 13475 | +            System.out.println("Program shadow #" + 0 + "; length = " + program.length());  | 
|---|
| 13471 | 13476 |          loadProgram(gl, GL.GL_FRAGMENT_PROGRAM_ARB, program); | 
|---|
| 13472 | 13477 |   | 
|---|
| 13473 | 13478 |      //gl.glNewList(displayListID, GL.GL_COMPILE); | 
|---|
| .. | .. | 
|---|
| 14666 | 14671 |      void GoDown(int mod) | 
|---|
| 14667 | 14672 |      { | 
|---|
| 14668 | 14673 |          MODIFIERS |= COMMAND; | 
|---|
 | 14674 | +        boolean isVR = (mouseMode&VR)!=0;  | 
|---|
| 14669 | 14675 |          /**/ | 
|---|
| 14670 | 14676 |          if((mod&SHIFT) == SHIFT) | 
|---|
| 14671 |  | -        manipCamera.BackForth(0, -speed*delta, 0); // getWidth());  | 
|---|
 | 14677 | +        {  | 
|---|
 | 14678 | +            if (isVR)  | 
|---|
 | 14679 | +                manipCamera.RotateInterest(0, -speed);  | 
|---|
 | 14680 | +            else  | 
|---|
 | 14681 | +                manipCamera.RotatePosition(0, -speed);  | 
|---|
 | 14682 | +        }  | 
|---|
| 14672 | 14683 |          else | 
|---|
| 14673 |  | -        manipCamera.RotatePosition(0, -speed);  | 
|---|
 | 14684 | +            manipCamera.BackForth(0, -speed*delta, isVR?1000:0); // getWidth());  | 
|---|
| 14674 | 14685 |          /**/ | 
|---|
| 14675 | 14686 |          if ((mod & SHIFT) == SHIFT) | 
|---|
| 14676 | 14687 |          { | 
|---|
| .. | .. | 
|---|
| 14680 | 14691 |              mouseMode |= BACKFORTH; | 
|---|
| 14681 | 14692 |          } | 
|---|
| 14682 | 14693 |   | 
|---|
 | 14694 | +        targetLookAt.set(manipCamera.lookAt);  | 
|---|
 | 14695 | +          | 
|---|
| 14683 | 14696 |          //prevX = X = anchorX; | 
|---|
| 14684 | 14697 |          prevY = Y = anchorY - (int) (renderCamera.Distance()); | 
|---|
| 14685 | 14698 |      } | 
|---|
| .. | .. | 
|---|
| 14688 | 14701 |      { | 
|---|
| 14689 | 14702 |          MODIFIERS |= COMMAND; | 
|---|
| 14690 | 14703 |          /**/ | 
|---|
 | 14704 | +        boolean isVR = (mouseMode&VR)!=0;  | 
|---|
 | 14705 | +          | 
|---|
| 14691 | 14706 |          if((mod&SHIFT) == SHIFT) | 
|---|
| 14692 |  | -        manipCamera.BackForth(0, speed*delta, 0); // getWidth());  | 
|---|
 | 14707 | +        {  | 
|---|
 | 14708 | +            if (isVR)  | 
|---|
 | 14709 | +                manipCamera.RotateInterest(0, speed);  | 
|---|
 | 14710 | +            else  | 
|---|
 | 14711 | +                manipCamera.RotatePosition(0, speed);  | 
|---|
 | 14712 | +        }  | 
|---|
| 14693 | 14713 |          else | 
|---|
| 14694 |  | -        manipCamera.RotatePosition(0, speed);  | 
|---|
 | 14714 | +            manipCamera.BackForth(0, speed*delta, isVR?1000:0); // getWidth());  | 
|---|
| 14695 | 14715 |          /**/ | 
|---|
| 14696 | 14716 |          if ((mod & SHIFT) == SHIFT) | 
|---|
| 14697 | 14717 |          { | 
|---|
| .. | .. | 
|---|
| 14701 | 14721 |              mouseMode |= BACKFORTH; | 
|---|
| 14702 | 14722 |          } | 
|---|
| 14703 | 14723 |   | 
|---|
 | 14724 | +        targetLookAt.set(manipCamera.lookAt);  | 
|---|
 | 14725 | +          | 
|---|
| 14704 | 14726 |          //prevX = X = anchorX; | 
|---|
| 14705 | 14727 |          prevY = Y = anchorY + (int) (renderCamera.Distance()); | 
|---|
| 14706 | 14728 |      } | 
|---|
| .. | .. | 
|---|
| 14710 | 14732 |          MODIFIERS |= COMMAND; | 
|---|
| 14711 | 14733 |          /**/ | 
|---|
| 14712 | 14734 |          if((mod&SHIFT) == SHIFT) | 
|---|
| 14713 |  | -        manipCamera.Translate(speed*delta, 0, getWidth());  | 
|---|
 | 14735 | +            manipCamera.Translate(speed*delta, 0, getWidth());  | 
|---|
| 14714 | 14736 |          else | 
|---|
| 14715 |  | -        manipCamera.RotatePosition(speed, 0);  | 
|---|
 | 14737 | +        {  | 
|---|
 | 14738 | +            if ((mouseMode&VR)!=0)  | 
|---|
 | 14739 | +                manipCamera.RotateInterest(-speed, 0);  | 
|---|
 | 14740 | +            else  | 
|---|
 | 14741 | +                manipCamera.RotatePosition(speed, 0);  | 
|---|
 | 14742 | +        }  | 
|---|
| 14716 | 14743 |          /**/ | 
|---|
| 14717 | 14744 |          if ((mod & SHIFT) == SHIFT) | 
|---|
| 14718 | 14745 |          { | 
|---|
| .. | .. | 
|---|
| 14722 | 14749 |              mouseMode |= ROTATE; | 
|---|
| 14723 | 14750 |          } // TRANSLATE; | 
|---|
| 14724 | 14751 |   | 
|---|
 | 14752 | +        targetLookAt.set(manipCamera.lookAt);  | 
|---|
 | 14753 | +          | 
|---|
| 14725 | 14754 |          prevX = X = anchorX - 10; // (int)(10*renderCamera.Distance()); | 
|---|
| 14726 | 14755 |          prevY = Y = anchorY; | 
|---|
| 14727 | 14756 |      } | 
|---|
| .. | .. | 
|---|
| 14731 | 14760 |          MODIFIERS |= COMMAND; | 
|---|
| 14732 | 14761 |          /**/ | 
|---|
| 14733 | 14762 |          if((mod&SHIFT) == SHIFT) | 
|---|
| 14734 |  | -        manipCamera.Translate(-speed*delta, 0, getWidth());  | 
|---|
 | 14763 | +            manipCamera.Translate(-speed*delta, 0, getWidth());  | 
|---|
| 14735 | 14764 |          else | 
|---|
| 14736 |  | -        manipCamera.RotatePosition(-speed, 0);  | 
|---|
 | 14765 | +        {  | 
|---|
 | 14766 | +            if ((mouseMode&VR)!=0)  | 
|---|
 | 14767 | +                manipCamera.RotateInterest(speed, 0);  | 
|---|
 | 14768 | +            else  | 
|---|
 | 14769 | +                manipCamera.RotatePosition(-speed, 0);  | 
|---|
 | 14770 | +        }  | 
|---|
 | 14771 | +          | 
|---|
| 14737 | 14772 |          /**/ | 
|---|
| 14738 | 14773 |          if ((mod & SHIFT) == SHIFT) | 
|---|
| 14739 | 14774 |          { | 
|---|
| .. | .. | 
|---|
| 14743 | 14778 |              mouseMode |= ROTATE; | 
|---|
| 14744 | 14779 |          } // TRANSLATE; | 
|---|
| 14745 | 14780 |   | 
|---|
 | 14781 | +        targetLookAt.set(manipCamera.lookAt);  | 
|---|
 | 14782 | +          | 
|---|
| 14746 | 14783 |          prevX = X = anchorX + 10; // (int)(10*renderCamera.Distance()); | 
|---|
| 14747 | 14784 |          prevY = Y = anchorY; | 
|---|
| 14748 | 14785 |      } | 
|---|
| .. | .. | 
|---|
| 16127 | 16164 |                      { | 
|---|
| 16128 | 16165 |                          switch (hitSomething) | 
|---|
| 16129 | 16166 |                          { | 
|---|
| 16130 |  | -                            case Object3D.hitCenter: gr.setColor(Color.pink);  | 
|---|
 | 16167 | +                            case Object3D.hitCenter: gr.setColor(Color.white);  | 
|---|
| 16131 | 16168 |                                  gr.drawLine(X, Y, info.bounds.width/2, info.bounds.height/2); | 
|---|
| 16132 | 16169 |                                  break; | 
|---|
| 16133 | 16170 |                              case Object3D.hitRotate: gr.setColor(Color.yellow); | 
|---|
| .. | .. | 
|---|
| 16153 | 16190 |          if (hasMarquee) | 
|---|
| 16154 | 16191 |          { | 
|---|
| 16155 | 16192 |              gr.setXORMode(Color.white); | 
|---|
| 16156 |  | -            gr.setColor(Color.red);  | 
|---|
 | 16193 | +            gr.setColor(Color.white);  | 
|---|
| 16157 | 16194 |              if (!firstime) | 
|---|
| 16158 | 16195 |              { | 
|---|
| 16159 | 16196 |                  gr.drawRect(prevmarqX, prevmarqY, prevmarqW, prevmarqH); | 
|---|
| .. | .. | 
|---|
| 17329 | 17366 |   | 
|---|
| 17330 | 17367 |          public void init(GLAutoDrawable drawable) | 
|---|
| 17331 | 17368 |          { | 
|---|
 | 17369 | +        if (Globals.DEBUG)  | 
|---|
| 17332 | 17370 |              System.out.println("shadow buffer init"); | 
|---|
| 17333 | 17371 |   | 
|---|
| 17334 | 17372 |              GL gl = drawable.getGL(); | 
|---|
 
| .. | .. | 
|---|
| 676 | 676 |       | 
|---|
| 677 | 677 |      public static void main(String argv[]) | 
|---|
| 678 | 678 |      { | 
|---|
| 679 |  | -                String osArch = System.getProperty("os.arch");  | 
|---|
 | 679 | +         String osArch = System.getProperty("os.arch");  | 
|---|
 | 680 | +        if (Globals.DEBUG)  | 
|---|
| 680 | 681 |                  System.out.println("os.arch = " + osArch); | 
|---|
| 681 | 682 |                   | 
|---|
| 682 | 683 |          if (argv.length == 0) | 
|---|
 
| .. | .. | 
|---|
| 69 | 69 |       | 
|---|
| 70 | 70 |      double vFlip(double v) | 
|---|
| 71 | 71 |      { | 
|---|
| 72 |  | -        return v;  | 
|---|
 | 72 | +        return 1-v;  | 
|---|
| 73 | 73 |      } | 
|---|
| 74 | 74 |       | 
|---|
| 75 | 75 |      Vertex biparamFunction(double u, double v) | 
|---|
 
| .. | .. | 
|---|
| 570 | 570 |  		//menu.add("-"); | 
|---|
| 571 | 571 |                  oe.jTree.popup.addSeparator(); | 
|---|
| 572 | 572 |                   | 
|---|
| 573 |  | -		deleteItem = oe.jTree.popup.add(new JMenuItem("Delete"));  | 
|---|
| 574 |  | -		deleteItem.addActionListener(this);  | 
|---|
| 575 |  | -                  | 
|---|
| 576 | 573 |          if (Globals.ADVANCED) | 
|---|
| 577 | 574 |          { | 
|---|
| 578 | 575 |                  // Deletes the cameras... | 
|---|
| .. | .. | 
|---|
| 706 | 703 |  		setMasterItem.addActionListener(this); | 
|---|
| 707 | 704 |          } | 
|---|
| 708 | 705 |                   | 
|---|
| 709 |  | -		oe.menuBar.add(menu = new Menu("Group"));  | 
|---|
| 710 |  | -//		grabItem = menu.add(new MenuItem("Grab"));  | 
|---|
| 711 |  | -//		grabItem.addActionListener(this);  | 
|---|
 | 706 | +		oe.menuBar.add(menu = new Menu("Order"));  | 
|---|
 | 707 | +                  | 
|---|
| 712 | 708 |  		backItem = menu.add(new MenuItem("Back")); | 
|---|
| 713 | 709 |  		backItem.addActionListener(this); | 
|---|
| 714 | 710 |  		frontItem = menu.add(new MenuItem("Front")); | 
|---|
| 715 | 711 |  		frontItem.addActionListener(this); | 
|---|
| 716 | 712 |  //		compositeItem = menu.add(new MenuItem("Composite")); | 
|---|
| 717 | 713 |  //		compositeItem.addActionListener(this); | 
|---|
 | 714 | +                  | 
|---|
 | 715 | +		grabItem = oe.jTree.popup.add(new JMenuItem("Group"));  | 
|---|
 | 716 | +		grabItem.addActionListener(this);  | 
|---|
| 718 | 717 |                   | 
|---|
| 719 | 718 |          if (Globals.ADVANCED) | 
|---|
| 720 | 719 |          { | 
|---|
| .. | .. | 
|---|
| 723 | 722 |          } | 
|---|
| 724 | 723 |  		ungroupItem = oe.jTree.popup.add(new JMenuItem("Ungroup")); | 
|---|
| 725 | 724 |  		ungroupItem.addActionListener(this); | 
|---|
 | 725 | +                  | 
|---|
 | 726 | +                oe.jTree.popup.addSeparator();  | 
|---|
 | 727 | +                  | 
|---|
 | 728 | +		deleteItem = oe.jTree.popup.add(new JMenuItem("Delete"));  | 
|---|
 | 729 | +		deleteItem.addActionListener(this);  | 
|---|
| 726 | 730 |                   | 
|---|
| 727 | 731 |  //		menu.add("-"); | 
|---|
| 728 | 732 |  //                 | 
|---|
| .. | .. | 
|---|
| 1065 | 1069 |                  collapseButton.setToolTipText("Collapse toolbar"); | 
|---|
| 1066 | 1070 |  		collapseButton.addActionListener(this); | 
|---|
| 1067 | 1071 |                   | 
|---|
| 1068 |  | -		oe.toolbarPanel.add(maximize3DButton = GetButton("", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);  | 
|---|
 | 1072 | +		oe.toolbarPanel.add(maximize3DButton = GetButton("icons/empty.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);  | 
|---|
| 1069 | 1073 |                  maximize3DButton.setToolTipText("Maximize 3D view"); | 
|---|
| 1070 | 1074 |  		maximize3DButton.addActionListener(this); | 
|---|
| 1071 | 1075 |                   | 
|---|
| .. | .. | 
|---|
| 1504 | 1508 |                       | 
|---|
| 1505 | 1509 |              oe.SetupViews(); | 
|---|
| 1506 | 1510 |               | 
|---|
 | 1511 | +        if (Globals.DEBUG)  | 
|---|
| 1507 | 1512 |  		System.out.println("SetupViews"); | 
|---|
| 1508 | 1513 |              DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer( | 
|---|
| 1509 | 1514 |                    oe.cameraView, DnDConstants.ACTION_COPY_OR_MOVE, this); // ACTION_LINK ?? | 
|---|
| .. | .. | 
|---|
| 4114 | 4119 |              copy.versionlist = new Object3D[100]; | 
|---|
| 4115 | 4120 |              copy.versionindex = -1; | 
|---|
| 4116 | 4121 |               | 
|---|
| 4117 |  | -            Save(true);  | 
|---|
 | 4122 | +            // Cannot work with loops  | 
|---|
 | 4123 | +            // To fix this issue, first mark all nodes above the root,  | 
|---|
 | 4124 | +            // and check if any of these nodes are reachable below the root.  | 
|---|
 | 4125 | +            //Save(true);  | 
|---|
| 4118 | 4126 |          } | 
|---|
| 4119 | 4127 |           | 
|---|
| 4120 | 4128 |                      SetVersionStates(); | 
|---|
| .. | .. | 
|---|
| 5359 | 5367 |              if (group.selection != null) | 
|---|
| 5360 | 5368 |              for (Enumeration e = group.selection.elements(); e.hasMoreElements();) | 
|---|
| 5361 | 5369 |              { | 
|---|
| 5362 |  | -                    if (!(e.nextElement() instanceof Composite))  | 
|---|
 | 5370 | +                    Object next = e.nextElement();  | 
|---|
 | 5371 | +                    if (!(next instanceof Composite)) // || (next instanceof GroupLeaf))  | 
|---|
| 5363 | 5372 |                      { | 
|---|
| 5364 | 5373 |                          allComposites = false; | 
|---|
| 5365 | 5374 |                          break; | 
|---|
| .. | .. | 
|---|
| 6350 | 6359 |  	private MenuItem transformGeometryItem; | 
|---|
| 6351 | 6360 |  	private MenuItem transformChildrenItem; | 
|---|
| 6352 | 6361 |  	private MenuItem hideItem; | 
|---|
| 6353 |  | -	private MenuItem grabItem;  | 
|---|
 | 6362 | +	private JMenuItem grabItem;  | 
|---|
| 6354 | 6363 |  	private MenuItem backItem; | 
|---|
| 6355 | 6364 |  	private MenuItem frontItem; | 
|---|
| 6356 | 6365 |  	private MenuItem cameraItem; | 
|---|
 
| .. | .. | 
|---|
| 388 | 388 |          //parent = p; | 
|---|
| 389 | 389 |   | 
|---|
| 390 | 390 |          GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); | 
|---|
| 391 |  | -        System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());  | 
|---|
 | 391 | +        if (Globals.DEBUG)  | 
|---|
 | 392 | +            System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());  | 
|---|
| 392 | 393 |          //gd.setFullScreenWindow(this); | 
|---|
| 393 | 394 |          //setResizable(false); | 
|---|
| 394 | 395 |          //if (!isDisplayable()) | 
|---|
| .. | .. | 
|---|
| 1323 | 1324 |               | 
|---|
| 1324 | 1325 |          liveCB = AddCheckBox(setupPanel, "Live", copy.live); | 
|---|
| 1325 | 1326 |                  liveCB.setToolTipText("Animate object"); | 
|---|
 | 1327 | +        markCB = AddCheckBox(setupPanel, "Anim", copy.marked);  | 
|---|
 | 1328 | +        markCB.setToolTipText("Set target transform");  | 
|---|
| 1326 | 1329 |          selectableCB = AddCheckBox(setupPanel, "Select", !copy.dontselect); | 
|---|
| 1327 | 1330 |                  selectableCB.setToolTipText("Make object selectable"); | 
|---|
| 1328 | 1331 |  //            Return(); | 
|---|
| 1329 | 1332 |                   | 
|---|
| 1330 | 1333 |          hideCB = AddCheckBox(setupPanel, "Hide", copy.hide); | 
|---|
| 1331 | 1334 |                  hideCB.setToolTipText("Hide object"); | 
|---|
| 1332 |  | -        markCB = AddCheckBox(setupPanel, "Mark", copy.marked);  | 
|---|
| 1333 |  | -        markCB.setToolTipText("As animation target transform");  | 
|---|
| 1334 | 1335 |           | 
|---|
| 1335 | 1336 |          ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false); | 
|---|
| 1336 | 1337 |           | 
|---|
| .. | .. | 
|---|
| 1532 | 1533 |   | 
|---|
| 1533 | 1534 |          if (cam == null || !(copy.get(0) instanceof cGroup)) | 
|---|
| 1534 | 1535 |          { | 
|---|
 | 1536 | +        if (Globals.DEBUG)  | 
|---|
| 1535 | 1537 |              System.out.println("CREATE CAMERAS"); | 
|---|
| 1536 | 1538 |              cams = new cTemplate(); | 
|---|
| 1537 | 1539 |              cams.name = "Cameras"; | 
|---|
| .. | .. | 
|---|
| 2196 | 2198 |              public void mouseClicked(MouseEvent e) | 
|---|
| 2197 | 2199 |              { | 
|---|
| 2198 | 2200 |                  borderfadeField.setFloat(0.5); | 
|---|
| 2199 |  | -                opacityField.setFloat(0.6);  | 
|---|
 | 2201 | +                opacityField.setFloat(0.75);  | 
|---|
| 2200 | 2202 |   | 
|---|
| 2201 | 2203 |                  materialtouched = true; | 
|---|
| 2202 | 2204 |                  applySelf(); | 
|---|
| .. | .. | 
|---|
| 2311 | 2313 |   | 
|---|
| 2312 | 2314 |          cGridBag huepanel = new cGridBag(); | 
|---|
| 2313 | 2315 |              cGridBag huelabel = new cGridBag(); | 
|---|
| 2314 |  | -        skin = GetLabel("icons/hue.png", false);  | 
|---|
| 2315 |  | -        skin.fit = true;  | 
|---|
| 2316 |  | -            huelabel.add(skin);  | 
|---|
 | 2316 | +        cLabel hue = GetLabel("icons/hue.png", false);  | 
|---|
 | 2317 | +        hue.fit = true;  | 
|---|
 | 2318 | +          | 
|---|
 | 2319 | +        hue.addMouseListener(new MouseAdapter()  | 
|---|
 | 2320 | +        {  | 
|---|
 | 2321 | +            public void mousePressed(MouseEvent e)  | 
|---|
 | 2322 | +            {  | 
|---|
 | 2323 | +                int x = e.getX();  | 
|---|
 | 2324 | +                  | 
|---|
 | 2325 | +                colorField.setFloat((double)x / ((cLabel)e.getSource()).getWidth());  | 
|---|
 | 2326 | +            }  | 
|---|
 | 2327 | +        });  | 
|---|
 | 2328 | +          | 
|---|
 | 2329 | +            huelabel.add(hue);  | 
|---|
| 2317 | 2330 |              huelabel.preferredWidth = 20; | 
|---|
| 2318 | 2331 |              huepanel.add(new cGridBag()); // Label | 
|---|
| 2319 | 2332 |              huepanel.add(huelabel); // Field/slider | 
|---|
| .. | .. | 
|---|
| 5178 | 5191 |           | 
|---|
| 5179 | 5192 |          if (previousVersionButton != null && copy.versionlist != null) | 
|---|
| 5180 | 5193 |              SetVersionStates(); | 
|---|
 | 5194 | +          | 
|---|
 | 5195 | +        cameraView.requestFocusInWindow();  | 
|---|
| 5181 | 5196 |      } | 
|---|
| 5182 | 5197 |       | 
|---|
| 5183 | 5198 |      static TweenManager tweenManager = new TweenManager(); | 
|---|
| .. | .. | 
|---|
| 5209 | 5224 |  //                group = (Composite) group.get(0); | 
|---|
| 5210 | 5225 |  //            } | 
|---|
| 5211 | 5226 |   | 
|---|
| 5212 |  | -        System.out.println("makeSomething of " + thing);  | 
|---|
 | 5227 | +        //System.out.println("makeSomething of " + thing);  | 
|---|
| 5213 | 5228 |   | 
|---|
| 5214 | 5229 |          /* | 
|---|
| 5215 | 5230 |          if (deselect && jList != null) | 
|---|
 
| .. | .. | 
|---|
| 7417 | 7417 |              boundary.y = spot.y - 30; | 
|---|
| 7418 | 7418 |              boundary.width = spot.width + 60; | 
|---|
| 7419 | 7419 |              boundary.height = spot.height + 60; | 
|---|
| 7420 |  | -            clickInfo.g.setColor(Color.red);  | 
|---|
 | 7420 | +            clickInfo.g.setColor(Color.white);  | 
|---|
| 7421 | 7421 |              int spotw = spot.x + spot.width; | 
|---|
| 7422 | 7422 |              int spoth = spot.y + spot.height; | 
|---|
| 7423 | 7423 |              clickInfo.g.fillRect(spot.x, spot.y, spot.width, spot.height); | 
|---|
| .. | .. | 
|---|
| 7818 | 7818 |                      case 3: // '\001' | 
|---|
| 7819 | 7819 |                          if (modified || opposite) | 
|---|
| 7820 | 7820 |                          { | 
|---|
 | 7821 | +                            if (modified && opposite)  | 
|---|
 | 7822 | +                                LA.matScale(toParent, totalScale, totalScale, totalScale);  | 
|---|
 | 7823 | +                            else  | 
|---|
| 7821 | 7824 |                              //LA.matScale(toParent, 1, hScale, vScale); | 
|---|
| 7822 |  | -                            LA.matScale(toParent, totalScale, 1, 1);  | 
|---|
 | 7825 | +                                LA.matScale(toParent, totalScale, 1, 1);  | 
|---|
| 7823 | 7826 |                          } // vScale, 1); | 
|---|
| 7824 | 7827 |                          else | 
|---|
| 7825 | 7828 |                          { | 
|---|
| 7826 | 7829 |                              // EXCEPTION! | 
|---|
| 7827 |  | -                            LA.matScale(toParent, totalScale, totalScale, totalScale);  | 
|---|
 | 7830 | +                            LA.matScale(toParent, 1, totalScale, totalScale);  | 
|---|
| 7828 | 7831 |                          } // vScale, 1); | 
|---|
| 7829 | 7832 |                          break; | 
|---|
| 7830 | 7833 |   | 
|---|
| 7831 | 7834 |                      case 2: // '\002' | 
|---|
| 7832 | 7835 |                          if (modified || opposite) | 
|---|
| 7833 | 7836 |                          { | 
|---|
| 7834 |  | -                            //LA.matScale(toParent, hScale, 1, vScale);  | 
|---|
| 7835 |  | -                            LA.matScale(toParent, 1, totalScale, 1);  | 
|---|
 | 7837 | +                            if (modified && opposite)  | 
|---|
 | 7838 | +                                LA.matScale(toParent, totalScale, totalScale, totalScale);  | 
|---|
 | 7839 | +                            else  | 
|---|
 | 7840 | +                                //LA.matScale(toParent, hScale, 1, vScale);  | 
|---|
 | 7841 | +                                LA.matScale(toParent, 1, totalScale, 1);  | 
|---|
| 7836 | 7842 |                          } else | 
|---|
| 7837 | 7843 |                          { | 
|---|
| 7838 | 7844 |                              LA.matScale(toParent, totalScale, 1, totalScale); | 
|---|
| .. | .. | 
|---|
| 7842 | 7848 |                      case 1: // '\003' | 
|---|
| 7843 | 7849 |                          if (modified || opposite) | 
|---|
| 7844 | 7850 |                          { | 
|---|
| 7845 |  | -                            //LA.matScale(toParent, hScale, vScale, 1);  | 
|---|
| 7846 |  | -                            LA.matScale(toParent, 1, 1, totalScale);  | 
|---|
 | 7851 | +                            if (modified && opposite)  | 
|---|
 | 7852 | +                                LA.matScale(toParent, totalScale, totalScale, totalScale);  | 
|---|
 | 7853 | +                            else  | 
|---|
 | 7854 | +                                //LA.matScale(toParent, hScale, vScale, 1);  | 
|---|
 | 7855 | +                                LA.matScale(toParent, 1, 1, totalScale);  | 
|---|
| 7847 | 7856 |                          } else | 
|---|
| 7848 | 7857 |                          { | 
|---|
| 7849 | 7858 |                              LA.matScale(toParent, totalScale, totalScale, 1); | 
|---|