From e8908d5b90d44e43b9da885bc0202fb665a912d0 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 30 Sep 2019 20:00:22 -0400
Subject: [PATCH] klein

---
 com/bulletphysics/dynamics/RigidBody.java |   46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/com/bulletphysics/dynamics/RigidBody.java b/com/bulletphysics/dynamics/RigidBody.java
index 98e8092..4d96feb 100755
--- a/com/bulletphysics/dynamics/RigidBody.java
+++ b/com/bulletphysics/dynamics/RigidBody.java
@@ -214,11 +214,55 @@
 		}
 	}
 	
+        static Vector3f g = new Vector3f();
+        static Vector3f w = new Vector3f();
+        
+        static public Vector3f wind = new Vector3f();
+        static public Vector3f pos = new Vector3f();
+        
+        static public Vector3f min = new Vector3f();
+        static public Vector3f max = new Vector3f();
+        
+        static public boolean justclicked;
+    
 	public void applyGravity() {
 		if (isStaticOrKinematicObject())
 			return;
 
-		applyCentralForce(gravity);
+                g.y = gravity.y;
+		applyCentralForce(g);
+                
+                if (pos.x == 0 && pos.y == 0 && pos.z == 0)
+                    return;
+                
+                justclicked = false;
+                
+//                wind.set(pos);
+//                wind.x -= worldTransform.origin.x;
+//                wind.y -= worldTransform.origin.y;
+//                wind.z -= worldTransform.origin.z;
+                
+                this.collisionShape.getAabb(worldTransform, min, max);
+
+                if (pos.x < min.x || pos.x > max.x)
+                    return;
+                if (pos.y < min.y || pos.y > max.y)
+                    return;
+                if (pos.z < min.z || pos.z > max.z)
+                    return;
+                    
+                float dot = pos.x * wind.x + pos.y * wind.y + pos.z * wind.z;
+                
+                dot = 100;
+                
+                w.x = wind.x * gravity.z * dot;
+                w.y = wind.y * gravity.z * dot;
+                w.z = wind.z * gravity.z * dot;
+                
+                System.out.print("min = " + min);
+                System.out.println("; max = " + max);
+                
+		applyCentralForce(w);
 	}
 	
 	public void setGravity(Vector3f acceleration) {

--
Gitblit v1.6.2