blob: f55edd12f2c70956d661988fe98a58cbb83e2907 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 Agence spatiale canadienne / Canadian Space Agency
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Pierre Allard,
* Regent L'Archeveque,
<<<<<<< HEAD
* Sebastien Gemme
*
=======
* Sebastien Gemme - initial API and implementation
*
>>>>>>> refs/heads/eclipse_pa
* SPDX-License-Identifier: EPL-1.0
*
*******************************************************************************/
package org.eclipse.apogy.common.topology.ui.jme3;
import java.util.List;
import org.eclipse.apogy.common.topology.ui.SceneObject;
import com.jme3.app.Application;
import com.jme3.bounding.BoundingVolume;
import com.jme3.scene.Geometry;
/**
* Interface that need to be implemented for all JME3 Scene Object representing
* Node in the 3D viewer.
*
* @author pallard
*
*/
public interface JME3SceneObject extends SceneObject {
public Application getApplication();
/**
* Returns the root node that must be added to the scene graph.
*
* @return The root Node..
*/
public com.jme3.scene.Node getRoot();
/**
* Returns the node to which children of this JME3SceneObject must be attached
* to.
*
* @return The Node use to attach child objects.
*/
public com.jme3.scene.Node getAttachmentNode();
/**
* Return the geometries associated with this JME3SceneObject.
*
* @return The list containing the geometries. Never null, but can contain null
* objects.
*/
public List<Geometry> getGeometries();
/**
* Returns the bounding volume of the SceneObject.
*
* @return The Bounding volume. Never null.
*/
public BoundingVolume getBounds();
/**
* Method called by the viewer when the Scene Object is not longer needed.
*/
public void dispose();
}