AnyLogic
Expand
Font size

Class StackerCraneSystem<T extends Agent>

All Implemented Interfaces:
AbstractPositionalMarkup, AggregatableAnimationElement, HasBoundingRectangle, HasLevel, IMarkupLibraryDescriptor, LevelElement, LevelMarkup, com.anylogic.engine.markup.material_handling.IMaterialFallible, com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor, com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T>, StorageRetrievalSystem, SVGElement, UsdElement, Serializable

public class StackerCraneSystem<T extends Agent>
extends Crane<T>
implements HasBoundingRectangle, com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T>, AbstractPositionalMarkup, StorageRetrievalSystem, com.anylogic.engine.markup.material_handling.IMaterialFallible
See Also:
Serialized Form

Field Summary

Fields inherited from interface com.anylogic.engine.presentation.UsdElement

ID_NOT_SET

Constructor Summary

ConstructorDescription
StackerCraneSystem() 
StackerCraneSystem(Agent owner, ShapeDrawMode drawMode, boolean isPublic, boolean isObstacle, com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T> descriptor, double x, double y, double z, double rotation, double railOffset, double craneOffset, double baseLength, double initialLiftHeight, Color frameColor, Color trolleyColor, Color railColor, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneMastType craneType, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemType inputOutputSystemType, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation inputSystemLocation, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation outputSystemLocation, StackerCrane<T>... cranes) 

Method Summary

