private void initDefaultJointTransforms(final JointNode jointNode) { final Joint j = jointNode.getJoint(); if (j != null && jointNode.getSceneNode() != null) { j.setInverseBindPose(jointNode.getSceneNode().getWorldTransform().invert(null)); } for (final JointNode jointChildNode : jointNode.getChildren()) { initDefaultJointTransforms(jointChildNode); } }
protected Vector3 getNewOffset(final Vector2 oldMouse, final MouseState current, final Camera camera, final InteractManager manager) { // make plane object final Plane pickPlane = new Plane().setPlanePoints(_calcVec3A, _calcVec3B, _calcVec3C); // find out where we were hitting the plane before getPickRay(oldMouse, camera); if (!_calcRay.intersectsPlane(pickPlane, _calcVec3A)) { return _calcVec3A.zero(); } // find out where we are hitting the plane now getPickRay(new Vector2(current.getX(), current.getY()), camera); if (!_calcRay.intersectsPlane(pickPlane, _calcVec3B)) { return _calcVec3A.zero(); } // convert to target coord space final Node parent = manager.getSpatialTarget().getParent(); if (parent != null) { parent.getWorldTransform().applyInverse(_calcVec3A); parent.getWorldTransform().applyInverse(_calcVec3B); } return _calcVec3B.subtractLocal(_calcVec3A); } }
t.set(_parent.getWorldTransform()); Transform.releaseTempInstance(t); } else { _parent.getWorldTransform().multiply(_localTransform, _worldTransform);
t.set(_parent.getWorldTransform()); Transform.releaseTempInstance(t); } else { _parent.getWorldTransform().multiply(_localTransform, _worldTransform);
parent.getWorldTransform().applyInverse(_calcVec3C); parent.getWorldTransform().applyInverse(_calcVec3D);
parent.getWorldTransform().applyInverse(_calcVec3A); parent.getWorldTransform().applyInverse(_calcVec3B);
parent.getWorldTransform().applyInverseVector(_calcVec3A); parent.getWorldTransform().applyInverseVector(_calcVec3B);