- Field Summary
- 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
- getPositionAt2DOffset
- getOffset3D
- 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
- getUtilization
- getState
- getStatisticsStartTime
- isFailed
- fail
- repair
- onMotionChanged
- isMaximumPriority
- setMaximumPriority
- priority
- getBoundingRectangle
- updateDynamicProperties
- isObstacle
- setObstacle
- validate
- getDowntimeBlocks
- setDowntimeBlocks
- restartMaintenanceTriggers
- startMaintenanceManually
- stopMaintenanceManually
- isMaintenanceActive
- mttr
- mtbf
- mtbf
- mttr
- mttr
- mttr
- mtbf
- mtbf
- getPMLProxy
- resetStats
- getCenter
- 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,HasBoundingRectangle,HasCenterPoint,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,UsdElement,Serializable,Iterable<MarkupSegment>
public class ConveyorPath<T extends Agent> extends ConveyorMarkupElement<T> implements IPath<ConveyorNode<?>>, Iterable<MarkupSegment>, HasBoundingRectangle, HasCenterPoint, 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 | |
Position | getCenter | |
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. |
double | getOffset3D | |
ConveyorNode<?> | getOtherNode |
Returns the second (other) node of the conveyor.
|
Object | getPMLProxy() | |
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 | getPositionAt2DOffset | |
Position | getPositionAtOffset |
Returns the point (+rotations) located on the markup element with the given
offset
distance calculated from start point. |
Position | getPositionAtOffset |
Returns the position at specified offset
|
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
|
ConveyorState | getState() | |
List<ConveyorStation<T>> | getStations() |
Returns the list of all stations of this conveyor.
|
double | getStatisticsStartTime() | |
ConveyorNode<?> | getTarget() |
Returns the target node of the conveyor.
|
ConveyorType | getType() |
Returns the type of this conveyor.
|
double | getUtilization() |
Returns the conveyor utilization: the fraction of time the conveyor was busy.
|
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.
|
double | mtbf() |
Returns mean time between failures in model time units.
|
double | mtbf |
Returns mean time between failures for specified Downtime block (in model time units).
|
double | mtbf |
Returns mean time between failures for specified Downtime block (in specified time units).
|
double | mtbf |
Returns mean time between failures in specified time units.
|
double | mttr() |
Returns mean time to repair in model time units.
|
double | mttr |
Returns mean time to repair for specified Downtime block (in model time units).
|
double | mttr |
Returns mean time to repair for specified Downtime block (in specified time units).
|
double | mttr |
Returns mean time to repair in specified time units.
|
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 | resetStats() | |
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, isOnly3D, isPublic, onClick, remove, setDrawMode, setOwnerdiscardOwner, executeUserAction, findSVGElement, getGroupOrOwner, getInspect, getInspectionWindowString, getName, getOrGenerateUSDId, getSVGComponent, getSVGId, initializeInternal, isVisible, onAggregatorInitialized, onAggregatorVisibilityChanged, removeSVGFromOwner, resetSVGState, setInspect, setVisible, updateDynamicPropertiesStructural, updateSVGPropertiesMethods inherited from interface com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
getMarkup, setMarkuppublic 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)
IPathinitialize() method.public ConveyorNode<?> getTarget()
public void setTarget(ConveyorNode<?> node)
IPathinitialize() method.public ConveyorNode<?> getOtherNode(ConveyorNode<?> n)
- Specified by:
getOtherNodein 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-trueto 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:
setReversiblein interfacecom.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T extends Agent>- Parameters:
reversible-truefor conveyors which allow movements in both directions,falsefor conveyors which allow movements from source to target only- See Also:
-
isReversible()
@AnyLogicInternalAPI public boolean isBidirectional()
IPathtrue by default).- Specified by:
isBidirectionalin interfaceIPath<T extends Agent>- Returns:
truefor paths which allow movements in both directions,falsefor paths which allow movements from source to target only
@AnyLogicInternalAPI public void setBidirectional(boolean bidirectional)
IPathtrue by default).- Specified by:
setBidirectionalin interfaceIPath<T extends Agent>- Parameters:
bidirectional-truefor paths which allow movements in both directions,falsefor 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()
IPathnull if markup element has no line color or
has textured line (in this case IPath.getLineTexture() should be used instead)- Specified by:
getLineColorin interfaceIPath<T extends Agent>- Returns:
- the line color of the markup element
public Texture getLineTexture()
IPath- Specified by:
getLineTexturein interfaceIPath<T extends Agent>- Returns:
- the line texture of the markup element
public void setLineColor(Paint lineColor)
IPathTexture) of the markup element.- Specified by:
setLineColorin 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:
getLineWidthin 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:
setLineWidthin 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:
getSegmentCountin interfaceIPath<T extends Agent>- Returns:
- the number of segments
public MarkupSegment getSegment(int index)
IPath- Specified by:
getSegmentin 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:
lengthin interfaceAnimationMovingLocationProvider- Returns:
- the length of markup element
public double length(LengthUnits units)
AnimationMovingLocationProvider- Specified by:
lengthin interfaceAnimationMovingLocationProvider- Returns:
- the length of markup element
public Point getStartPoint()
IPath- Specified by:
getStartPointin interfaceIPath<T extends Agent>- Returns:
- the Point object with coordinates of the first point
public Point getStartPoint(Point out)
IPath- Specified by:
getStartPointin 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:
getEndPointin interfaceIPath<T extends Agent>- Returns:
- the Point object with coordinates of the last point
public Point getEndPoint(Point out)
IPath- Specified by:
getEndPointin 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 absolute coordinates of the first position
public Position getStartPosition(Position out)
IPath- Specified by:
getStartPositionin 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 absolute coordinates of the last position
public Position getEndPosition(Position out)
IPath- Specified by:
getEndPositionin 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:
containsin interfaceINetworkMarkupElement- Specified by:
containsin classMarkupShape- Parameters:
px- the x coordinate relative to this shape's containerpy- the y coordinate relative to this shape's container- Returns:
trueif 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)
INetworkMarkupElementoutput object) the point in this space markup element
nearest to the given point. Returns the square of distance to the point.- Specified by:
getNearestPointin 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:
randomPointInsidein 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)
AnimationMovingLocationProvidervalue,
assuming that 0 is start and maxValue is end- Specified by:
getPositionin interfaceAnimationMovingLocationProvider- Returns:
- position by offset
public Position getPosition(int index, int totalNumber, Position out)
AnimationStaticLocationProviderIn case of any wrong argument returns zero-index position (position for index=0 with totalNumber=1).
- Specified by:
getPositionin interfaceAnimationStaticLocationProvider- Parameters:
index- the index of some item positions, should be not negative and less thantotalNumbertotalNumber- 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)
- Specified by:
getPositionAtOffsetin 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 absolute coordinates of the position at the specified offset at the conveyor
public Position getPositionAt2DOffset(double offset, Position out)
public double getOffset3D(double offset2D)
public Position getPositionAtOffset(double offset, LengthUnits units, Position out)
IPathoffset
distance calculated from start point.- Specified by:
getPositionAtOffsetin 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.IMaterialPointLocationit 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.IMaterialAreaLocationit 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.IMaterialAreaLocationit 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.IMaterialPointLocationit may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onStarted()
public void onStopped()
public double getUtilization()
- Specified by:
getUtilizationin interfacecom.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T extends Agent>- Specified by:
getUtilizationin interfaceIMaintenanceableMarkup
public ConveyorState getState()
@AnyLogicInternalAPI public double getStatisticsStartTime()
public boolean isFailed()
- Specified by:
isFailedin interfaceIMaintenanceableMarkup- Specified by:
isFailedin interfacecom.anylogic.engine.markup.material_handling.IMaterialFallible- Returns:
- true if the conveyor is currently failed, returns false otherwise.
public void fail()
- Specified by:
failin interfaceIMaintenanceableMarkup- Specified by:
failin interfacecom.anylogic.engine.markup.material_handling.IMaterialFallible
public void repair()
- Specified by:
repairin interfaceIMaintenanceableMarkup- Specified by:
repairin 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()
- Specified by:
getBoundingRectanglein interfaceHasBoundingRectangle
@AnyLogicInternalCodegenAPI public void updateDynamicProperties()
AbstractMarkupMethod should be overridden for shapes with dynamic properties. Note that you should call super.updateDynamicProperties() at the end of overridden method
- Overrides:
updateDynamicPropertiesin 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:
getDowntimeBlocksin interfaceIMaintenanceableMarkup
public void setDowntimeBlocks(IDowntime<?>[] downtimeBlocks)
@AnyLogicInternalAPI public void restartMaintenanceTriggers(IDowntime<?> block)
- Specified by:
restartMaintenanceTriggersin interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public void startMaintenanceManually(IDowntime<?> block)
- Specified by:
startMaintenanceManuallyin interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public void stopMaintenanceManually(IDowntime<?> block)
- Specified by:
stopMaintenanceManuallyin interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public boolean isMaintenanceActive(IDowntime<?> block)
- Specified by:
isMaintenanceActivein interfaceIMaintenanceableMarkup
public double mttr()
- Specified by:
mttrin interfaceIMaintenanceableMarkup
public double mtbf()
- Specified by:
mtbfin interfaceIMaintenanceableMarkup
public double mtbf(TimeUnits units)
- Specified by:
mtbfin interfaceIMaintenanceableMarkup
public double mttr(TimeUnits units)
- Specified by:
mttrin interfaceIMaintenanceableMarkup
public double mttr(IDowntime<?> downtime)
- Specified by:
mttrin interfaceIMaintenanceableMarkup- Parameters:
downtime- the Downtime block
public double mttr(IDowntime<?> downtime, TimeUnits units)
- Specified by:
mttrin interfaceIMaintenanceableMarkup- Parameters:
downtime- the Downtime blockunits- seeTimeUnits
public double mtbf(IDowntime<?> downtime)
- Specified by:
mtbfin interfaceIMaintenanceableMarkup- Parameters:
downtime- the Downtime block
public double mtbf(IDowntime<?> downtime, TimeUnits units)
- Specified by:
mtbfin interfaceIMaintenanceableMarkup- Parameters:
downtime- the Downtime blockunits- seeTimeUnits
@AnyLogicInternalAPI public Object getPMLProxy()
- Specified by:
getPMLProxyin interfaceIMaintenanceableMarkup
public void resetStats()
- Specified by:
resetStatsin interfacecom.anylogic.engine.markup.material_handling.IConveyorPathDescriptor<T extends Agent>- Specified by:
resetStatsin interfaceIMaintenanceableMarkup
@AnyLogicInternalAPI public Position getCenter(Position out)
- Specified by:
getCenterin interfaceHasCenterPoint
@AnyLogicInternalAPI default NetworkPort createPort(IPath<?> path, PathEndType endType)
@AnyLogicInternalAPI default NetworkPort createPort(IPath<?> path, PathEndType endType, NetworkPort pairedPort)