From 57c5b6cd8d12ffdaa3e0b099451e3c031012750a Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Thu, 03 Oct 2019 20:34:32 -0400
Subject: [PATCH] Fix lighttouched
---
ObjEditor.java | 149 +++++++++++++++++++------------------
Cone.java | 4
BoundaryRep.java | 4
CameraPane.java | 2
PhysicsNode.java | 4
SwitchNode.java | 4
Globals.java | 2
SwitchEditor.java | 2
GroupEditor.java | 13 ++-
Mocap.java | 2
Object3D.java | 9 +
11 files changed, 105 insertions(+), 90 deletions(-)
diff --git a/BoundaryRep.java b/BoundaryRep.java
index 6fecd44..09c35f0 100644
--- a/BoundaryRep.java
+++ b/BoundaryRep.java
@@ -2004,8 +2004,8 @@
// Warning: faster but dangerous
if (v.weights != null && v.weights[j]
- == 0)
- //< 0.001 * v.totalweight)
+ == 0)
+ // < 0.001 * v.totalweight)
{
//testweight += v.weights[j-1];
continue;
diff --git a/CameraPane.java b/CameraPane.java
index 48170cc..b60cf14 100644
--- a/CameraPane.java
+++ b/CameraPane.java
@@ -124,7 +124,7 @@
static boolean LOCALTRANSFORM = false;
static boolean FULLSCREEN = false;
static boolean SUPPORT = true;
-static boolean INERTIA = true;
+static boolean INERTIA = false; // true;
static boolean FAST = false;
static boolean SLOWPOSE = false;
static boolean FOOTCONTACT = true;
diff --git a/Cone.java b/Cone.java
index d0d4c5c..3396bc6 100644
--- a/Cone.java
+++ b/Cone.java
@@ -17,7 +17,7 @@
retile();
base = LA.newVector(0, 0, 0); // -1);
apex = LA.newVector(0, 1, 0); // 1);
- baseRadius = apexRadius = 0.5; // 0.125;
+ baseRadius = apexRadius = 0.6369; // == 0.5 * 4/3.14 // 0.5; // 0.125;
//fromStandard = new double[4][4];
//toStandard = new double[4][4];
//LA.matIdentity(fromStandard);
@@ -196,7 +196,7 @@
double uStretch()
{
- return 3; // Actually 3.14 (I think)
+ return 4; // 3; // Actually 3.14 (I think)
}
double vFlip(double v)
diff --git a/Globals.java b/Globals.java
index 698e125..1d17d2d 100644
--- a/Globals.java
+++ b/Globals.java
@@ -19,7 +19,7 @@
// Option to set saturation to 1 when choosing a color first
public static boolean AUTOSATURATE = true;
public static boolean MINSHADER = false;
- public static boolean COMPUTESHADOWWHENLIVE = true;
+ public static boolean COMPUTESHADOWWHENLIVE = false; // true;
public static boolean RENDERSHADOW = true;
public static boolean REPLACEONMAKE = false; // false;
diff --git a/GroupEditor.java b/GroupEditor.java
index 949d4b1..008fb31 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -1082,7 +1082,7 @@
// });
oe.toolbarPanel.add(fullScreenButton = GetButton("icons/fullscreen.png", !Globals.NIMBUSLAF)); //, oe.aConstraints);
- fullScreenButton.setToolTipText("Full-screen window");
+ fullScreenButton.setToolTipText("Full-screen window (ESC to exit)");
fullScreenButton.addActionListener(this);
oe.toolbarPanel.add(collapseButton = GetButton("icons/collapse.png", !Globals.NIMBUSLAF)); //, oe.aConstraints);
@@ -1411,10 +1411,10 @@
panel.Return();
- if (Globals.ADVANCED)
+ //if (Globals.ADVANCED)
{
panel.add(crowdCB = new cCheckBox("Crowd", Globals.CROWD)); //, constraints);
- crowdCB.setToolTipText("Used for crowds");
+ crowdCB.setToolTipText("Use for crowds");
crowdCB.addItemListener(this);
}
@@ -1444,11 +1444,11 @@
panel.Return();
}
+ panel.Return();
+
panel.add(smoothfocusCB = new cCheckBox("Smooth", CameraPane.SMOOTHFOCUS)); //, constraints);
smoothfocusCB.addItemListener(this);
- panel.Return();
-
//panel.add(debugCB = new cCheckBox("Debug", CameraPane.DEBUG), constraints);
// debugCB.addItemListener(this);
@@ -1460,9 +1460,12 @@
oeilCB.setToolTipText("Move camera when tracking");
oeilCB.addItemListener(this);
+ if (Globals.ADVANCED)
+ {
panel.add(shadowCB = new cCheckBox("Shadow", Globals.COMPUTESHADOWWHENLIVE)); //, constraints);
shadowCB.setToolTipText("When live compute shadows");
shadowCB.addItemListener(this);
+ }
panel.Return();
panel.add(toggleTextureCB = new cCheckBox("Textures", CameraPane.textureon)); //, constraints);
diff --git a/Mocap.java b/Mocap.java
index cbbed79..4656cc7 100644
--- a/Mocap.java
+++ b/Mocap.java
@@ -3924,6 +3924,8 @@
restarted = true;
//System.err.println("restarted = true");
Step();
+
+ Globals.lighttouched = true;
}
else
{
diff --git a/ObjEditor.java b/ObjEditor.java
index 8d2ff7b..05fa7cb 100644
--- a/ObjEditor.java
+++ b/ObjEditor.java
@@ -833,6 +833,11 @@
ScriptNode sn = (ScriptNode) sel;
si.SendInfo(" Script name: " + sn.filename, "regular");
}
+ if (sel instanceof SwitchNode)
+ {
+ SwitchNode sn = (SwitchNode) sel;
+ si.SendInfo(" Switch Object: " + sn.switchobject, "regular");
+ }
si.SendInfo((debug ? " Path: " : " ") + sel.GetPath(), "regular");
@@ -1864,6 +1869,52 @@
cButton fullsceneButton;
+ fullscenePanel.add(fullsceneButton = GetButton("fullscenes/tom.png", !Globals.NIMBUSLAF));
+ fullsceneButton.setToolTipText("Tom!");
+ fullsceneButton.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/tom.gfd", new iCallBack()
+ {
+
+ public void Callback(Object obj)
+ {
+ LoadIt(obj);
+ }
+
+ public void DragGesture()
+ {
+ }
+ });
+ }
+ });
+
+ fullscenePanel.add(fullsceneButton = GetButton("fullscenes/adameve.png", !Globals.NIMBUSLAF));
+ fullsceneButton.setToolTipText("Adam and Eve!");
+ fullsceneButton.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/adameve.gfd", new iCallBack()
+ {
+
+ public void Callback(Object obj)
+ {
+ LoadIt(obj);
+ }
+
+ public void DragGesture()
+ {
+ }
+ });
+ }
+ });
+
+ fullscenePanel.Return();
+
fullscenePanel.add(fullsceneButton = GetButton("fullscenes/alsace.png", !Globals.NIMBUSLAF));
fullsceneButton.setToolTipText("Alsace!");
fullsceneButton.addActionListener(new ActionListener()
@@ -2093,86 +2144,17 @@
});
fullscenePanel.Return();
-
- fullscenePanel.add(fullsceneButton = GetButton("fullscenes/tom.png", !Globals.NIMBUSLAF));
- fullsceneButton.setToolTipText("Tom!");
- fullsceneButton.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/tom.gfd", new iCallBack()
- {
-
- public void Callback(Object obj)
- {
- LoadIt(obj);
- }
-
- public void DragGesture()
- {
- }
- });
- }
- });
-
- fullscenePanel.add(fullsceneButton = GetButton("fullscenes/adameve.png", !Globals.NIMBUSLAF));
- fullsceneButton.setToolTipText("Adam and Eve!");
- fullsceneButton.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- ReadGFD("https://www.noaofarc.ca/akeeba/categories/Applications/adameve.gfd", new iCallBack()
- {
-
- public void Callback(Object obj)
- {
- LoadIt(obj);
- }
-
- public void DragGesture()
- {
- }
- });
- }
- });
-
- fullscenePanel.Return();
-
- fullscenePanel.add(new cGridBag());
- fullscenePanel.add(new cGridBag());
-
+
sceneTabbedPane.add(optionsPanel);
scenePanel.add(sceneTabbedPane);
+ cButton creditButton;
+
cGridBag creditsPanel = new cGridBag().setVertical(true);
creditsPanel.setName("Credits");
- cLabel ogaLabel = new cLabel(" Skyboxes courtesy of OpenGameArt!", !Globals.NIMBUSLAF);
- creditsPanel.add(ogaLabel);
-
- cButton creditButton;
- creditsPanel.add(creditButton = GetButton("icons/sara-logo.png", !Globals.NIMBUSLAF));
- creditButton.setToolTipText("https://opengameart.org");
-
- creditButton.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- try
- {
- Desktop.getDesktop().browse(new java.net.URI("https://opengameart.org/"));
- } catch (Exception e1)
-// } catch (java.io.IOException | java.net.URISyntaxException e1)
- {
- e1.printStackTrace();
- }
- }
- });
-
- ogaLabel = new cLabel(" Download 3D models! (.3ds and .obj only)", !Globals.NIMBUSLAF);
+ cLabel ogaLabel = new cLabel(" Download 3D models! (.3ds and .obj only)", !Globals.NIMBUSLAF);
creditsPanel.add(ogaLabel);
creditsPanel.add(creditButton = GetButton("icons/3delicious.png", !Globals.NIMBUSLAF));
@@ -2229,6 +2211,27 @@
}
});
+ ogaLabel = new cLabel(" Skyboxes courtesy of OpenGameArt!", !Globals.NIMBUSLAF);
+ creditsPanel.add(ogaLabel);
+
+ creditsPanel.add(creditButton = GetButton("icons/sara-logo.png", !Globals.NIMBUSLAF));
+ creditButton.setToolTipText("https://opengameart.org");
+
+ creditButton.addMouseListener(new MouseAdapter()
+ {
+ public void mouseClicked(MouseEvent e)
+ {
+ try
+ {
+ Desktop.getDesktop().browse(new java.net.URI("https://opengameart.org/"));
+ } catch (Exception e1)
+// } catch (java.io.IOException | java.net.URISyntaxException e1)
+ {
+ e1.printStackTrace();
+ }
+ }
+ });
+
for (int i=6; --i>=0;)
{
creditsPanel.add(new cGridBag());
diff --git a/Object3D.java b/Object3D.java
index abd4fbd..4c48f08 100644
--- a/Object3D.java
+++ b/Object3D.java
@@ -41,7 +41,7 @@
java.util.Hashtable<java.util.UUID, Object3D> versiontable; // = new java.util.Hashtable<java.util.UUID, Object3D>();
- int tabIndex;
+ transient int tabIndex; // Tabs can change between sessions.
ScriptNode scriptnode;
@@ -1142,6 +1142,8 @@
(Globals.DrawMode() == iCameraPane.SHADOW || !Globals.RENDERSHADOW || !Globals.COMPUTESHADOWWHENLIVE) &&
currentframe != Globals.framecount)
{
+ Globals.lighttouched = true;
+
currentframe = Globals.framecount;
// System.err.println("transformcount = " + transformcount);
@@ -6301,7 +6303,7 @@
if (!selectmode && //display.DrawMode() != display.SELECTION &&
//(touched || (bRep != null && bRep.displaylist <= 0)))
- (Globals.isLIVE() && Globals.COMPUTESHADOWWHENLIVE || touched && Globals.COMPUTESHADOWWHENLIVE)) // || (bRep != null && bRep.displaylist <= 0)))
+ (Globals.isLIVE() || touched) && Globals.COMPUTESHADOWWHENLIVE) // || (bRep != null && bRep.displaylist <= 0)))
{
Globals.lighttouched = true;
} // all panes...
@@ -6856,7 +6858,8 @@
//javax.media.opengl.GL gl = display.GetGL();
- if (CameraPane.BOXMODE && !Link2Support()) //selected) // || CameraPane.movingcamera)
+ if (CameraPane.BOXMODE && //!Link2Support()) //
+ !selected) // || CameraPane.movingcamera)
{
int fc = bRep.FaceCount();
int vc = bRep.VertexCount();
diff --git a/PhysicsNode.java b/PhysicsNode.java
index 423ac33..5d1d131 100644
--- a/PhysicsNode.java
+++ b/PhysicsNode.java
@@ -113,8 +113,10 @@
void drawSelf(iCameraPane display, Object3D /*Composite*/ root, boolean selected, boolean blocked)
{
- if (Globals.isLIVE() && live && display.DrawMode() == display.SHADOW) // SHADOW
+ if (Globals.isLIVE() && live && (Globals.DrawMode() == iCameraPane.SHADOW || !Globals.RENDERSHADOW || !Globals.COMPUTESHADOWWHENLIVE)) // SHADOW
{
+ Globals.lighttouched = true;
+
float ms = getDeltaTimeMicroseconds();
float minFPS = 1000000f / 60f;
if (ms > minFPS)
diff --git a/SwitchEditor.java b/SwitchEditor.java
index 3940f44..320e81d 100644
--- a/SwitchEditor.java
+++ b/SwitchEditor.java
@@ -214,6 +214,8 @@
switchnode.speed = speedField.getInteger(); // biparam.minUDivs, 99);
//biparam.name = nameField.getText();
+ Globals.lighttouched = true;
+
// june 2013 super.applySelf();
if (switchnode.speed != s)
System.out.println("Damp = " + switchnode.speed);
diff --git a/SwitchNode.java b/SwitchNode.java
index 0494a66..af3dfd0 100644
--- a/SwitchNode.java
+++ b/SwitchNode.java
@@ -57,7 +57,7 @@
parent = super.parent;
}
- if (live && Globals.isLIVE() && display.DrawMode() == display.SHADOW)
+ if (live && Globals.isLIVE() && (display.DrawMode() == display.SHADOW || !Globals.RENDERSHADOW))
{
if (countspeed <= 0)
{
@@ -106,7 +106,7 @@
bRep = (BoundaryRep)Grafreed.clone(switchobject.get(0).bRep);
}
- if (CameraPane.SUPPORT && display.DrawMode() == display.SHADOW)
+ if (CameraPane.SUPPORT && (display.DrawMode() == display.SHADOW || !Globals.RENDERSHADOW))
{
Update();
}
--
Gitblit v1.6.2