From 6ed65dcb597fb2153cef75bf1845978f1115658c Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Fri, 14 Dec 2018 22:53:55 -0500
Subject: [PATCH] Repair shadow, normal push + attractor mesh.

---
 GroupEditor.java |   57 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index d3c66a5..da3ecc4 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -520,6 +520,9 @@
 		
 		oe.toolbarPanel.add(flashSelectionButton = new cButton(" ? ")); //, oe.aConstraints);
 		flashSelectionButton.addActionListener(this);
+                
+		oe.toolbarPanel.add(new cButton("     ", false));
+                
 		oe.aConstraints.gridx += 1;
 		oe.aConstraints.weighty = 0;
 		oe.aConstraints.gridwidth = 1;
@@ -646,14 +649,14 @@
 	
         void EditObject(Object3D obj)
         {
-            cRadio dummyButton = new cRadio(obj.name);
-            dummyButton.SetObject(obj);
-            dummyButton.layout = sevenButton;
-            dummyButton.SetCamera(cameraView.renderCamera, false);
-            dummyButton.addActionListener(this);
-            radioPanel.add(dummyButton);
-            buttonGroup.add(dummyButton);
-            dummyButton.doClick();
+            cRadio radioButton = new cRadio(obj.name);
+            radioButton.SetObject(obj);
+            radioButton.layout = sevenButton;
+            radioButton.SetCamera(cameraView.renderCamera, false);
+            radioButton.addActionListener(this);
+            radioPanel.add(radioButton);
+            buttonGroup.add(radioButton);
+            radioButton.doClick();
         }
         void SetupViews(ObjEditor oe)
         {
@@ -715,8 +718,7 @@
                     dropAttributes |= Object3D.TEXTURE;
                 else
                     dropAttributes &= ~Object3D.TEXTURE;
-            }
-            else if(e.getSource() == liveCB)
+            } else if(e.getSource() == liveCB)
             {
                 cameraView.ToggleLive();
             }
@@ -1118,6 +1120,8 @@
 		resetParentItem.addActionListener(this);
 		repairParentItem = menu.add(new MenuItem("Repair Parent"));
 		repairParentItem.addActionListener(this);
+		repairShadowItem = menu.add(new MenuItem("Repair Shadow"));
+		repairShadowItem.addActionListener(this);
 		menu.add(invariantsItem = new MenuItem("Invariants"));
 		invariantsItem.addActionListener(this);
 		menu.add(recompileItem = new MenuItem("Recompile"));
@@ -2543,6 +2547,20 @@
 			
 			refreshContents();
 		} else
+		if (event.getSource() == repairShadowItem)
+		{
+			for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
+			{
+				Object3D obj = (Object3D)e.nextElement();
+                                obj.RepairShadow();
+//                                for (int i=0; i<obj.size(); i++)
+//                                {
+//                                    obj.get(i).parent = obj;
+//                                }
+			}
+			
+			refreshContents();
+		} else
 		if (event.getSource() == sortbysizeItem)
 		{
 			for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
@@ -2639,7 +2657,7 @@
                     //gridPanel.setDividerLocation(1.0);
                     //bigPanel.setDividerLocation(0.0);
                     bigThree.remove(scenePanel);
-                    bigThree.remove(cameraPanel);
+                    bigThree.remove(centralPanel);
                     bigThree.remove(XYZPanel);
                     aWindowConstraints.gridx = 0;
                     aWindowConstraints.gridy = 0;
@@ -2654,7 +2672,7 @@
             //        aConstraints.gridheight = 3;
                     aWindowConstraints.gridx = 1;
                     aWindowConstraints.fill = GridBagConstraints.BOTH;
-                    bigThree.add(cameraPanel, aWindowConstraints);
+                    bigThree.add(centralPanel, aWindowConstraints);
                     aWindowConstraints.weightx = 0;
                     aWindowConstraints.gridx = 4;
                     aWindowConstraints.gridwidth = 1;
@@ -2667,7 +2685,7 @@
 		{
                     radio.layout = threeButton;
                     bigThree.remove(scenePanel);
-                    bigThree.remove(cameraPanel);
+                    bigThree.remove(centralPanel);
                     bigThree.remove(XYZPanel);
                     aWindowConstraints.gridx = 0;
                     aWindowConstraints.gridy = 0;
@@ -2682,7 +2700,7 @@
             //        aConstraints.gridheight = 3;
                     aWindowConstraints.gridx = 1;
                     aWindowConstraints.fill = GridBagConstraints.BOTH;
-                    bigThree.add(cameraPanel, aWindowConstraints);
+                    bigThree.add(centralPanel, aWindowConstraints);
                     aWindowConstraints.weightx = 0;
                     aWindowConstraints.gridx = 4;
                     aWindowConstraints.gridwidth = 1;
@@ -2695,7 +2713,7 @@
 		{
                     radio.layout = fourButton;
                     bigThree.remove(scenePanel);
-                    bigThree.remove(cameraPanel);
+                    bigThree.remove(centralPanel);
                     bigThree.remove(XYZPanel);
                     aWindowConstraints.gridx = 0;
                     aWindowConstraints.gridy = 0;
@@ -2723,7 +2741,7 @@
 		{
                     radio.layout = sixButton;
                     bigThree.remove(scenePanel);
-                    bigThree.remove(cameraPanel);
+                    bigThree.remove(centralPanel);
                     bigThree.remove(XYZPanel);
                     aWindowConstraints.gridx = 0;
                     aWindowConstraints.gridy = 0;
@@ -2738,7 +2756,7 @@
               //      aWindowConstraints.gridheight = 3;
                     aWindowConstraints.gridx = 1;
                     aWindowConstraints.fill = GridBagConstraints.BOTH;
-                    bigThree.add(cameraPanel, aWindowConstraints);
+                    bigThree.add(centralPanel, aWindowConstraints);
                     aWindowConstraints.weightx = 0;
                     aWindowConstraints.gridx = 4;
                     aWindowConstraints.gridwidth = 1;
@@ -2751,7 +2769,7 @@
 		{
                     radio.layout = sevenButton;
                     bigThree.remove(scenePanel);
-                    bigThree.remove(cameraPanel);
+                    bigThree.remove(centralPanel);
                     bigThree.remove(XYZPanel);
                     aWindowConstraints.gridx = 0;
                     aWindowConstraints.gridy = 0;
@@ -2766,7 +2784,7 @@
                //     aWindowConstraints.gridheight = 3;
                     aWindowConstraints.gridx = 1;
                     aWindowConstraints.fill = GridBagConstraints.BOTH;
-                    bigThree.add(cameraPanel, aWindowConstraints);
+                    bigThree.add(centralPanel, aWindowConstraints);
                     aWindowConstraints.weightx = 0;
                     aWindowConstraints.gridx = 4;
                     aWindowConstraints.gridwidth = 1;
@@ -5007,6 +5025,7 @@
         
 	private MenuItem resetParentItem;
 	private MenuItem repairParentItem;
+	private MenuItem repairShadowItem;
 	private MenuItem sortbysizeItem;
 	private MenuItem sortbynameItem;
         

--
Gitblit v1.6.2