Package com.anylogic.engine.markup
- Field Summary
- Constructor Summary
- Method Summary
- Methods inherited from class com.anylogic.engine.markup.ConveyorPathPart
- 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.material_handling.IMaterialMarkupLibraryDescriptor
- Methods inherited from interface com.anylogic.engine.markup.INetworkMarkupElement
- Constructor Details
- Method Details
- java.lang.Object
- com.anylogic.engine.markup.AbstractMarkup
- com.anylogic.engine.markup.MarkupShape
- com.anylogic.engine.markup.ConveyorMarkupElement<T>
- com.anylogic.engine.markup.ConveyorPathPart<T>
- com.anylogic.engine.markup.PositionOnConveyor<T>
- All Implemented Interfaces:
AggregatableAnimationElement
,HasLevel
,IMarkupLibraryDescriptor
,INetworkMarkupElement
,com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
,com.anylogic.engine.markup.material_handling.IMaterialPointLocation<T>
,com.anylogic.engine.markup.material_handling.IPositionOnConveyorDescriptor<T>
,SVGElement
,UsdElement
,Serializable
public class PositionOnConveyor<T extends Agent> extends ConveyorPathPart<T> implements com.anylogic.engine.markup.material_handling.IPositionOnConveyorDescriptor<T>
Position on conveyor is the graphical element that is used to define the exact position on the conveyor.
It can be used to:
- Define the location where new material items will be placed on the conveyor (by the Convey and ConveyorEnter blocks). Note that both blocks place the leading edge of the added material item at the Position on conveyor location.
- Set the destination point for the material items being transported by conveyor(s) (in the Convey block).
- Simulate photo-eyes, scanners and other devices that perform some instant actions with the conveyed material items. To model the operation, use the callbacks actions in the element's Actions properties section. If the operation requires some time, use station instead.
- Model different types of stops and escapement devices (e.g. blade stop, claw stop, pneumatic escapements). You can simulate the conveyor blocking and unblocking operations by calling the element's block() and unblock() functions.
- See Also:
- Serialized Form
Constructor | Description |
---|---|
PositionOnConveyor | |
PositionOnConveyor |
Constructor
|
PositionOnConveyor |
Deprecated.
deprecated in version 8.4, will be removed in the future releases
|
Modifier and Type | Method | Description |
---|---|---|
void | block() |
Blocks the conveyor movement.
|
boolean | contains |
Test if the shape contains the point with the given coordinates (relative
to this shape's container, i.e.
|
boolean | contains |
Returns true if the given agent (material item) is currenty located at the position on conveyor, returns false otherwise.
|
T | getAgent() |
Returns the agent (material item) that is currenty located at the position on conveyor, returns null if none.
|
com.anylogic.engine.markup.material_handling.IPositionOnConveyorDescriptor<T> | getLibraryDescriptor() | |
double | getNearestPoint |
Calculates (using the
output object) the point in this space markup element
nearest to the given point. |
boolean | isBlocked() |
Returns true if this Position on conveyor element is currently set to block the conveyor movement., returns false otherwise.
|
void | onCellEnter() |
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 | onCellExit() |
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 | 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 | 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. |
Point | randomPointInside |
Returns the randomly chosen point inside/along the given space markup element.
|
T | removeAgent() |
Removes the agent from the conveyor.
|
void | unblock() |
Unblocks the conveyor movement.
|
error, getDrawMode, getFullName, getOutsideLevelZ, getPresentable, getSpace, initialize, isClickHandled, isPublic, onClick, remove, setDrawMode, setOwner
discardOwner, executeUserAction, findSVGElement, getName, getOrGenerateUSDId, getSVGId, initializeInternal, isVisible, onAggregatorInitialized, onAggregatorVisibilityChanged, removeSVGFromOwner, resetSVGState, setVisible, updateDynamicProperties, updateDynamicPropertiesStructural, updateSVGProperties
Methods inherited from interface com.anylogic.engine.markup.material_handling.IMaterialMarkupLibraryDescriptor
getMarkup, setMarkup
public PositionOnConveyor(ConveyorPath<? extends T> conveyor)
public PositionOnConveyor(ConveyorPath<? extends T> conveyor, double offset)
Constructor
- Parameters:
conveyor
- the conveyoroffset
- offset measured from the beginning of conveyor to this conveyor part, in pixels.
@AnyLogicInternalAPI @Deprecated public PositionOnConveyor(ConveyorPath<? extends T> conveyor, ShapeDrawMode drawMode, boolean isPublic, double offset, com.anylogic.engine.markup.material_handling.IPositionOnConveyorDescriptor<T> descriptor)
Deprecated.
deprecated in version 8.4, will be removed in the future releases
- Parameters:
conveyor
-drawMode
-isPublic
-offset
-descriptor
-
@AnyLogicInternalAPI public com.anylogic.engine.markup.material_handling.IPositionOnConveyorDescriptor<T> getLibraryDescriptor()
public double getNearestPoint(Point givenPoint, Point out)
Description copied from interface:
INetworkMarkupElement
Calculates (using the
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)
Description copied from interface:
INetworkMarkupElement
Returns the randomly chosen point inside/along the given space markup element.
This method utilises the given Random Number Generator.
- 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 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 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 isBlocked()
Returns true if this Position on conveyor element is currently set to block the conveyor movement., returns false otherwise.
public void block()
Blocks the conveyor movement.
If some material item is currenty passing this Position on conveyor element,
the conveyor will be blocked when this item will completely pass through the element.
public void unblock()
Unblocks the conveyor movement.
public T getAgent()
Returns the agent (material item) that is currenty located at the position on conveyor, returns null if none.
public boolean contains(Agent agent)
Returns true if the given agent (material item) is currenty located at the position on conveyor, returns false otherwise.
- Specified by:
contains
in interfacecom.anylogic.engine.markup.material_handling.IMaterialPointLocation<T extends Agent>
- Parameters:
agent
- - the agent (material item) to be checked for being at the Position on conveyor location.- Returns:
- true if the given agent (material item) is currenty located at the position on conveyor, returns false otherwise.
public T removeAgent()
Removes the agent from the conveyor. The agent will be removed only if it is currently located at the Position on conveyor location (the item's leading edge has reached/passed by the position and the trailing edge has not reached the position yet).
public void onLeadingEdgeEnter(T agent)
Description copied from interface:
com.anylogic.engine.markup.material_handling.IMaterialPointLocation
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.
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
public void onTrailingEdgeExit(T agent)
Description copied from interface:
com.anylogic.engine.markup.material_handling.IMaterialPointLocation
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.
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
@AnyLogicInternalCodegenAPI public void onCellEnter()
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.
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.
@AnyLogicInternalCodegenAPI public void onCellExit()
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.
it may be removed/renamed in future. It is public due to technical reasons.
Callback action.