AnyLogic
Expand
Font size
All Implemented Interfaces:
com.anylogic.engine.internal.Child, Locatable2D, Locatable3D, AggregatableAnimationElement, HasLevel, LevelElement, SVGElement, Serializable, Cloneable

public class ShapeImage
extends Shape3D
implements com.anylogic.engine.internal.Child
Persistent image shape. The set of images is fixed during the lifetime of this object, but you can control the index of the image to display.
Author:
AnyLogic North America, LLC https://anylogic.com
See Also:
Serialized Form

Field Summary

Fields inherited from class com.anylogic.engine.presentation.Shape3D

UNKNOWN_NAME

Constructor Summary

ConstructorDescription
ShapeImage(Presentable presentable, boolean ispublic, double x, double y, double rotation, double width, double height, String[] filenames)
ShapeImage(Presentable presentable, boolean ispublic, double x, double y, double rotation, double width, double height, String packagePrefix, String[] filenames)
Constructs a 2D-only image shape with specific attributes.
ShapeImage(Presentable presentable, ShapeDrawMode drawMode, boolean ispublic, double x, double y, double z, double rotation, double width, double height, String packagePrefix, String[] filenames)
Constructs an image shape with specific attributes.

Method Summary

Modifier and TypeMethodDescription
voidadd(String filename)
Adds an image to the image shape.
ShapeImageclone()
Creates and returns a copy of this shape (i.e.
booleancontains(double px, double py)
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e.
doublegetHeight()
Returns the height of the image.
intgetImageCount()
Returns the number of the image files in this shape.
StringgetImageFileName(int i)
Returns the file name of the image with the given index.
List<String>getImageFileNames()
Returns the list of image file names of this image shape.
intgetIndex()
Returns the current index of the image being displayed.
PresentablegetPresentable()
Returns the Presentable object (Agent or Experiment) where this shape belongs to, or null.
doublegetWidth()
Returns the width of the image.
voidpostSVGShapeSpecificAttributes(List<String> att, List<String> val, boolean publicOnly)
Posts general properties specific to a particular shape class.
PointrandomPointInside(Random rng)
Returns the randomly chosen point inside the shape area.
This method utilises the given Random Number Generator.
Throws error if this shape type doesn't support returning random point inside.
voidremove(int i)
Removes the image with the given index from the image shape.
voidrestoreOwner(Object owner)
Deprecated.
voidsetHeight(double height)
Sets the height of the image.
voidsetIndex(int index)
Sets the index of the image to display.
voidsetSize(double width, double height)
Sets the width and height of the image.
voidsetWidth(double width)
Sets the width of the image.

Methods inherited from class com.anylogic.engine.presentation.Shape3D

canHandleClick, getDrawMode, getScaleZ, getZ, getZOffset, setDrawMode, setPos, setPos, setPos, setRotation, setScale, setScale, setScaleZ, setZ

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods inherited from interface com.anylogic.engine.markup.AggregatableAnimationElement

initializeInternal, postInitialize

Methods inherited from interface com.anylogic.engine.Locatable2D

getX, getY

Constructor Details

ShapeImage

@Deprecated
public ShapeImage(Presentable presentable,
 boolean ispublic,
 double x,
 double y,
 double rotation,
 double width,
 double height,
 String[] filenames)
Constructs a 2D-only image shape with specific attributes.
Parameters:
presentable - the presentable object owning this image
ispublic - if true, the shape is visible on container's presentation
x - the x coordinate of the image upper left corner
y - the y coordinate of the image upper left corner
rotation - the rotation of the image in radians
width - the width of the image
height - the height of the image
filenames - the array of image file names

ShapeImage

public ShapeImage(Presentable presentable,
 boolean ispublic,
 double x,
 double y,
 double rotation,
 double width,
 double height,
 String packagePrefix,
 String[] filenames)
Constructs a 2D-only image shape with specific attributes.
Parameters:
presentable - the presentable object owning this image
ispublic - if true, the shape is visible on container's presentation
x - the x coordinate of the image upper left corner
y - the y coordinate of the image upper left corner
rotation - the rotation of the image in radians
width - the width of the image
height - the height of the image
packagePrefix - the package name of original agent where this image is defined, formatted using '/' characters; with '/' character at the beginning and at the end
filenames - the array of image file names

ShapeImage

public ShapeImage(Presentable presentable,
 ShapeDrawMode drawMode,
 boolean ispublic,
 double x,
 double y,
 double z,
 double rotation,
 double width,
 double height,
 String packagePrefix,
 String[] filenames)
Constructs an image shape with specific attributes.
Parameters:
presentable - the presentable object owning this image
drawMode - where to draw this shape: 2D, 3D or 2D+3D
ispublic - if true, the shape is visible on container's presentation
x - the x coordinate of the image upper left corner
y - the y coordinate of the image upper left corner
z - the z coordinate of the image
rotation - the rotation of the image around Z-axis from +X to +Y, in radians
width - the width of the image
height - the height of the image
packagePrefix - the package name of original agent where this image is defined, formatted using '/' characters; with '/' character at the beginning and at the end
filenames - the array of image file names

Method Details

setWidth

public void setWidth(double width)
Sets the width of the image.
Parameters:
width - the width of the image

getWidth

public double getWidth()
Returns the width of the image.
Returns:
the width of the image

setHeight

public void setHeight(double height)
Sets the height of the image.
Parameters:
height - the height of the image

getHeight

public double getHeight()
Returns the height of the image.
Returns:
the height of the image

setSize

public void setSize(double width,
 double height)
Sets the width and height of the image.
Parameters:
width - the new width of the image
height - the new height of the image

randomPointInside

public Point randomPointInside(Random rng)
Description copied from class: Shape
Returns the randomly chosen point inside the shape area.
This method utilises the given Random Number Generator.
Throws error if this shape type doesn't support returning random point inside.
Overrides:
randomPointInside in class Shape
Parameters:
rng - the random number generator.
Returns:
the randomly chosen point inside the shape area.

setIndex

public void setIndex(int index)
Sets the index of the image to display.
Parameters:
index - the index of the image to display

getIndex

public int getIndex()
Returns the current index of the image being displayed.
Returns:
the current index of the image being displayed

getImageFileNames

public List<String> getImageFileNames()
Returns the list of image file names of this image shape.
Returns:
the list of image file names of this image shape

getImageFileName

public String getImageFileName(int i)
Returns the file name of the image with the given index.
Parameters:
i - the index
Returns:
the file name of the image with the given index

getImageCount

public int getImageCount()
Returns the number of the image files in this shape.
Returns:
the number of the image files.
Since:
7.3

add

public void add(String filename)
Adds an image to the image shape.
Parameters:
filename - the file name of the image being added

remove

public void remove(int i)
Removes the image with the given index from the image shape.
Parameters:
i - the index of the image

contains

public boolean contains(double px,
 double py)
Description copied from class: Shape
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e. in the same system with the coordinates of this shape, x and y)
Specified by:
contains in class Shape
Parameters:
px - the x coordinate relative to this shape's container
py - the y coordinate relative to this shape's container
Returns:
true if the shape contains the point with the given coordinates

