nl.tudelft.simulation.dsol.animation.d2.SingleImageRenderable Maven / Gradle / Ivy
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.naming.context.Contextualized;
/**
* Render an image on screen where there is only a single image.
*
* Copyright (c) 2002-2024 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://https://simulation.tudelft.nl/dsol/docs/latest/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 contextProvider Contextualized; the object that can provide the context to store the animation objects
* @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 Contextualized contextProvider, final URL image)
throws RemoteException, NamingException
{
super(source, contextProvider, new URL[] {image});
}
/**
* constructs a new SingleImageRenderable.
* @param staticLocation Point3d; the static location
* @param size Bounds3d; the size
* @param contextProvider Contextualized; the object that can provide the context to store the animation objects
* @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 Contextualized contextProvider,
final URL image) throws RemoteException, NamingException
{
super(staticLocation, size, contextProvider, new URL[] {image});
}
/**
* constructs a new SingleImageRenderable.
* @param staticLocation OrientedPoint3d; the static location
* @param size Bounds3d; the size of the image
* @param contextProvider Contextualized; the object that can provide the context to store the animation objects
* @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 Contextualized contextProvider, final URL image) throws RemoteException, NamingException
{
super(staticLocation, size, contextProvider, new URL[] {image});
}
/** {@inheritDoc} */
@Override
public int selectImage()
{
// We only have one image to show. Let's use this one.
return 0;
}
}