AuboCaps  0.6.0
arcs::aubo_scope::ProgramNodeFactory Class Reference

#include <program_node_factory.h>

Public Member Functions

 ProgramNodeFactory (ProgramNodeFactory &f)
 
 ProgramNodeFactory (ProgramNodeFactory &&f)
 
virtual ~ProgramNodeFactory ()
 
ProgramNodePtr createUserProgramNode (const char *typeid_service)
 This method creates a AuboCap program node which is an instance of a contribution/ProgramNodeContribution. More...
 
MoveNodePtr createMoveNode ()
 Creates a default Move node with one default Waypoint node under it. More...
 
MoveNodePtr createMoveNodeNoTemplate ()
 
WaypointNodePtr createWaypointNode ()
 Creates a Waypoint node with default waypoint name (corresponds to the name generated if the end user added a new node manually). More...
 
WaypointNodePtr createWaypointNode (const std::string &suggested_name)
 
UntilNodePtr createUntilNode ()
 Creates an Until Node with no until type specified. More...
 
DirectionNodePtr createDirectionNode ()
 
WaitNodePtr createWaitNode ()
 
SetNodePtr createSetNode ()
 
SetPayloadNodePtr createSetPayloadNode ()
 
PopupNodePtr createPopupNode ()
 
HaltNodePtr createHaltNode ()
 
CommentNodePtr createCommentNode ()
 
FolderNodePtr createFolderNode ()
 
LoopNodePtr createLoopNode ()
 
AssignmentNodePtr createAssignmentNode ()
 
IfNodePtr createIfNode ()
 
ElseIfNodePtr createElseIfNode ()
 
ElseNodePtr createElseNode ()
 
CircleMoveNodePtr createCircleMoveNode ()
 
PalletNodePtr createPalletNode ()
 
SeekNodePtr createSeekNode ()
 
ForceNodePtr createForceNode ()
 
ScrewdrivingNodePtr createScrewdrivingNode ()
 
ScriptNodePtr createScriptNode ()
 
TimerNodePtr createTimerNode ()
 
SwitchNodePtr createSwitchNode ()
 
CaseNodePtr createCaseNode ()
 
DefaultCaseNodePtr createDefaultCaseNode ()
 
BreakNodePtr createBreakNode ()
 
SubProgNodePtr createSubProgNode ()
 
CallNodePtr createCallNode ()
 
OfflineTrackNodePtr createOfflineTrackNode ()
 
RecordTrackNodePtr createRecordTrackNode ()
 
ThreadNodePtr createThreadNode ()
 
ProgramHomeNodePtr createProgramHomeNode ()
 
GripperNodePtr createGripperNode (GripperDevicePtr gripperDevice)
 

Private Member Functions

 ProgramNodeFactory ()
 

Private Attributes

void * d_ { nullptr }
 

Friends

class DataSwitch
 

Detailed Description

This interfaces supplies methods to create different types of program nodes.

Both built-in program nodes (provided by Universal Robots) and AuboCap 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 AuboScope versions.

Definition at line 59 of file program_node_factory.h.

Constructor & Destructor Documentation

arcs::aubo_scope::ProgramNodeFactory::ProgramNodeFactory ( ProgramNodeFactory f)
arcs::aubo_scope::ProgramNodeFactory::ProgramNodeFactory ( ProgramNodeFactory &&  f)
virtual arcs::aubo_scope::ProgramNodeFactory::~ProgramNodeFactory ( )
virtual
arcs::aubo_scope::ProgramNodeFactory::ProgramNodeFactory ( )
private

Member Function Documentation

AssignmentNodePtr arcs::aubo_scope::ProgramNodeFactory::createAssignmentNode ( )
BreakNodePtr arcs::aubo_scope::ProgramNodeFactory::createBreakNode ( )
CallNodePtr arcs::aubo_scope::ProgramNodeFactory::createCallNode ( )
CaseNodePtr arcs::aubo_scope::ProgramNodeFactory::createCaseNode ( )
CircleMoveNodePtr arcs::aubo_scope::ProgramNodeFactory::createCircleMoveNode ( )
CommentNodePtr arcs::aubo_scope::ProgramNodeFactory::createCommentNode ( )
DefaultCaseNodePtr arcs::aubo_scope::ProgramNodeFactory::createDefaultCaseNode ( )
DirectionNodePtr arcs::aubo_scope::ProgramNodeFactory::createDirectionNode ( )
ElseIfNodePtr arcs::aubo_scope::ProgramNodeFactory::createElseIfNode ( )
ElseNodePtr arcs::aubo_scope::ProgramNodeFactory::createElseNode ( )
FolderNodePtr arcs::aubo_scope::ProgramNodeFactory::createFolderNode ( )
ForceNodePtr arcs::aubo_scope::ProgramNodeFactory::createForceNode ( )
GripperNodePtr arcs::aubo_scope::ProgramNodeFactory::createGripperNode ( GripperDevicePtr  gripperDevice)

