diff --git a/data/RobotAPI/VariantInfo-RobotAPI.xml b/data/RobotAPI/VariantInfo-RobotAPI.xml index 160c1d04bb4f93f0d84c5859b97d1432513d6b31..0fb95ad0cf6503f17f9a51877444e78bd8288bf5 100644 --- a/data/RobotAPI/VariantInfo-RobotAPI.xml +++ b/data/RobotAPI/VariantInfo-RobotAPI.xml @@ -115,6 +115,12 @@ <onConnect>// initialize remote robot</onConnect> <onConnect>remoteRobot.reset(new RemoteRobot(robotStateComponent->getSynchronizedRobot()));</onConnect> <stateMethod header="const VirtualRobot::RobotPtr getRobot() const">return %getContext%->getRobot();</stateMethod> + + <method header="const VirtualRobot::RobotPtr getLocalRobot() const">return localRobot;</method> + <member>VirtualRobot::RobotPtr localRobot;</member> + <onConnect>// initialize local robot</onConnect> + <onConnect>localRobot = RemoteRobot::createLocalCloneFromFile(robotStateComponent, VirtualRobot::RobotIO::eStructure);</onConnect> + <stateMethod header="const VirtualRobot::RobotPtr getLocalRobot() const">return %getContext%->getLocalRobot();</stateMethod> </Proxy> <Proxy include="RobotAPI/interface/components/ViewSelectionInterface.h" humanName="Automatic View Selection" diff --git a/source/RobotAPI/components/ViewSelection/ViewSelection.cpp b/source/RobotAPI/components/ViewSelection/ViewSelection.cpp index 4cfaeae09ffdcb9fa4a806bab1b022c62b7981e1..c1d61f14b218c3a06a0e4fd9fbe54dead4cacbcc 100644 --- a/source/RobotAPI/components/ViewSelection/ViewSelection.cpp +++ b/source/RobotAPI/components/ViewSelection/ViewSelection.cpp @@ -196,7 +196,7 @@ ViewTargetBasePtr ViewSelection::nextAutomaticViewTarget() } - syncMutex.unlock(); + lock.unlock(); ARMARX_DEBUG << "Highest saliency: " << maxSaliency;