44 memoryx::ChannelRefBaseSequence objectChannelRefs =
46 memoryx::ChannelRefBaseSequence markerChannelRefs =
48 ARMARX_DEBUG <<
"objectChannel available: " << objectChannelRefs.size() <<
"; "
49 <<
"markerChannel available: " << markerChannelRefs.size();
51 if (objectChannelRefs.size() == 0 || markerChannelRefs.size() == 0)
58 setOutput(
"objectInstanceChannel", objectChannelRefs.front());
59 setOutput(
"markerInstanceChannel", markerChannelRefs.front());
61 ARMARX_DEBUG <<
"SelectObjectsState::onEnter(): objectChannelRefs.front(): "
62 << objectChannelRefs.front() <<
" (to: setOutput())" <<
flush;
63 ARMARX_DEBUG <<
"SelectObjectsState::onEnter(): markerChannelRefs.front(): "
64 << markerChannelRefs.front() <<
" (to: setOutput())" <<
flush;
80 return "SelectObject";
memoryx::ObjectMemoryObserverInterfacePrx objectMemoryObserver
SelectObject(XMLStateConstructorParams stateData)
static SubClassRegistry Registry
void onEnter() override
Virtual function, in which the behaviour of state is defined, when it is entered. Can be overridden,...
static std::string GetName()
void onExit() override
Virtual function, in which the behaviour of state is defined, when it is exited. Can be overridden,...
ActionEventIdentifier waitForObject
static XMLStateFactoryBasePtr CreateInstance(XMLStateConstructorParams stateData)
ContextType * getContext() const
void removeTimeoutEvent(const ActionEventIdentifier &id)
ActionEventIdentifier setTimeoutEvent(int timeoutDurationMs, const EventPtr &evt)
Utility function to start a timer on the systemObserver and register an event on the conditionHandler...
EventPtr createEvent()
Utility function to create a new Event.
void sendEvent(const EventPtr event, StateBasePtr eventProcessor=nullptr)
Function to send an event to a specific state from an onEnter()-function. Must not be called anywhere...
void setOutput(std::string const &key, const Variant &value)
setOuput() sets an output parameter of this state.
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getInput(const std::string &key) const
getInput can be used to access a specific input parameter.
XMLStateTemplate(const XMLStateConstructorParams ¶ms)
#define ARMARX_IMPORTANT
The logging level for always important information, but expected behaviour (in contrast to ARMARX_WAR...
#define ARMARX_DEBUG
The logging level for output that is only interesting while debugging.
#define ARMARX_VERBOSE
The logging level for verbose information.
This file offers overloads of toIce() and fromIce() functions for STL container types.
const LogSender::manipulator flush
IceInternal::Handle< XMLStateFactoryBase > XMLStateFactoryBasePtr