package nl.tudelft.simulation.dsol.animation.D2; import java.net.URL; import java.rmi.RemoteException; import javax.naming.NamingException; import org.djutils.draw.bounds.Bounds3d; import org.djutils.draw.point.OrientedPoint3d; import org.djutils.draw.point.Point3d; import nl.tudelft.simulation.dsol.animation.Locatable; import nl.tudelft.simulation.dsol.simulators.SimulatorInterface; /** * Render an image on screen where there is only a single image. *

* Copyright (c) 2002-2021 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 Locatable class of the source that indicates the location of the Renderable on the screen */ public class SingleImageRenderable extends ImageRenderable { /** */ private static final long serialVersionUID = 20200108L; /** * constructs a new SingleImageRenderable. * @param source T; the moving source * @param simulator SimulatorInterface<?,?,?>; the simulator * @param image URL; the image to animate * @throws NamingException when animation context cannot be created or retrieved * @throws RemoteException when remote context cannot be found */ public SingleImageRenderable(final L source, final SimulatorInterface simulator, final URL image) throws RemoteException, NamingException { super(source, simulator, new URL[] {image}); } /** * constructs a new SingleImageRenderable. * @param staticLocation Point3d; the static location * @param size Bounds3d; the size * @param simulator SimulatorInterface<?,?,?>; the simulator * @param image URL; the image * @throws NamingException when animation context cannot be created or retrieved * @throws RemoteException when remote context cannot be found */ public SingleImageRenderable(final Point3d staticLocation, final Bounds3d size, final SimulatorInterface simulator, final URL image) throws RemoteException, NamingException { super(staticLocation, size, simulator, new URL[] {image}); } /** * constructs a new SingleImageRenderable. * @param staticLocation OrientedPoint3d; the static location * @param size Bounds3d; the size of the image * @param simulator SimulatorInterface<?,?,?>; the simulator * @param image URL; the image * @throws NamingException when animation context cannot be created or retrieved * @throws RemoteException when remote context cannot be found */ public SingleImageRenderable(final OrientedPoint3d staticLocation, final Bounds3d size, final SimulatorInterface simulator, final URL image) throws RemoteException, NamingException { super(staticLocation, size, simulator, new URL[] {image}); } /** {@inheritDoc} */ @Override public int selectImage() { // We only have one image to show. Let's use this one. return 0; } }