getPresentable

public Presentable getPresentable()
Description copied from class: Shape
Returns the Presentable object (Agent or Experiment) where this shape belongs to, or null.
Overrides:
getPresentable in class Shape
Returns:
the Presentable that owns this shape, or null

restoreOwner

@AnyLogicInternalCodegenAPI
@Deprecated
public void restoreOwner(Object owner)
Deprecated.
Description copied from class: Shape
This method normally should not be called by user
This method restores owner of this object
The method is used in snapshot saving/loading
Specified by:
restoreOwner in interface com.anylogic.engine.internal.Child
Overrides:
restoreOwner in class Shape
Parameters:
owner - owner of this object, usually Agent, Experiment or ShapeGroup

clone

public ShapeImage clone()
Description copied from class: Shape
Creates and returns a copy of this shape (i.e. new shape instance).
The returned shape is the object of the same class
The returned copy isn't automatically added to the group this shape belongs to.
The clone is created in the context of the same experiment or agent

Note that cloning of GIS shape, controls and charts is not supported
Overrides:
clone in class Shape

postSVGShapeSpecificAttributes

public void postSVGShapeSpecificAttributes(List<String> att,
 List<String> val,
 boolean publicOnly)
Description copied from class: Shape
Posts general properties specific to a particular shape class. Is triggered by SVG_DIRTY_SHAPE flag. Made public for occasional posting of additional SVG properties from outside engine (e.g. from libraries)
Overrides:
postSVGShapeSpecificAttributes in class Shape
Parameters:
att - attribute names
val - attribute values
publicOnly - TODO