@ProviderType
public interface ProgramNodeFactory
This interfaces supplies methods to create different types of program nodes.
Both built-in program nodes (provided by Universal Robots) and URCap program nodes can be created. Most methods will create a node with the same default configuration as if the end user added the node manually.
Note that this default configuration may change between PolyScope versions.
URCapProgramNode createURCapProgramNode(Class<? extends URCapProgramNodeService> urcapProgramNodeService)
ProgramNodeContribution
.urcapProgramNodeService
- is the service creating the program node contribution.URCapProgramNode
which represents the ProgramNodeContribution
created by URCapProgramNodeService
. Returns null
if URCap providing urcapProgramNodeService is
not installed.IllegalArgumentException
- if the argument urcapProgramNodeService is null
or urcapProgramNodeService
does not implement URCapProgramNodeService
.MoveNode createMoveNode()
MoveNode createMoveNodeNoTemplate()
Creates a default Move node without a Waypoint node under it (e.g. to be used for inserting named waypoints).
Note that at least one Waypoint node must be under it for a Move node to be valid.WaypointNode createWaypointNode()
WaypointNode createWaypointNode(String suggestedName)
Creates a Waypoint node with a suggested name.
The final name can be different if the suggested name is already registered. The waypoint name is registered when it is inserted into the program tree.
Variable waypoints will use the name of the variable instead of the suggested name.suggestedName
- the suggested name of the waypoint. Valid names must match regex [a-zA-Z][a-zA-Z0-9_]{0,14}
for a total of 15 characters.IllegalWaypointNameException
- In case of an illegal name.UntilNode createUntilNode()
DirectionNode createDirectionNode()
WaitNode createWaitNode()
SetNode createSetNode()
PopupNode createPopupNode()
HaltNode createHaltNode()
CommentNode createCommentNode()
FolderNode createFolderNode()
LoopNode createLoopNode()
AssignmentNode createAssignmentNode()
IfNode createIfNode()
ElseIfNode createElseIfNode()
ElseNode createElseNode()
CircleMoveNode createCircleMoveNode()
PalletNode createPalletNode()
SeekNode createSeekNode()
ForceNode createForceNode()
@RequiredCapability(value=SCREWDRIVING) ScrewdrivingNode createScrewdrivingNode()
CapabilityNotSupportedException
- if capability is not available.
Use CapabilityManager.hasCapability(Capability)
with ProgramNodeCapability.SCREWDRIVING
to verify availability.Copyright © 2020. All rights reserved.