Pārlūkot izejas kodu

DynamicAnimControl: remove all mention of attachments incl. isReleased()

Stephen Gold 6 gadi atpakaļ
vecāks
revīzija
40be1b42b8

+ 1 - 2
jme3-bullet/src/common/java/com/jme3/bullet/animation/DacConfiguration.java

@@ -107,8 +107,7 @@ abstract public class DacConfiguration extends AbstractPhysicsControl {
     // constructors
 
     /**
-     * Instantiate an enabled control without any attachments or linked bones
-     * (torso only).
+     * Instantiate an enabled control without any linked bones (torso only).
      */
     DacConfiguration() {
     }

+ 1 - 2
jme3-bullet/src/common/java/com/jme3/bullet/animation/DacLinks.java

@@ -127,8 +127,7 @@ public class DacLinks
     // constructors
 
     /**
-     * Instantiate an enabled control without any linked bones or attachments
-     * (torso only).
+     * Instantiate an enabled control without any linked bones (torso only).
      */
     DacLinks() {
     }

+ 24 - 31
jme3-bullet/src/common/java/com/jme3/bullet/animation/DynamicAnimControl.java

@@ -85,7 +85,7 @@ public class DynamicAnimControl
     // fields
 
     /**
-     * calculated total mass, not including released attachments
+     * calculated total mass
      */
     private float ragdollMass = 0f;
     /**
@@ -105,8 +105,7 @@ public class DynamicAnimControl
     // constructors
 
     /**
-     * Instantiate an enabled control without any linked bones or attachments
-     * (torso only).
+     * Instantiate an enabled control without any linked bones (torso only).
      */
     public DynamicAnimControl() {
     }
@@ -160,8 +159,7 @@ public class DynamicAnimControl
     }
 
     /**
-     * Calculate the ragdoll's total mass and center of mass, excluding released
-     * attachments.
+     * Calculate the ragdoll's total mass and center of mass.
      * <p>
      * Allowed only when the control IS added to a spatial.
      *
@@ -187,7 +185,7 @@ public class DynamicAnimControl
 
     /**
      * Alter the contact-response setting of the specified link and all its
-     * descendants (excluding released attachments). Note: recursive!
+     * descendants. Note: recursive!
      * <p>
      * Allowed only when the control IS added to a spatial.
      *
@@ -199,14 +197,12 @@ public class DynamicAnimControl
             boolean desiredResponse) {
         verifyAddedToSpatial("change modes");
 
-        if (!rootLink.isReleased()) {
-            PhysicsRigidBody rigidBody = rootLink.getRigidBody();
-            rigidBody.setContactResponse(desiredResponse);
+        PhysicsRigidBody rigidBody = rootLink.getRigidBody();
+        rigidBody.setContactResponse(desiredResponse);
 
-            PhysicsLink[] children = rootLink.listChildren();
-            for (PhysicsLink child : children) {
-                setContactResponseSubtree(child, desiredResponse);
-            }
+        PhysicsLink[] children = rootLink.listChildren();
+        for (PhysicsLink child : children) {
+            setContactResponseSubtree(child, desiredResponse);
         }
     }
 
@@ -240,8 +236,8 @@ public class DynamicAnimControl
     }
 
     /**
-     * Immediately put the specified link and all its descendants (excluding
-     * released attachments) into dynamic mode. Note: recursive!
+     * Immediately put the specified link and all its descendants into dynamic
+     * mode. Note: recursive!
      * <p>
      * Allowed only when the control IS added to a spatial.
      *
@@ -503,9 +499,8 @@ public class DynamicAnimControl
     }
 
     /**
-     * Recalculate the total mass of the ragdoll, not including released
-     * attachments. Also updates the location and estimated velocity of the
-     * center of mass.
+     * Recalculate the total mass of the ragdoll. Also updates the location and
+     * estimated velocity of the center of mass.
      */
     private void recalculateCenter() {
         double massSum = 0.0;
@@ -514,19 +509,17 @@ public class DynamicAnimControl
         Vector3f tmpVector = new Vector3f();
         List<PhysicsLink> links = listLinks(PhysicsLink.class);
         for (PhysicsLink link : links) {
-            if (!link.isReleased()) {
-                PhysicsRigidBody rigidBody = link.getRigidBody();
-                float mass = rigidBody.getMass();
-                massSum += mass;
-
-                rigidBody.getPhysicsLocation(tmpVector);
-                tmpVector.multLocal(mass);
-                locationSum.addLocal(tmpVector);
-
-                link.velocity(tmpVector);
-                tmpVector.multLocal(mass);
-                velocitySum.addLocal(tmpVector);
-            }
+            PhysicsRigidBody rigidBody = link.getRigidBody();
+            float mass = rigidBody.getMass();
+            massSum += mass;
+
+            rigidBody.getPhysicsLocation(tmpVector);
+            tmpVector.multLocal(mass);
+            locationSum.addLocal(tmpVector);
+
+            link.velocity(tmpVector);
+            tmpVector.multLocal(mass);
+            velocitySum.addLocal(tmpVector);
         }
 
         float invMass = (float) (1.0 / massSum);

+ 2 - 11
jme3-bullet/src/common/java/com/jme3/bullet/animation/PhysicsLink.java

@@ -52,8 +52,8 @@ import java.util.logging.Logger;
 /**
  * The abstract base class used by DynamicAnimControl to link pieces of a JME
  * model to their corresponding collision objects in a ragdoll. Subclasses
- * include: AttachmentLink, BoneLink, and TorsoLink. The links in each
- * DynamicAnimControl form a hierarchy with the TorsoLink at its root.
+ * include BoneLink and TorsoLink. The links in each DynamicAnimControl form a
+ * hierarchy with the TorsoLink at its root.
  * <p>
  * This class is shared between JBullet and Native Bullet.
  *
@@ -248,15 +248,6 @@ abstract public class PhysicsLink
         }
     }
 
-    /**
-     * Test whether the attached model (if any) has been released.
-     *
-     * @return false unless this is an AttachmentLink
-     */
-    public boolean isReleased() {
-        return false;
-    }
-
     /**
      * Read the kinematic weight of this link.
      *