Modifier and TypeMethodDescription
voidaddStackerCrane(StackerCrane<T> crane) 
doubleaveragePickingTime(StackerCrane<T> crane) 
doubleaveragePickingTime(StackerCrane<T> crane, TimeUnits units) 
doubleaverageStorageTime(StackerCrane<T> crane) 
doubleaverageStorageTime(StackerCrane<T> crane, TimeUnits units) 
booleancontains(double px, double py)
Test if the shape contains the point with the given coordinates (relative to this shape's container, i.e.
voidfail()
Sets the crane to failed state
voidfail(StackerCrane<T> unit) 
SVGElementfindSVGElement(long svgId)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
PositiongetAbsoluteHookPosition()
Returns the current hook position as an instance of Position in pixels.
PositiongetAbsoluteHookPosition(StackerCrane<T> crane) 
List<Agent>getAgents(StackerCrane<T> crane) 
List<Agent>getAgentsInQueue(StackerCrane<T> crane) 
doublegetBaseLength()
Returns the length of the base of each stacker crane in pixels.
doublegetBaseLength(LengthUnits units)
Returns the length of the base of each stacker crane in length units.
doublegetBaseWidth() 
BoundingRectanglegetBoundingRectangle() 
doublegetCraneHeight() 
doublegetCraneHeight(LengthUnits units) 
doublegetCraneOffset()
Returns the initial offset of every stacker crane in pixels.
doublegetCraneOffset(LengthUnits units)
Returns the initial offset of every stacker crane in length units.
com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneMastTypegetCraneType()
Returns the stacker crane type by the number of masts.
PointgetCurrentHookPosition(StackerCrane<T> crane)
Returns current hook position in system's coordinate system.
ColorgetFrameColor()
Returns the color of the stacker's masts, base, and power unit.
PositiongetFramePosition(StackerCrane<T> crane) 
doublegetFullYHeight() 
doublegetFullYHeight(LengthUnits units) 
PointgetInitialHookPoint()
Returns the initial hook point in pixels, calculated according to the crane's dimensions and converted to pixels with crane's space.
PointgetInitialHookPoint(int index) 
PointgetInitialHookPoint(int index, LengthUnits units) 
PointgetInitialHookPoint(LengthUnits units)
Returns the initial hook point in the specified length units.
doublegetInitialLiftHeight()
Returns the initial height of the lift of each stacker crane in pixels.
doublegetInitialLiftHeight(LengthUnits units)
Returns the initial height of the lift of each stacker crane in length units.
ConveyorPathgetInputConveyor(StackerCrane<T> crane) 
List<ConveyorPath>getInputConveyors() 
PointNodegetInputNode(StackerCrane<T> unit) 
List<PointNode>getInputNodes() 
com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemTypegetInputOutputSystemType()
Returns the input/output system type of each stacker crane.
com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocationgetInputSystemLocation()
Returns the location of the input system of each stacker crane.
LevelgetLevel()
Returns level associated with this space markup element or null if this element has no level
com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T>getLibraryDescriptor() 
doublegetLiftSpeed(T agent, boolean isLoaded) 
doublegetLiftSpeed(T agent, boolean isLoaded, SpeedUnits units)
Returns the lifting speed specified by the parameter value of this crane system in in specified units.
PositiongetMastPosition(StackerCrane<T> crane) 
StackerCraneMovementModegetMovementMode()
Returns the movement mode of the crane.
ConveyorPathgetNearestInputConveyor(int rack) 
ConveyorPathgetNearestInputConveyor(StorageCell cell) 
PointNodegetNearestInputNode(int rack) 
PointNodegetNearestInputNode(StorageCell cell) 
ConveyorPathgetNearestOutputConveyor(int rack) 
ConveyorPathgetNearestOutputConveyor(StorageCell cell) 
PointNodegetNearestOutputNode(int rack) 
PointNodegetNearestOutputNode(StorageCell cell) 
ConveyorPathgetOutputConveyor(StackerCrane<T> crane) 
List<ConveyorPath>getOutputConveyors() 
PointNodegetOutputNode(StackerCrane<T> crane) 
List<PointNode>getOutputNodes() 
com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocationgetOutputSystemLocation()
Returns the location of the output system of each stacker crane.
ColorgetRailColor()
Returns the color of the rail on which the stacker crane moves.
doublegetRailHeight(LengthUnits units) 
doublegetRailOffset()
Returns the offset from parent storage of each stacker crane rail in pixels.
doublegetRailOffset(LengthUnits units)
Returns the offset from parent storage of each stacker crane rail in length units.
doublegetRailWidth() 
doublegetRailWidth(LengthUnits units) 
doublegetRotation()
Returns rotation of the crane system.
AgentgetServicedAgent(StackerCrane<T> crane) 
StackerCrane<T>getStackerCrane(int index)
Returns stacker crane by index if stacker crane exists.
List<StackerCrane<T>>getStackerCranes() 
com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneStategetState(StackerCrane<T> unit) 
doublegetStatisticsStartTime() 
StoragegetStorage() 
doublegetTransferSpeed(T agent) 
doublegetTransferSpeed(T agent, SpeedUnits units)
Returns the speed (in specified speed units units) of movement of the forks that "pull" the agent into the trolley or place the agent into the cell/unloading station.
doublegetTravelSpeed(T agent, boolean isLoaded) 
doublegetTravelSpeed(T agent, boolean isLoaded, SpeedUnits units)
Returns the travel speed specified by the parameter value of this crane system in specified units.
ColorgetTrolleyColor()
Returns the color of the stacker crane's trolley.
doublegetTrolleyLength() 
PositiongetTrolleyPosition(StackerCrane<T> crane) 
doublegetTrolleyWidth() 
doublegetUtilization()
Returns the system utilization: the value is calculated as mean of system's cranes utilization.
doublegetUtilization(StackerCrane<T> crane) 
doublegetWidth() 
doublegetWidth(LengthUnits units) 
booleanisFailed()
Returns true if the crane is failed and false otherwise.
booleanisFailed(StackerCrane<T> unit) 
booleanisLoaded(StackerCrane<T> crane) 
booleanisObstacle()
Returns true if this crane system is considered an obstacle by transporters moving in free space mode.
booleanisReady()
Returns true if the crane is ready to work with new agent and false otherwise.
booleanisReady(StackerCrane<T> unit) 
voidmoveToInputStation(StackerCrane<T> crane) 
intnumberOfAgentsHandled(StackerCrane<T> crane) 
voidonLoading(T agent) 
voidonNewSRMUnit(StorageResourceManagementUnit unit) 
voidonUnitStateChanged(StorageResourceManagementUnit unit, StorageResourceManagementUnitState state) 
voidonUnloading(T agent) 
voidrepair()
Repairs the crane from failed state
voidrepair(StackerCrane<T> unit) 
voidresetStats()
Resets statistics for all stacker cranes
voidresetStats(StackerCrane<T> crane) 
voidresetSVGState(SVGElement elementBeingDeleted, boolean delete, Consumer<SVGCommand> commandOutput)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
voidsetLevel(Level level) 
voidsetState(StackerCrane<T> unit, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state) 
voidsetStorage(Storage storage) 
doubletimeInState(StackerCrane<T> crane, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state) 
doubletimeInState(StackerCrane<T> crane, com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state, TimeUnits units) 
voidupdateDynamicProperties()
Updates dynamic properties of this shape only (without structural contents, if any) in a given context.
Method should be overridden for shapes with dynamic properties.
SVGElementupdateSVGProperties(List<SVGCommand> output, ShapeDrawMode drawMode, boolean publicOnly, SVGElement owner, SVGElement elbehind, boolean isInReplicatedShape)
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Updates SVG properties of the element that are then sent to the rendering client.

Methods inherited from class com.anylogic.engine.markup.Crane

getX, getXYZ, getY, getZ, notifyDirtyState, setX, setXYZ, setY, setZ

Methods inherited from class com.anylogic.engine.markup.AbstractLevelMarkup

getDrawMode

Methods inherited from class com.anylogic.engine.markup.MarkupShape

error, getFullName, getOutsideLevelZ, getPresentable, getSpace, initialize, isClickHandled, isOnly3D, isPublic, onClick, remove, setDrawMode, setOwner

Methods inherited from class java.lang.Object

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

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

getSpace, getX, getY, getZ, isVisible

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

initializeInternal, onAggregatorVisibilityChanged, postInitialize

Methods inherited from interface com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor

getMarkup, setMarkup

Methods inherited from interface com.anylogic.engine.presentation.SVGElement

executeUserAction, getGroupOrOwner, getPresentable, getSVGComponent, getSVGId, isOnly3D, removeSVGFromOwner, resetSVGComponent

Methods inherited from interface com.anylogic.engine.presentation.UsdElement

getOrGenerateUSDId

Constructor Details

StackerCraneSystem

@AnyLogicInternalCodegenAPI
public StackerCraneSystem(Agent owner,
 ShapeDrawMode drawMode,
 boolean isPublic,
 boolean isObstacle,
 com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T> descriptor,
 double x,
 double y,
 double z,
 double rotation,
 double railOffset,
 double craneOffset,
 double baseLength,
 double initialLiftHeight,
 Color frameColor,
 Color trolleyColor,
 Color railColor,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneMastType craneType,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemType inputOutputSystemType,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation inputSystemLocation,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation outputSystemLocation,
 StackerCrane<T>... cranes)

StackerCraneSystem

public StackerCraneSystem()

Method Details

getLibraryDescriptor

@AnyLogicInternalLibraryAPI
public com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T> getLibraryDescriptor()

getUtilization

public double getUtilization()
Returns the system utilization: the value is calculated as mean of system's cranes utilization. The returned value lies in the range [0..1].
Specified by:
getUtilization in class Crane<T extends Agent>

resetStats

public void resetStats()
Resets statistics for all stacker cranes
Specified by:
resetStats in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Specified by:
resetStats in class Crane<T extends Agent>

getBaseLength

public double getBaseLength()
Returns the length of the base of each stacker crane in pixels.
Returns:
the length of the base of each stacker crane in pixels.

getBaseLength

public double getBaseLength(LengthUnits units)
Returns the length of the base of each stacker crane in length units.
Parameters:
units - - length units
Returns:
the length of the base of each stacker crane in length units.

isObstacle

public boolean isObstacle()
Returns true if this crane system is considered an obstacle by transporters moving in free space mode. Otherwise, returns false.
Returns:
true if this crane system is considered an obstacle by transporters moving in free space mode. Otherwise, returns false

getRailOffset

public double getRailOffset()
Returns the offset from parent storage of each stacker crane rail in pixels.
Returns:
the offset from parent storage of each stacker crane rail in pixels.

getRailOffset

public double getRailOffset(LengthUnits units)
Returns the offset from parent storage of each stacker crane rail in length units.
Parameters:
units - - length units
Returns:
the offset from parent storage of each stacker crane rail in length units.

getInitialLiftHeight

public double getInitialLiftHeight()
Returns the initial height of the lift of each stacker crane in pixels.
Returns:
the initial height of the lift of each stacker crane in pixels.

getInitialLiftHeight

public double getInitialLiftHeight(LengthUnits units)
Returns the initial height of the lift of each stacker crane in length units.
Parameters:
units - - length units
Returns:
the initial height of the lift of each stacker crane in length units.

getTravelSpeed

@AnyLogicInternalLibraryAPI
public double getTravelSpeed(T agent,
 boolean isLoaded)
Specified by:
getTravelSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getTravelSpeed

public double getTravelSpeed(T agent,
 boolean isLoaded,
 SpeedUnits units)
Returns the travel speed specified by the parameter value of this crane system in specified units. Note that this value does not correspond to the actual travel speed.
Specified by:
getTravelSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Parameters:
agent - - the item that the crane is going to move. It is null when the crane moves without load.
isLoaded - - a flag that you can use to specify different values for the crane's movement with and without load.
units - - a constant defining the speed units
Returns:
trolley speed specified by the parameter value of this crane

getLiftSpeed

@AnyLogicInternalAPI
public double getLiftSpeed(T agent,
 boolean isLoaded)
Specified by:
getLiftSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getLiftSpeed

public double getLiftSpeed(T agent,
 boolean isLoaded,
 SpeedUnits units)
Returns the lifting speed specified by the parameter value of this crane system in in specified units. Note that this value does not correspond to the actual lifting speed.
Specified by:
getLiftSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Parameters:
agent - - the item that the crane is going to move. It is null when the crane moves without load.
isLoaded - - a flag that you can use to specify different values for the crane's movement with and without load.
units - - a constant defining the speed units
Returns:
lifting speed specified by the parameter value of this crane

getTransferSpeed

@AnyLogicInternalAPI
public double getTransferSpeed(T agent)
Specified by:
getTransferSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getTransferSpeed

public double getTransferSpeed(T agent,
 SpeedUnits units)
Returns the speed (in specified speed units units) of movement of the forks that "pull" the agent into the trolley or place the agent into the cell/unloading station. Note that this value does not correspond to the actual transfer speed. This speed specified by parameter of this crane system.
Specified by:
getTransferSpeed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Parameters:
agent - - the item that the crane is going to move. It is null when the crane moves without load.
units - - a constant defining the speed units
Returns:
the speed of movement of the forks that "pull" the agent into the trolley or place the agent in a cell/on the unloading station.

getFrameColor

public Color getFrameColor()
Returns the color of the stacker's masts, base, and power unit.
Returns:
the color of the stacker's masts, base, and power unit.

getTrolleyColor

public Color getTrolleyColor()
Returns the color of the stacker crane's trolley.
Returns:
the color of the stacker crane's trolley.

getRailColor

public Color getRailColor()
Returns the color of the rail on which the stacker crane moves.
Returns:
the color of the rail on which the stacker crane moves.

isReady

@AnyLogicInternalAPI
public boolean isReady()
Description copied from class: Crane
Returns true if the crane is ready to work with new agent and false otherwise.
Specified by:
isReady in class Crane<T extends Agent>
Returns:
true if the crane is ready to work with new agent and false otherwise

getInputSystemLocation

public com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation getInputSystemLocation()
Returns the location of the input system of each stacker crane. See StackerCraneIOSystemLocation.

Possible values are:

  • FRONT_LEFT
  • FRONT_RIGHT
  • BACK_LEFT
  • BACK_RIGHT
Returns:
location of the input system of each stacker crane.

getOutputSystemLocation

public com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemLocation getOutputSystemLocation()
Returns the location of the output system of each stacker crane. See StackerCraneIOSystemLocation.

Possible values are:

  • FRONT_LEFT
  • FRONT_RIGHT
  • BACK_LEFT
  • BACK_RIGHT
Returns:
location of the input system of each stacker crane.

getBoundingRectangle

@AnyLogicInternalAPI
public BoundingRectangle getBoundingRectangle()
Specified by:
getBoundingRectangle in interface HasBoundingRectangle

getInitialHookPoint

@AnyLogicInternalAPI
public Point getInitialHookPoint()
Description copied from class: Crane
Returns the initial hook point in pixels, calculated according to the crane's dimensions and converted to pixels with crane's space.
Specified by:
getInitialHookPoint in class Crane<T extends Agent>
Returns:
initial hook point in pixels

getInitialHookPoint

@AnyLogicInternalAPI
public Point getInitialHookPoint(LengthUnits units)
Description copied from class: Crane
Returns the initial hook point in the specified length units.
Specified by:
getInitialHookPoint in class Crane<T extends Agent>
Parameters:
units - - a constant defining the length units
Returns:
initial hook point in the specified LengthUnits

getInitialHookPoint

@AnyLogicInternalAPI
public Point getInitialHookPoint(int index)

getInitialHookPoint

@AnyLogicInternalAPI
public Point getInitialHookPoint(int index,
 LengthUnits units)

getCurrentHookPosition

@AnyLogicInternalAPI
public Point getCurrentHookPosition(StackerCrane<T> crane)
Returns current hook position in system's coordinate system. Does not actuate animation update.
Specified by:
getCurrentHookPosition in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Returns:
current hook point in pixels.

fail

@AnyLogicInternalAPI
public void fail()
Description copied from class: Crane
Sets the crane to failed state
Specified by:
fail in interface com.anylogic.engine.markup.material_handling.IMaterialFallible
Specified by:
fail in class Crane<T extends Agent>

repair

@AnyLogicInternalAPI
public void repair()
Description copied from class: Crane
Repairs the crane from failed state
Specified by:
repair in interface com.anylogic.engine.markup.material_handling.IMaterialFallible
Specified by:
repair in class Crane<T extends Agent>

isFailed

@AnyLogicInternalAPI
public boolean isFailed()
Description copied from class: Crane
Returns true if the crane is failed and false otherwise.
Specified by:
isFailed in interface com.anylogic.engine.markup.material_handling.IMaterialFallible
Specified by:
isFailed in class Crane<T extends Agent>
Returns:
true if the crane is failed and false otherwise

onLoading

@AnyLogicInternalLibraryAPI
public void onLoading(T agent)
Specified by:
onLoading in class Crane<T extends Agent>

onUnloading

@AnyLogicInternalLibraryAPI
public void onUnloading(T agent)
Specified by:
onUnloading in class Crane<T extends Agent>

getAbsoluteHookPosition

@AnyLogicInternalAPI
public Position getAbsoluteHookPosition()
Description copied from class: Crane
Returns the current hook position as an instance of Position in pixels. Also updates animation. Position.rotation contains the hook's current rotation angle in radians.
Specified by:
getAbsoluteHookPosition in class Crane<T extends Agent>
Returns:
current hook point in pixels with the angle as Position.rotation

getCraneHeight

@AnyLogicInternalAPI
public double getCraneHeight()
Specified by:
getCraneHeight in class Crane<T extends Agent>

getCraneHeight

@AnyLogicInternalAPI
public double getCraneHeight(LengthUnits units)
Specified by:
getCraneHeight in class Crane<T extends Agent>

getStatisticsStartTime

@AnyLogicInternalAPI
public double getStatisticsStartTime()
Specified by:
getStatisticsStartTime in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Specified by:
getStatisticsStartTime in class Crane<T extends Agent>

contains

@AnyLogicInternalAPI
public boolean contains(double px,
 double py)
Description copied from class: MarkupShape
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 MarkupShape
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

getRotation

public double getRotation()
Returns rotation of the crane system.
Specified by:
getRotation in interface AbstractPositionalMarkup
Overrides:
getRotation in class Crane<T extends Agent>
Returns:
rotation of the crane system

getStorage

@AnyLogicInternalLibraryAPI
public Storage getStorage()
Specified by:
getStorage in interface StorageRetrievalSystem

setStorage

@AnyLogicInternalLibraryAPI
public void setStorage(Storage storage)
Specified by:
setStorage in interface StorageRetrievalSystem

getLevel

@AnyLogicInternalAPI
public Level getLevel()
Description copied from interface: HasLevel
Returns level associated with this space markup element or null if this element has no level
Specified by:
getLevel in interface HasLevel
Overrides:
getLevel in class AbstractLevelMarkup
Returns:
the level associated with this space markup element

getCraneType

public com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneMastType getCraneType()
Returns the stacker crane type by the number of masts. See StackerCraneMastType.

Possible values are:

  • SINGLE
  • DOUBLE
Returns:
stacker crane type by the number of masts.

addStackerCrane

@AnyLogicInternalLibraryAPI
public void addStackerCrane(StackerCrane<T> crane)

getStackerCranes

@AnyLogicInternalLibraryAPI
public List<StackerCrane<T>> getStackerCranes()

getStackerCrane

public StackerCrane<T> getStackerCrane(int index)
Returns stacker crane by index if stacker crane exists. Otherwise, returns null.
Parameters:
index - - index of stacker crane in stacker crane system
Returns:
stacker crane by index if stacker crane exists. Otherwise, returns null.

getCraneOffset

public double getCraneOffset()
Returns the initial offset of every stacker crane in pixels.
Returns:
initial offset of every stacker crane in pixels

getCraneOffset

public double getCraneOffset(LengthUnits units)
Returns the initial offset of every stacker crane in length units.
Parameters:
units -
Returns:
the initial offset of every stacker crane in length units

onNewSRMUnit

@AnyLogicInternalAPI
public void onNewSRMUnit(StorageResourceManagementUnit unit)
Specified by:
onNewSRMUnit in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Specified by:
onNewSRMUnit in interface StorageRetrievalSystem

onUnitStateChanged

@AnyLogicInternalAPI
public void onUnitStateChanged(StorageResourceManagementUnit unit,
 StorageResourceManagementUnitState state)
Specified by:
onUnitStateChanged in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Specified by:
onUnitStateChanged in interface StorageRetrievalSystem

timeInState

@AnyLogicInternalAPI
public double timeInState(StackerCrane<T> crane,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state,
 TimeUnits units)
Specified by:
timeInState in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

timeInState

@AnyLogicInternalAPI
public double timeInState(StackerCrane<T> crane,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state)
Specified by:
timeInState in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getMovementMode

public StackerCraneMovementMode getMovementMode()
Returns the movement mode of the crane. See StackerCraneMovementMode
Specified by:
getMovementMode in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>
Returns:
the movement mode of the crane

isReady

@AnyLogicInternalAPI
public boolean isReady(StackerCrane<T> unit)
Specified by:
isReady in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

isFailed

@AnyLogicInternalAPI
public boolean isFailed(StackerCrane<T> unit)
Specified by:
isFailed in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

fail

@AnyLogicInternalAPI
public void fail(StackerCrane<T> unit)
Specified by:
fail in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

repair

@AnyLogicInternalAPI
public void repair(StackerCrane<T> unit)
Specified by:
repair in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getInputNode

@AnyLogicInternalLibraryAPI
public PointNode getInputNode(StackerCrane<T> unit)
Specified by:
getInputNode in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getOutputNode

@AnyLogicInternalLibraryAPI
public PointNode getOutputNode(StackerCrane<T> crane)
Specified by:
getOutputNode in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getInputConveyor

@AnyLogicInternalLibraryAPI
public ConveyorPath getInputConveyor(StackerCrane<T> crane)
Specified by:
getInputConveyor in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getOutputConveyor

@AnyLogicInternalLibraryAPI
public ConveyorPath getOutputConveyor(StackerCrane<T> crane)
Specified by:
getOutputConveyor in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getInputNodes

@AnyLogicInternalAPI
public List<PointNode> getInputNodes()

getOutputNodes

@AnyLogicInternalAPI
public List<PointNode> getOutputNodes()

getInputConveyors

@AnyLogicInternalAPI
public List<ConveyorPath> getInputConveyors()

getOutputConveyors

@AnyLogicInternalAPI
public List<ConveyorPath> getOutputConveyors()

getNearestInputNode

@AnyLogicInternalAPI
public PointNode getNearestInputNode(StorageCell cell)
Specified by:
getNearestInputNode in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getNearestOutputNode

@AnyLogicInternalAPI
public PointNode getNearestOutputNode(StorageCell cell)
Specified by:
getNearestOutputNode in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getNearestInputNode

@AnyLogicInternalAPI
public PointNode getNearestInputNode(int rack)

getNearestOutputNode

@AnyLogicInternalAPI
public PointNode getNearestOutputNode(int rack)

getNearestInputConveyor

@AnyLogicInternalAPI
public ConveyorPath getNearestInputConveyor(StorageCell cell)
Specified by:
getNearestInputConveyor in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getNearestOutputConveyor

@AnyLogicInternalAPI
public ConveyorPath getNearestOutputConveyor(StorageCell cell)
Specified by:
getNearestOutputConveyor in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getNearestInputConveyor

@AnyLogicInternalAPI
public ConveyorPath getNearestInputConveyor(int rack)

getNearestOutputConveyor

@AnyLogicInternalAPI
public ConveyorPath getNearestOutputConveyor(int rack)

getFullYHeight

@AnyLogicInternalLibraryAPI
public double getFullYHeight()

getFullYHeight

@AnyLogicInternalLibraryAPI
public double getFullYHeight(LengthUnits units)

getWidth

@AnyLogicInternalAPI
public double getWidth()

getWidth

@AnyLogicInternalAPI
public double getWidth(LengthUnits units)

getState

@AnyLogicInternalLibraryAPI
public com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState getState(StackerCrane<T> unit)
Specified by:
getState in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

setState

@AnyLogicInternalLibraryAPI
public void setState(StackerCrane<T> unit,
 com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneState state)
Specified by:
setState in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

averageStorageTime

@AnyLogicInternalLibraryAPI
public double averageStorageTime(StackerCrane<T> crane)
Specified by:
averageStorageTime in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

averageStorageTime

@AnyLogicInternalLibraryAPI
public double averageStorageTime(StackerCrane<T> crane,
 TimeUnits units)
Specified by:
averageStorageTime in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

averagePickingTime

@AnyLogicInternalLibraryAPI
public double averagePickingTime(StackerCrane<T> crane)
Specified by:
averagePickingTime in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

averagePickingTime

@AnyLogicInternalLibraryAPI
public double averagePickingTime(StackerCrane<T> crane,
 TimeUnits units)
Specified by:
averagePickingTime in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getUtilization

@AnyLogicInternalLibraryAPI
public double getUtilization(StackerCrane<T> crane)
Specified by:
getUtilization in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

numberOfAgentsHandled

@AnyLogicInternalLibraryAPI
public int numberOfAgentsHandled(StackerCrane<T> crane)
Specified by:
numberOfAgentsHandled in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

resetStats

@AnyLogicInternalLibraryAPI
public void resetStats(StackerCrane<T> crane)
Specified by:
resetStats in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getServicedAgent

@AnyLogicInternalLibraryAPI
public Agent getServicedAgent(StackerCrane<T> crane)
Specified by:
getServicedAgent in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getAgents

@AnyLogicInternalLibraryAPI
public List<Agent> getAgents(StackerCrane<T> crane)
Specified by:
getAgents in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getAgentsInQueue

@AnyLogicInternalLibraryAPI
public List<Agent> getAgentsInQueue(StackerCrane<T> crane)
Specified by:
getAgentsInQueue in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getTrolleyPosition

@AnyLogicInternalLibraryAPI
public Position getTrolleyPosition(StackerCrane<T> crane)
Specified by:
getTrolleyPosition in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getFramePosition

@AnyLogicInternalLibraryAPI
public Position getFramePosition(StackerCrane<T> crane)
Specified by:
getFramePosition in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getMastPosition

@AnyLogicInternalLibraryAPI
public Position getMastPosition(StackerCrane<T> crane)
Specified by:
getMastPosition in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

moveToInputStation

@AnyLogicInternalLibraryAPI
public void moveToInputStation(StackerCrane<T> crane)
Specified by:
moveToInputStation in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

isLoaded

@AnyLogicInternalAPI
public boolean isLoaded(StackerCrane<T> crane)
Specified by:
isLoaded in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

updateDynamicProperties

@AnyLogicInternalCodegenAPI
public void updateDynamicProperties()
Description copied from class: AbstractMarkup
Updates dynamic properties of this shape only (without structural contents, if any) in a given context.
Method should be overridden for shapes with dynamic properties. Note that you should call super.updateDynamicProperties() at the end of overridden method
Overrides:
updateDynamicProperties in class AbstractMarkup

getRailWidth

@AnyLogicInternalAPI
public double getRailWidth()

getRailWidth

@AnyLogicInternalLibraryAPI
public double getRailWidth(LengthUnits units)

getRailHeight

@AnyLogicInternalLibraryAPI
public double getRailHeight(LengthUnits units)

getTrolleyWidth

@AnyLogicInternalAPI
public double getTrolleyWidth()

getTrolleyLength

@AnyLogicInternalAPI
public double getTrolleyLength()

getBaseWidth

@AnyLogicInternalAPI
public double getBaseWidth()

setLevel

@AnyLogicInternalAPI
public void setLevel(Level level)
Specified by:
setLevel in interface LevelElement
Overrides:
setLevel in class AbstractLevelMarkup

getAbsoluteHookPosition

@AnyLogicInternalAPI
public Position getAbsoluteHookPosition(StackerCrane<T> crane)
Specified by:
getAbsoluteHookPosition in interface com.anylogic.engine.markup.material_handling.IStackerCraneSystemDescriptor<T extends Agent>

getInputOutputSystemType

public com.anylogic.engine.markup.material_handling.stacker_crane.StackerCraneIOSystemType getInputOutputSystemType()
Returns the input/output system type of each stacker crane. See StackerCraneIOSystemType.
Returns:
input/output system type. See StackerCraneIOSystemType.

resetSVGState

@AnyLogicInternalAPI
public void resetSVGState(SVGElement elementBeingDeleted,
 boolean delete,
 Consumer<SVGCommand> commandOutput)
Description copied from interface: SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Specified by:
resetSVGState in interface SVGElement
Overrides:
resetSVGState in class AbstractMarkup

updateSVGProperties

@AnyLogicInternalAPI
public SVGElement updateSVGProperties(List<SVGCommand> output,
 ShapeDrawMode drawMode,
 boolean publicOnly,
 SVGElement owner,
 SVGElement elbehind,
 boolean isInReplicatedShape)
Description copied from interface: SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Updates SVG properties of the element that are then sent to the rendering client. If the element is not yet in the SVG scene, generates "C" command, if it is there, but some properties are out of date, generates "U" command. If SVG drawing of this element is not needed because of public only settings, or permanently not needed, or not supported yet, returns false and does nothing.
Specified by:
updateSVGProperties in interface SVGElement
Overrides:
updateSVGProperties in class AbstractMarkup
Parameters:
output - the list of commands to add to
drawMode - TODO
publicOnly - drawing context: if true, only shapes that are marked as public only are updated
owner - the SVG element that serves as a container for this element
elbehind - the SVG element behind this one, or null if none or if order is irrelevant
Returns:
the actual owner this element has been added to or null if element is not drawn (e.g. drawing of this element is not needed because of public only settings, permanently not needed or not supported - hence SVG id is not set). The actual owner may differ from the given owner when the svg element is added to a different place (e.g. GIS map).

findSVGElement

@AnyLogicInternalAPI
public SVGElement findSVGElement(long svgId)
Description copied from interface: SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
Specified by:
findSVGElement in interface SVGElement
Overrides:
findSVGElement in class AbstractMarkup