- Constructor Summary
- Method Summary
- Methods inherited from class com.anylogic.engine.markup.ConveyorMarkupElement
- Methods inherited from class com.anylogic.engine.markup.MarkupShape
- Methods inherited from class com.anylogic.engine.markup.AbstractMarkup
- Methods inherited from class java.lang.Object
- Methods inherited from interface com.anylogic.engine.markup.AggregatableAnimationElement
- Methods inherited from interface com.anylogic.engine.markup.AnimationStaticLocationProvider
- Methods inherited from interface com.anylogic.engine.markup.IMaintenanceableMarkup
- Methods inherited from interface com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
- Methods inherited from interface com.anylogic.engine.markup.INetworkMarkupElement
- Methods inherited from interface com.anylogic.engine.markup.IPath
- Methods inherited from interface java.lang.Iterable
- Constructor Details
- Method Details
- getLibraryDescriptor
- getPositionsOnConveyor
- getStations
- getSpurs
- getSplitMerges
- createPortInternal
- createPort
- createPort
- getSource
- setSource
- getTarget
- setTarget
- getOtherNode
- setDrawStands
- isDrawStands
- setStandsLevel
- getStandsLevel
- isReversible
- setReversible
- isBidirectional
- setBidirectional
- getDirection
- setDirection
- changeDirection
- isChangingDirection
- onDirectionChanged
- getLineColor
- getLineTexture
- setLineColor
- getWidth
- setWidth
- getLineWidth
- setLineWidth
- addSegment
- getSegmentCount
- getSegment
- iterator
- length
- length
- getStartPoint
- getStartPoint
- getEndPoint
- getEndPoint
- getStartPosition
- getStartPosition
- getEndPosition
- getEndPosition
- contains
- containsSq
- getNearestPoint
- randomPointInside
- getPosition
- getPosition
- getPositionAtOffset
- getPositionAtOffset
- toString
- getType
- setType
- isAccumulating
- isStopped
- stop
- run
- getMaxSpeed
- setMaxSpeed
- getInitialSpeed
- setInitialSpeed
- getCurrentSpeed
- getCurrentAcceleration
- getAcceleration
- setAcceleration
- getDeceleration
- getCellSize
- setCellSize
- setDeceleration
- getGap
- setGap
- size
- getAgent
- getAgents
- getAgent
- getAgents
- removeAgent
- contains
- onLeadingEdgeEnter
- onTrailingEdgeEnter
- onLeadingEdgeExit
- onTrailingEdgeExit
- onStarted
- onStopped
- isFailed
- fail
- repair
- onMotionChanged
- isMaximumPriority
- setMaximumPriority
- priority
- getBoundingRectangle
- updateDynamicProperties
- isObstacle
- setObstacle
- validate
- getDowntimeBlocks
- setDowntimeBlocks
- restartMaintenanceTriggers
- startMaintenanceManually
- stopMaintenanceManually
- isMaintenanceActive
- createPort
- createPort
- java.lang.Object
- com.anylogic.engine.markup.AbstractMarkup
- com.anylogic.engine.markup.MarkupShape
- com.anylogic.engine.markup.ConveyorMarkupElement<T>
- com.anylogic.engine.markup.ConveyorPath<T>
- All Implemented Interfaces:
IMaintenanceable
,AggregatableAnimationElement
,AnimationMovingLocationProvider
,AnimationStaticLocationProvider
,HasLevel
,IMaintenanceableMarkup
,IMarkupLibraryDescriptor
,INetworkMarkupElement
,IPath<ConveyorNode<?>>
,com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T>
,com.anylogic.engine.markup.material_handling.IMaterialAreaLocation<T>
,com.anylogic.engine.markup.material_handling.IMaterialFallible
,com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
,com.anylogic.engine.markup.material_handling.IMaterialPointLocation<T>
,SVGElement
,Serializable
,Iterable<MarkupSegment>
public class ConveyorPath<T extends Agent> extends ConveyorMarkupElement<T> implements IPath<ConveyorNode<?>>, Iterable<MarkupSegment>, IMaintenanceableMarkup, com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T>
Several conveyors can be connected together. Altogether they compose a conveyor network. In the conveyor network, movement is always performed along the shortest conveyor between the origin and the destination nodes.
Conveyor starts with the defined initial speed and accelerates to the defined maximum speed, keeping it until stops.
Unlike many other space markup elements that just define the element's location and size graphically, the conveyor element also provides users with a set of actions, which are used to define additional agent behavior.
Conveyor types
By default the roller conveyor is used, but if required you can set it to be of any available type:
- Roller - It is an accumulating type of a conveyor. If an agent is stopped on it, the rollers will keep on rolling, bringing all the preceding material items to the stopped one, thus forming a line of agents. The Gap parameter defines how close the material items can be pushed to each other. If the Gap is set to 0, collisions are inevitable.
- Belt - It is not an accumulating type of a conveyor. If an agent is stopped, the whole conveyor stops to prevent collision of material items. The distance between the items is defined by the Gap parameter.
- Fixed cell - It is not an accumulating type of a conveyor. The conveyor is a succession of cells of specified size. Agents are placed in the center of the conveyor cell. One conveyor cell can contain only one material item. The Gap parameter defines the distance between the conveyor cells. If an agent is stopped, the whole conveyor stops.
- See Also:
- Serialized Form
Constructor | Description |
---|---|
ConveyorPath() | |
ConveyorPath |
Deprecated.
deprecated in version 8.4, will be removed in the future releases
|
ConveyorPath |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. It is public due to technical reasons. |
ConveyorPath |
Deprecated.
deprecated in version 8.4, will be removed in the future releases
|
Modifier and Type | Method | Description |
---|---|---|
void | addSegment |
Adds segment to this markup element
|
void | changeDirection() |
Changes current direction of this conveyor to the opposite
|
boolean | contains |
Test if the shape contains the point with the given coordinates (relative
to this shape's container, i.e.
|
boolean | contains | |
boolean | containsSq | |
default NetworkPort | createPort | |
default NetworkPort | createPort | |
NetworkPort | createPort |
Creates and returns a Network Port located on specified conveyor's end
|
NetworkPort | createPort |
Creates and returns a Network Port located on specified conveyor's end and pairs created port with specified one
|
NetworkPort | createPortInternal | |
void | fail() |
Initiates conveyor failure.
|
double | getAcceleration |
Returns the acceleration of the conveyor in the specified acceleration units.
|
T | getAgent | |
T | getAgent |
Returns the agent at a given position (counted from 0, from the exit).
|
List<T> | getAgents() |
Returns the list of agents (material items) that are currently conveyed
|
List<T> | getAgents | |
BoundingRectangle | getBoundingRectangle() | |
double | getCellSize | |
double | getCurrentAcceleration | |
double | getCurrentSpeed |
Returns the current speed of the conveyor in the specified speed units.
|
double | getDeceleration |
Returns the deceleration of the conveyor in the specified acceleration units.
|
ConveyorDirection | getDirection() |
Returns the direction of this conveyor
|
IDowntime<?>[] | getDowntimeBlocks() | |
Point | getEndPoint() |
Returns the location of the end point
|
Point | getEndPoint |
Returns the location of the end point
|
Position | getEndPosition() |
Returns the end position
|
Position | getEndPosition |
Returns the end position
|
double | getGap |
Returns the minimum required gap between material items of this conveyor (in the specified length units).
|
double | getInitialSpeed |
Returns the initial speed of the conveyor in the specified speed units.
|
com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T> | getLibraryDescriptor() | |
Color | getLineColor() |
Returns the line color of the markup element, or
null if markup element has no line color or
has textured line (in this case IPath.getLineTexture() should be used instead) |
Texture | getLineTexture() |
Returns the line texture of the markup element, if the markup element has line texture
|
double | getLineWidth() |
This method is internal and shouldn't be called by user.
it may be removed in future. |
double | getMaxSpeed |
Returns the maximum speed of the conveyor in the specified speed units.
|
double | getNearestPoint |
Calculates (using the
output object) the point in this space markup element
nearest to the given point. |
ConveyorNode<?> | getOtherNode |
Returns the second (other) node of the conveyor.
|
Position | getPosition |
Returns position with offset corresponding to the given
value ,
assuming that 0 is start and maxValue is end |
Position | getPosition |
Returns the item position with the given index.
In case of any wrong argument returns zero-index position (position for index=0 with totalNumber=1). |
Position | getPositionAtOffset |
Returns the point (+rotations) located on the markup element with the given
offset
distance calculated from start point. |
Position | getPositionAtOffset |
Returns the point (+rotations) located on the markup element with the given
offset
distance calculated from start point. |
List<PositionOnConveyor<T>> | getPositionsOnConveyor() |
Returns the list of all PositionOnConveyor elements on this conveyor
|
MarkupSegment | getSegment |
Returns the segment by its index
|
int | getSegmentCount() |
Returns the number of segments
|
ConveyorNode<?> | getSource() |
Returns the source node of the conveyor.
|
List<ConveyorSpur<T>> | getSplitMerges() |
Deprecated.
will be removed in the next release.
|
List<ConveyorSpur<T>> | getSpurs() |
Returns the list of conveyor spur elements of this conveyor.
|
double | getStandsLevel() |
Returns the base level Z-level to draw conveyor stands from.
|
Point | getStartPoint() |
Returns the location of the start point
|
Point | getStartPoint |
Returns the location of the start point
|
Position | getStartPosition() |
Returns the start position
|
Position | getStartPosition |
Returns the start position
|
List<ConveyorStation<T>> | getStations() |
Returns the list of all stations of this conveyor.
|
ConveyorNode<?> | getTarget() |
Returns the target node of the conveyor.
|
ConveyorType | getType() |
Returns the type of this conveyor.
|
double | getWidth |
Returns the width of this conveyor
|
boolean | isAccumulating() |
Returns true if the conveyor can accumulate objects, false otherwise.
|
boolean | isBidirectional() |
Returns the 'bidirectional' property (
true by default). |
boolean | isChangingDirection() |
Returns true if this conveyor is in the process of changing direction, returns false otherwise
|
boolean | isDrawStands() |
Returns
true if this conveyor is drawn with stands |
boolean | isFailed() |
Returns true if the conveyor is currently failed, returns false otherwise.
|
boolean | isMaintenanceActive | |
boolean | isMaximumPriority() |
Returns true if the conveyor has the greatest priority.
|
boolean | isObstacle() |
Returns true if this conveyor is considered an obstacle by transporters moving in free space mode.
|
boolean | isReversible() |
Returns the 'reversible' property (
false by default). |
boolean | isStopped() |
Returns true if the conveyor is currently stopped, false otherwise.
|
Iterator<MarkupSegment> | iterator() |
Creates and returns read-only iterator over segments
|
double | length() |
Returns the length of markup element, used e.g.
|
double | length |
Returns the length of markup element, used e.g.
|
void | onDirectionChanged | |
void | onLeadingEdgeEnter |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. It is public due to technical reasons. Callback action. |
void | onLeadingEdgeExit |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. It is public due to technical reasons. Callback action. |
void | onMotionChanged() | |
void | onStarted() | |
void | onStopped() | |
void | onTrailingEdgeEnter |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. It is public due to technical reasons. Callback action. |
void | onTrailingEdgeExit |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. It is public due to technical reasons. Callback action. |
double | priority | |
Point | randomPointInside |
Returns the randomly chosen point inside/along the given space markup element.
|
boolean | removeAgent |
Removes the given agent from the conveyor.
|
void | repair() |
Repairs conveyor, makes it available again.
|
void | restartMaintenanceTriggers | |
void | run() |
Launches the conveyor.
|
void | setAcceleration |
Sets the new acceleration for the conveyor in the specified acceleration units.
|
void | setBidirectional |
Sets the 'bidirectional' property (
true by default). |
void | setCellSize | |
void | setDeceleration |
Sets the new deceleration for the conveyor in the specified acceleration units.
|
void | setDirection |
Sets the direction of this conveyor.
|
void | setDowntimeBlocks | |
void | setDrawStands |
Sets to draw stands for conveyor or not
|
void | setGap | |
void | setInitialSpeed | |
void | setLineColor |
Sets the line color (or
Texture ) of the markup element. |
void | setLineWidth |
This method is internal and shouldn't be called by user.
it may be removed in future. |
void | setMaximumPriority | |
void | setMaxSpeed |
Sets the new maximum speed of the conveyor in the specified speed units.
|
void | setObstacle |
Sets this conveyor as an obstacle for transporters moving in free space mode.
|
void | setReversible |
Sets the 'reversible' property (
true by default). |
void | setSource |
Sets source node of this path.
|
void | setStandsLevel |
Set the base Z-level to draw conveyor stands from.
|
void | setTarget |
Sets source node of this path.
|
void | setType |
Sets the type of this conveyor.
|
void | setWidth |
Sets the width of this conveyor
|
int | size() |
Returns the number of agents currently being conveyed.
|
void | startMaintenanceManually | |
void | stop() |
Stops the conveyor.
|
void | stopMaintenanceManually | |
String | toString() | |
void | updateDynamicProperties() |
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. |
void | validate() |
error, getDrawMode, getFullName, getOutsideLevelZ, getPresentable, getSpace, initialize, isClickHandled, isPublic, onClick, remove, setDrawMode, setOwner
discardOwner, executeUserAction, findSVGElement, getName, getSVGId, initializeInternal, isVisible, onAggregatorInitialized, onAggregatorVisibilityChanged, removeSVGFromOwner, resetSVGState, setVisible, updateDynamicPropertiesStructural, updateSVGProperties
Methods inherited from interface com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
getMarkup, setMarkup
public ConveyorPath()
@Deprecated public ConveyorPath(Agent owner, ShapeDrawMode drawMode, boolean isPublic)
- Parameters:
owner
-drawMode
-isPublic
-
@AnyLogicInternalAPI @Deprecated public ConveyorPath(Agent owner, ShapeDrawMode drawMode, boolean isPublic, boolean isObstacle, double widthInMeters, Paint color, boolean drawStands, double standsLevel, com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T> descriptor, MarkupSegment... segments)
@AnyLogicInternalAPI @AnyLogicInternalCodegenAPI public ConveyorPath(Agent owner, ShapeDrawMode drawMode, boolean isPublic, boolean isObstacle, double widthInMeters, Paint color, boolean drawStands, double standsLevel, com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T> descriptor, ConveyorNode<?> source, ConveyorNode<?> target, MarkupSegment... segments)
it may be removed/renamed in future. It is public due to technical reasons.
@AnyLogicInternalAPI public com.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T> getLibraryDescriptor()
public List<PositionOnConveyor<T>> getPositionsOnConveyor()
- Returns:
- the list of all PositionOnConveyor elements on this conveyor
public List<ConveyorStation<T>> getStations()
- Returns:
- the list of all stations of this conveyor.
public List<ConveyorSpur<T>> getSpurs()
- Returns:
- the list of conveyor spur elements of this conveyor.
@Deprecated public List<ConveyorSpur<T>> getSplitMerges()
getSpurs()
instead@AnyLogicInternalAPI public NetworkPort createPortInternal(PathEndType endType)
public NetworkPort createPort(PathEndType endType)
- Parameters:
endType
- determines the port's location- Returns:
- new network port
public NetworkPort createPort(PathEndType endType, NetworkPort pairedPort)
- Parameters:
endType
- determines the port's locationpairedPort
- another port to be paired with the new one. May be a port, located on another conveyor or a lift port or a conveyor spur. Should not benull
- Returns:
- new network port
public ConveyorNode<?> getSource()
public void setSource(ConveyorNode<?> node)
IPath
initialize()
method.public ConveyorNode<?> getTarget()
public void setTarget(ConveyorNode<?> node)
IPath
initialize()
method.public ConveyorNode<?> getOtherNode(ConveyorNode<?> n)
- Specified by:
getOtherNode
in interfaceIPath<T extends Agent>
- Parameters:
n
- the node (one of the path endings)- Returns:
- the second (other) node of the conveyor.
public void setDrawStands(boolean drawStands)
- Parameters:
drawStands
-true
to draw stands- See Also:
-
setStandsLevel(double)
public boolean isDrawStands()
true
if this conveyor is drawn with stands- See Also:
-
getStandsLevel()
public void setStandsLevel(double standsLevel)
- Parameters:
standsLevel
- the base level.
public double getStandsLevel()
- See Also:
-
isDrawStands()
public boolean isReversible()
false
by default).public void setReversible(boolean reversible)
true
by default).- Specified by:
setReversible
in interfacecom.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T extends Agent>
- Parameters:
reversible
-true
for conveyors which allow movements in both directions,false
for conveyors which allow movements from source to target only- See Also:
-
isReversible()
@AnyLogicInternalAPI public boolean isBidirectional()
IPath
true
by default).- Specified by:
isBidirectional
in interfaceIPath<T extends Agent>
- Returns:
true
for paths which allow movements in both directions,false
for paths which allow movements from source to target only
@AnyLogicInternalAPI public void setBidirectional(boolean bidirectional)
IPath
true
by default).- Specified by:
setBidirectional
in interfaceIPath<T extends Agent>
- Parameters:
bidirectional
-true
for paths which allow movements in both directions,false
for paths which allow movements from source to target only- See Also:
-
IPath.isBidirectional()
public ConveyorDirection getDirection()
Valid values are:
- CONVEYOR_FORWARD
- CONVEYOR_BACKWARD
public void setDirection(ConveyorDirection direction)
Valid values are:
- CONVEYOR_FORWARD
- CONVEYOR_BACKWARD
public void changeDirection()
public boolean isChangingDirection()
public void onDirectionChanged(List<T> agents)
public Color getLineColor()
IPath
null
if markup element has no line color or
has textured line (in this case IPath.getLineTexture()
should be used instead)- Specified by:
getLineColor
in interfaceIPath<T extends Agent>
- Returns:
- the line color of the markup element
public Texture getLineTexture()
IPath
- Specified by:
getLineTexture
in interfaceIPath<T extends Agent>
- Returns:
- the line texture of the markup element
public void setLineColor(Paint lineColor)
IPath
Texture
) of the markup element.- Specified by:
setLineColor
in interfaceIPath<T extends Agent>
- Parameters:
lineColor
- the new line color, null = do not draw the markup element line
public double getWidth(LengthUnits units)
- Parameters:
units
- length units- Returns:
- the width of this conveyor
public void setWidth(double width, LengthUnits units)
- Parameters:
width
- widthunits
- length units
@AnyLogicInternalAPI public double getLineWidth()
it may be removed in future.
- Specified by:
getLineWidth
in interfaceIPath<T extends Agent>
- Returns:
- the line width of the markup element
@AnyLogicInternalAPI public void setLineWidth(double widthInPixels)
it may be removed in future.
- Specified by:
setLineWidth
in interfaceIPath<T extends Agent>
- Parameters:
widthInPixels
- the new line width of the markup element
public void addSegment(MarkupSegment segment)
- Parameters:
segment
- the segment, should be initialized if was created using no-argument constructor
public int getSegmentCount()
IPath
- Specified by:
getSegmentCount
in interfaceIPath<T extends Agent>
- Returns:
- the number of segments
public MarkupSegment getSegment(int index)
IPath
- Specified by:
getSegment
in interfaceIPath<T extends Agent>
- Parameters:
index
- the segment index, [0 ..IPath.getSegmentCount()
- 1]- Returns:
- the segment
public Iterator<MarkupSegment> iterator()
public double length()
AnimationMovingLocationProvider
- Specified by:
length
in interfaceAnimationMovingLocationProvider
- Returns:
- the length of markup element
public double length(LengthUnits units)
AnimationMovingLocationProvider
- Specified by:
length
in interfaceAnimationMovingLocationProvider
- Returns:
- the length of markup element
public Point getStartPoint()
IPath
- Specified by:
getStartPoint
in interfaceIPath<T extends Agent>
- Returns:
- the Point object with coordinates of the first point
public Point getStartPoint(Point out)
IPath
- Specified by:
getStartPoint
in interfaceIPath<T extends Agent>
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Point object with coordinates of the first point
public Point getEndPoint()
IPath
- Specified by:
getEndPoint
in interfaceIPath<T extends Agent>
- Returns:
- the Point object with coordinates of the last point
public Point getEndPoint(Point out)
IPath
- Specified by:
getEndPoint
in interfaceIPath<T extends Agent>
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Point object with coordinates of the last point
public Position getStartPosition()
- Returns:
- the Position object with coordinates of the first position
public Position getStartPosition(Position out)
IPath
- Specified by:
getStartPosition
in interfaceIPath<T extends Agent>
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the first position
public Position getEndPosition()
- Returns:
- the Position object with coordinates of the last position
public Position getEndPosition(Position out)
IPath
- Specified by:
getEndPosition
in interfaceIPath<T extends Agent>
- Parameters:
out
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the last position
public boolean contains(double px, double py)
MarkupShape
- Specified by:
contains
in interfaceINetworkMarkupElement
- Specified by:
contains
in classMarkupShape
- Parameters:
px
- the x coordinate relative to this shape's containerpy
- the y coordinate relative to this shape's container- Returns:
true
if the shape contains the point with the given coordinates
public boolean containsSq(double px, double py, double squareDistance)
public double getNearestPoint(Point givenPoint, Point out)
INetworkMarkupElement
output
object) the point in this space markup element
nearest to the given point. Returns the square of distance to the point.- Specified by:
getNearestPoint
in interfaceINetworkMarkupElement
- Parameters:
givenPoint
- given pointout
- the output point to write result to.- Returns:
- the square of distance to the nearest point
public Point randomPointInside(Random rng, Point out)
INetworkMarkupElement
- Specified by:
randomPointInside
in interfaceINetworkMarkupElement
- Parameters:
rng
- the random number generator.out
- output object to write to, may benull
- Returns:
- the randomly chosen point
public Position getPosition(double value, double maxValue, Position out)
AnimationMovingLocationProvider
value
,
assuming that 0
is start and maxValue
is end- Specified by:
getPosition
in interfaceAnimationMovingLocationProvider
- Returns:
- position by offset
public Position getPosition(int index, int totalNumber, Position out)
AnimationStaticLocationProvider
In case of any wrong argument returns zero-index position (position for index=0 with totalNumber=1).
- Specified by:
getPosition
in interfaceAnimationStaticLocationProvider
- Parameters:
index
- the index of some item positions, should be not negative and less thantotalNumber
totalNumber
- the total number of item positions, should be positiveout
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the requested item position
public Position getPositionAtOffset(double offset, Position out)
IPath
offset
distance calculated from start point.- Specified by:
getPositionAtOffset
in interfaceIPath<T extends Agent>
- Parameters:
offset
- offset, non-negative value, should be less or equal to the full length.out
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the point with the given offset and orientation along markup element line at this point
public Position getPositionAtOffset(double offset, LengthUnits units, Position out)
IPath
offset
distance calculated from start point.- Specified by:
getPositionAtOffset
in interfaceIPath<T extends Agent>
- Parameters:
offset
- offset, non-negative value, should be less or equal to the full length.units
- the length unitsout
- output object to write to, may benull
- Returns:
- the Position object with coordinates of the point with the given offset and orientation along markup element line at this point
public String toString()
public ConveyorType getType()
Valid values are:
- CONVEYOR_TYPE_ROLLER
- CONVEYOR_TYPE_BELT
- CONVEYOR_TYPE_CELL
public void setType(ConveyorType type)
Valid values are:
- CONVEYOR_TYPE_ROLLER
- CONVEYOR_TYPE_BELT
- CONVEYOR_TYPE_CELL
public boolean isAccumulating()
- Returns:
- true if the conveyor can accumulate objects, false otherwise.
public boolean isStopped()
public void stop()
public void run()
public double getMaxSpeed(SpeedUnits units)
public void setMaxSpeed(double maxSpeed, SpeedUnits units)
public double getInitialSpeed(SpeedUnits units)
public void setInitialSpeed(double initialSpeed, SpeedUnits units)
public double getCurrentSpeed(SpeedUnits units)
public double getCurrentAcceleration(AccelerationUnits units)
public double getAcceleration(AccelerationUnits units)
public void setAcceleration(double acceleration, AccelerationUnits units)
public double getDeceleration(AccelerationUnits units)
public double getCellSize(LengthUnits units)
public void setCellSize(double size, LengthUnits units)
public void setDeceleration(double deceleration, AccelerationUnits units)
public double getGap(LengthUnits units)
public void setGap(double gapBetweenItems, LengthUnits units)
public int size()
public T getAgent(int index)
public List<T> getAgents()
public T getAgent(double offset, LengthUnits units)
public List<T> getAgents(double offset, double length, LengthUnits units)
public boolean removeAgent(Agent agent)
public boolean contains(Agent agent)
public void onLeadingEdgeEnter(T agent)
com.anylogic.engine.markup.material_handling.IMaterialPointLocation
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onTrailingEdgeEnter(T agent)
com.anylogic.engine.markup.material_handling.IMaterialAreaLocation
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onLeadingEdgeExit(T agent)
com.anylogic.engine.markup.material_handling.IMaterialAreaLocation
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onTrailingEdgeExit(T agent)
com.anylogic.engine.markup.material_handling.IMaterialPointLocation
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onStarted()
public void onStopped()
public boolean isFailed()
- Specified by:
isFailed
in interfacecom.anylogic.engine.markup.material_handling.IMaterialFallible
- Returns:
- true if the conveyor is currently failed, returns false otherwise.
public void fail()
- Specified by:
fail
in interfacecom.anylogic.engine.markup.material_handling.IMaterialFallible
public void repair()
- Specified by:
repair
in interfacecom.anylogic.engine.markup.material_handling.IMaterialFallible
@AnyLogicInternalAPI public void onMotionChanged()
public boolean isMaximumPriority()
public void setMaximumPriority(boolean maximumPriority)
public double priority(T agent)
@AnyLogicInternalAPI public BoundingRectangle getBoundingRectangle()
@AnyLogicInternalCodegenAPI public void updateDynamicProperties()
AbstractMarkup
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 classAbstractMarkup
public boolean isObstacle()
- Returns:
- a flag that tells whether this conveyor is an obstacle or not
public void setObstacle(boolean isObstacle)
- Parameters:
isObstacle
- if true, the conveyor is set as an obstacle. Otherwise, not.
@AnyLogicInternalAPI public void validate()
public IDowntime<?>[] getDowntimeBlocks()
- Specified by:
getDowntimeBlocks
in interfaceIMaintenanceableMarkup
public void setDowntimeBlocks(IDowntime<?>[] downtimeBlocks)
@AnyLogicInternalAPI public void restartMaintenanceTriggers(IDowntime<?> block)
- Specified by:
restartMaintenanceTriggers
in interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public void startMaintenanceManually(IDowntime<?> block)
- Specified by:
startMaintenanceManually
in interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public void stopMaintenanceManually(IDowntime<?> block)
- Specified by:
stopMaintenanceManually
in interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public boolean isMaintenanceActive(IDowntime<?> block)
- Specified by:
isMaintenanceActive
in interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI default NetworkPort createPort(IPath<?> path, PathEndType endType)
@AnyLogicInternalAPI default NetworkPort createPort(IPath<?> path, PathEndType endType, NetworkPort pairedPort)