Package com.ardor3d.util.geom

Source Code of com.ardor3d.util.geom.SceneCopier

/**
* Copyright (c) 2008-2012 Ardor Labs, Inc.
*
* This file is part of Ardor3D.
*
* Ardor3D is free software: you can redistribute it and/or modify it
* under the terms of its license which may be found in the accompanying
* LICENSE file or at <http://www.ardor3d.com/LICENSE>.
*/

package com.ardor3d.util.geom;

import java.util.concurrent.atomic.AtomicBoolean;

import com.ardor3d.scenegraph.Node;
import com.ardor3d.scenegraph.Spatial;

@Deprecated
public abstract class SceneCopier {

    public static Spatial makeCopy(final Spatial source, final CopyLogic logic) {
        return makeCopy(source, null, logic);
    }

    private static Spatial makeCopy(final Spatial source, final Spatial parent, final CopyLogic logic) {
        final AtomicBoolean recurse = new AtomicBoolean();
        final Spatial result = logic.copy(source, recurse);
        if (recurse.get() && source instanceof Node && result instanceof Node
                && ((Node) source).getNumberOfChildren() > 0) {
            for (final Spatial child : ((Node) source).getChildren()) {
                final Spatial copy = makeCopy(child, result, logic);
                if (copy != null) {
                    ((Node) result).attachChild(copy);
                }
            }
        }
        return result;
    }

}
TOP

Related Classes of com.ardor3d.util.geom.SceneCopier

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.