package nl.tudelft.simulation.dsol.animation.D2; import java.rmi.RemoteException; import nl.tudelft.simulation.dsol.animation.Locatable; /** * This interface provides the functionality that editable animation objects must implement. *

* Copyright (c) 2002-2020 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See * for project information https://simulation.tudelft.nl. The DSOL * project is distributed under a three-clause BSD-style license, which can be found at * * https://simulation.tudelft.nl/dsol/3.0/license.html. *

* @author Peter Jacobs * @since 1.5 * @param the type of Locatable. */ public interface EditableRenderable2DInterface extends Renderable2DInterface { /** * Returns whether this shape is closed or open. For example an area is a closed shape while a trajectory is open (has * ends). * @return true or false * @throws RemoteException RemoteException */ boolean isClosedShape() throws RemoteException; /** * Is the user allowed to move this editable? * @return True or false * @throws RemoteException RemoteException */ boolean allowMove() throws RemoteException; /** * Is the user allowed to rotate this editable? * @return True or false * @throws RemoteException RemoteException */ boolean allowRotate() throws RemoteException; /** * Is the user allowed to scale this editable? * @return True or false * @throws RemoteException RemoteException */ boolean allowScale() throws RemoteException; /** * Is the user allowed to edit individual points of this editable? * @return True or false * @throws RemoteException RemoteException */ boolean allowEditPoints() throws RemoteException; /** * Is the user allowed to delete this object? * @return True or false * @throws RemoteException RemoteException */ boolean allowDelete() throws RemoteException; /** * Is the user allowed to add or delete points of this editable? * @return True or false * @throws RemoteException RemoteException */ boolean allowAddOrDeletePoints() throws RemoteException; /** * Get the maximum allowed number of points for this editable * @return Maximum number of points * @throws RemoteException RemoteException */ int getMaxNumberOfPoints() throws RemoteException; /** * Get the minimum allowed number of points for this editable * @return Minimum number of points * @throws RemoteException RemoteException */ int getMinNumberOfPoints() throws RemoteException; }