This method creates a new Gripper program node. This node type can be used for programming grip and release actions with a selected gripper device.

The program node will be created with the same default configuration as if the end user added the node manually in AuboScope, i.e. an undefined configuration where the gripper action is unselected.

Parameters
gripperDevicethe gripper device to create a Gripper node for, not null. The created Gripper node will program gripper actions for this device.
Returns
a new Gripper program node (which can be inserted into the program tree using the TreeNode interface).
Exceptions
UnresolvedDeviceExceptionwhen the specified gripperDevice device is unresolved. See GripperDevice#isResolvable().
HaltNodePtr arcs::aubo_scope::ProgramNodeFactory::createHaltNode ( )
IfNodePtr arcs::aubo_scope::ProgramNodeFactory::createIfNode ( )
LoopNodePtr arcs::aubo_scope::ProgramNodeFactory::createLoopNode ( )
MoveNodePtr arcs::aubo_scope::ProgramNodeFactory::createMoveNode ( )

Creates a default Move node with one default Waypoint node under it.

Returns
new Move Node.
MoveNodePtr arcs::aubo_scope::ProgramNodeFactory::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.

Returns
new Move Node.
OfflineTrackNodePtr arcs::aubo_scope::ProgramNodeFactory::createOfflineTrackNode ( )
PalletNodePtr arcs::aubo_scope::ProgramNodeFactory::createPalletNode ( )
PopupNodePtr arcs::aubo_scope::ProgramNodeFactory::createPopupNode ( )
ProgramHomeNodePtr arcs::aubo_scope::ProgramNodeFactory::createProgramHomeNode ( )
RecordTrackNodePtr arcs::aubo_scope::ProgramNodeFactory::createRecordTrackNode ( )
ScrewdrivingNodePtr arcs::aubo_scope::ProgramNodeFactory::createScrewdrivingNode ( )
ScriptNodePtr arcs::aubo_scope::ProgramNodeFactory::createScriptNode ( )
SeekNodePtr arcs::aubo_scope::ProgramNodeFactory::createSeekNode ( )
SetNodePtr arcs::aubo_scope::ProgramNodeFactory::createSetNode ( )
SetPayloadNodePtr arcs::aubo_scope::ProgramNodeFactory::createSetPayloadNode ( )
SubProgNodePtr arcs::aubo_scope::ProgramNodeFactory::createSubProgNode ( )
SwitchNodePtr arcs::aubo_scope::ProgramNodeFactory::createSwitchNode ( )
ThreadNodePtr arcs::aubo_scope::ProgramNodeFactory::createThreadNode ( )
TimerNodePtr arcs::aubo_scope::ProgramNodeFactory::createTimerNode ( )
UntilNodePtr arcs::aubo_scope::ProgramNodeFactory::createUntilNode ( )

Creates an Until Node with no until type specified.

Returns
a new Until Node.
ProgramNodePtr arcs::aubo_scope::ProgramNodeFactory::createUserProgramNode ( const char *  typeid_service)

This method creates a AuboCap program node which is an instance of a contribution/ProgramNodeContribution.

Parameters
typeid_serviceis the service creating the program node contribution/
Returns
the ProgramNode which represents the contribution/ProgramNodeContribution created by ProgramNodeService. Returns null if AuboCap providing ProgramNodeService is not installed.
Exceptions
IllegalArgumentExceptionif the argument ProgramNodeService is nullor ProgramNodeService does not implement ProgramNodeService.
WaitNodePtr arcs::aubo_scope::ProgramNodeFactory::createWaitNode ( )
WaypointNodePtr arcs::aubo_scope::ProgramNodeFactory::createWaypointNode ( )

Creates a Waypoint node with default waypoint name (corresponds to the name generated if the end user added a new node manually).

Returns
new Waypoint Node.
WaypointNodePtr arcs::aubo_scope::ProgramNodeFactory::createWaypointNode ( const std::string &  suggested_name)

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.

Parameters
suggested_namethe 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.
Returns
new Waypoint Node.
Exceptions
IllegalWaypointNameExceptionIn case of an illegal name.

Friends And Related Function Documentation

friend class DataSwitch
friend

Definition at line 193 of file program_node_factory.h.

Member Data Documentation

void* arcs::aubo_scope::ProgramNodeFactory::d_ { nullptr }
private

Definition at line 195 of file program_node_factory.h.


The documentation for this class was generated from the following file: