public boolean isAnimatedByJoint(int jointIndex) {
        VertexBuffer biBuf = getBuffer(VertexBuffer.Type.BoneIndex);
        VertexBuffer wBuf = getBuffer(VertexBuffer.Type.BoneWeight);
        if (biBuf == null || wBuf == null) {
            return false; // no bone animation data
        }

        IndexBuffer boneIndexBuffer = IndexBuffer.wrapIndexBuffer(biBuf.getData());
        boneIndexBuffer.rewind();
        int numBoneIndices = boneIndexBuffer.remaining();
        assert numBoneIndices % 4 == 0 : numBoneIndices;
        int numVertices = boneIndexBuffer.remaining() / 4;

        FloatBuffer weightBuffer = (FloatBuffer) wBuf.getData();
        weightBuffer.rewind();
        int numWeights = weightBuffer.remaining();
        assert numWeights == numVertices * 4 : numWeights;
        /*
         * Test each vertex to determine whether the bone affects it.
         */
        int biByte = jointIndex;
        for (int vIndex = 0; vIndex < numVertices; vIndex++) {
            for (int wIndex = 0; wIndex < 4; wIndex++) {
                int bIndex = boneIndexBuffer.get();
                float weight = weightBuffer.get();
                if (wIndex < maxNumWeights && bIndex == biByte && weight != 0f) {
                    return true;
                }
            }
        }
        return false;
    }
Test whether the specified bone animates this mesh.

@param jointIndex the bone's index in its skeleton
@return true if the specified bone animates this mesh, otherwise false
jme3-core/src/main/java/com/jme3/scene/Mesh.java