MinieLibrary/src/main/java/com/jme3/bullet/animation/RagUtils.java
/**
     * Enumerate all animated meshes in the specified subtree of a scene graph,
     * skipping spatials tagged with "JmePhysicsIgnore". Note: recursive!
     *
     * @param subtree the subtree to analyze (may be null, aliases created)
     * @param storeResult storage for results (added to if not null)
     * @return an expanded List (either storeResult or a new List)
     */
Enumerate all animated meshes in the specified subtree of a scene graph,
skipping spatials tagged with "JmePhysicsIgnore". Note: recursive!

@param subtree the subtree to analyze (may be null, aliases created)
@param storeResult storage for results (added to if not null)
@return an expanded List (either storeResult or a new List)
Enumerate all animated meshes in the specified subtree of a scene graph skipping spatials tagged with " JmePhysicsIgnore " . Note : recursive! @param subtree the subtree to analyze ( may be null aliases created ) @param storeResult storage for results ( added to if not null ) @return an expanded List ( either storeResult or a new List )
public static List<Mesh> listDacMeshes(Spatial subtree,
            List<Mesh> storeResult) {
        List<Mesh> result = (storeResult == null)
                ? new ArrayList<Mesh>(10) : storeResult;
        if (subtree != null) {
            Boolean ignore = subtree.getUserData(UserData.JME_PHYSICSIGNORE);
            if (ignore != null && ignore) {
                return result;
            }
        }
        if (subtree instanceof Geometry) {
            Geometry geometry = (Geometry) subtree;
            Mesh mesh = geometry.getMesh();
            if (MyMesh.isAnimated(mesh) && !result.contains(mesh)) {
                result.add(mesh);
            }
        } else if (subtree instanceof Node) {
            Node node = (Node) subtree;
            List<Spatial> children = node.getChildren();
            for (Spatial child : children) {
                listDacMeshes(child, result);
            }
        }
        return result;
    }
public static List < Mesh > listDacMeshes ( Spatial subtree , List < Mesh > storeResult ) { List < Mesh > result = ( storeResult == null ) ? new ArrayList < Mesh > ( 10 ) : storeResult ; if ( subtree != null ) { Boolean ignore = subtree . getUserData ( UserData . JME_PHYSICSIGNORE ) ; if ( ignore != null && ignore ) { return result ; } } if ( subtree instanceof Geometry ) { Geometry geometry = ( Geometry ) subtree ; Mesh mesh = geometry . getMesh ( ) ; if ( MyMesh . isAnimated ( mesh ) && ! result . contains ( mesh ) ) { result . add ( mesh ) ; } } else if ( subtree instanceof Node ) { Node node = ( Node ) subtree ; List < Spatial > children = node . getChildren ( ) ; for ( Spatial child : children ) { listDacMeshes ( child , result ) ; } } return result ; }
Enumerate all animated meshes in the specified subtree of a scene graph,
 skipping spatials tagged with "JmePhysicsIgnore".
Enumerate all animated meshes in the specified subtree of a scene graph skipping spatials tagged with " JmePhysicsIgnore " .