diff --git a/source/RobotAPI/components/ArViz/ArVizStorage.h b/source/RobotAPI/components/ArViz/ArVizStorage.h index 0afaed33a07d95b74c2325e6fd7dfa64e018938b..08b7d20ff5440d018e2c39604ab00dd7b4918f23 100644 --- a/source/RobotAPI/components/ArViz/ArVizStorage.h +++ b/source/RobotAPI/components/ArViz/ArVizStorage.h @@ -28,8 +28,6 @@ #include <ArmarXCore/core/Component.h> #include <ArmarXCore/core/services/tasks/RunningTask.h> -#include <boost/circular_buffer.hpp> - #include <mutex> #include <atomic> #include <condition_variable> diff --git a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp index d9beef41b45235611beec0b6d02bc66fadcc4178..f11c7aa9de6672cafcda2bbcfdb2e5114eb2be69 100644 --- a/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp +++ b/source/RobotAPI/components/ArViz/Coin/Visualizer.cpp @@ -1,13 +1,12 @@ #include "Visualizer.h" #include <ArmarXCore/core/logging/Logging.h> +#include <ArmarXCore/util/CPPUtility/GetTypeString.h> #include <Inventor/sensors/SoTimerSensor.h> #include <Inventor/nodes/SoUnits.h> #include <thread> -#include <boost/core/demangle.hpp> - #include "VisualizationRobot.h" namespace armarx::viz @@ -168,7 +167,7 @@ namespace armarx::viz { ARMARX_WARNING << deactivateSpam(1) << "No visualizer for element type found: " - << boost::core::demangle(elementType.name()); + << armarx::GetTypeString(elementType); continue; } coin::ElementVisualizer* visualizer = elementVisualizers[visuIndex].get(); @@ -216,7 +215,7 @@ namespace armarx::viz } else { - std::string typeName = boost::core::demangle(elementType.name()); + std::string typeName = armarx::GetTypeString(elementType); ARMARX_WARNING << deactivateSpam(typeName, 1) << "CoinElementVisualizer returned null for type: " << typeName << "\n" << "You need to register a visualizer for each type in ArViz/Coin/Visualizer.cpp"; diff --git a/source/RobotAPI/components/RobotState/RobotStateComponent.cpp b/source/RobotAPI/components/RobotState/RobotStateComponent.cpp index 53fb866aa9f7f349bcb7ce5090552e58b0bbb21e..473ec9a16d21f415925efedbfa8c5150ae2f55ea 100644 --- a/source/RobotAPI/components/RobotState/RobotStateComponent.cpp +++ b/source/RobotAPI/components/RobotState/RobotStateComponent.cpp @@ -23,8 +23,6 @@ */ #include "RobotStateComponent.h" -#include <boost/foreach.hpp> -#include <boost/format.hpp> #include <Ice/ObjectAdapter.h> diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.cpp b/source/RobotAPI/components/RobotState/SharedRobotServants.cpp index da99bba0da26c375c7e1ad0d03936611dd2abae5..cfc854b4c19309b39c56591fda88ca4b54300086 100644 --- a/source/RobotAPI/components/RobotState/SharedRobotServants.cpp +++ b/source/RobotAPI/components/RobotState/SharedRobotServants.cpp @@ -25,8 +25,6 @@ #include <ArmarXCore/core/logging/Logging.h> -#include <boost/foreach.hpp> - #include <Eigen/Geometry> #include <VirtualRobot/Nodes/RobotNode.h> @@ -68,7 +66,7 @@ namespace armarx void SharedObjectBase::ref(const Current& current) { - boost::lock_guard<boost::mutex> lock(this->_counterMutex); + std::unique_lock lock(this->_counterMutex); _referenceCount++; @@ -79,7 +77,7 @@ namespace armarx void SharedObjectBase::unref(const Current& current) { - boost::lock_guard<boost::mutex> lock(this->_counterMutex); + std::unique_lock lock(this->_counterMutex); #ifdef VERBOSE ARMARX_LOG_S << "unref: " << _referenceCount << " " << this << flush; @@ -237,7 +235,7 @@ namespace armarx ReadLockPtr lock = _node->getRobot()->getReadLock(); std::vector<SceneObjectPtr> children = _node->getChildren(); NameList names; - BOOST_FOREACH(SceneObjectPtr node, children) + for (SceneObjectPtr const& node : children) { names.push_back(node->getName()); } @@ -249,7 +247,7 @@ namespace armarx ReadLockPtr lock = _node->getRobot()->getReadLock(); std::vector<RobotNodePtr> parents = _node->getAllParents(_node->getRobot()->getRobotNodeSet(name)); NameList names; - BOOST_FOREACH(RobotNodePtr node, parents) + for (RobotNodePtr const& node : parents) { names.push_back(node->getName()); } @@ -320,7 +318,7 @@ namespace armarx #ifdef VERBOSE ARMARX_WARNING_S << "destruct " << this << flush; #endif - boost::recursive_mutex::scoped_lock cloneLock(m); + std::unique_lock cloneLock(m); for (auto value : this->_cachedNodes) { @@ -341,7 +339,7 @@ namespace armarx { // ARMARX_LOG_S << "Looking for node: " << name << flush; assert(_robot); - boost::recursive_mutex::scoped_lock cloneLock(m); + std::unique_lock cloneLock(m); SharedRobotNodeInterfacePrx prx; if (this->_cachedNodes.find(name) == this->_cachedNodes.end()) @@ -369,7 +367,7 @@ namespace armarx SharedRobotNodeInterfacePrx SharedRobotServant::getRootNode(const Current& current) { assert(_robot); - boost::recursive_mutex::scoped_lock cloneLock(m); + std::unique_lock cloneLock(m); std::string name = _robot->getRootNode()/*,current*/->getName(); return this->getRobotNode(name, current); } @@ -384,7 +382,7 @@ namespace armarx { std::vector<RobotNodePtr> robotNodes = _robot->getRobotNodes(); NameList names; - BOOST_FOREACH(RobotNodePtr node, robotNodes) + for (RobotNodePtr const& node : robotNodes) { names.push_back(node->getName()); } @@ -402,7 +400,7 @@ namespace armarx std::vector<RobotNodePtr> robotNodes = robotNodeSet->getAllRobotNodes(); NameList names; - BOOST_FOREACH(RobotNodePtr node, robotNodes) + for (RobotNodePtr const& node : robotNodes) { names.push_back(node->getName()); } @@ -421,7 +419,7 @@ namespace armarx { std::vector<RobotNodeSetPtr> robotNodeSets = _robot->getRobotNodeSets(); NameList names; - BOOST_FOREACH(RobotNodeSetPtr set, robotNodeSets) + for (RobotNodeSetPtr const& set : robotNodeSets) { names.push_back(set->getName()); } diff --git a/source/RobotAPI/components/RobotState/SharedRobotServants.h b/source/RobotAPI/components/RobotState/SharedRobotServants.h index 76addb6ea428eacfbf37548067956fe33fd6d1f3..5dff6c3891075d67a6a3e0ff9fa1f3a9a5d615f3 100644 --- a/source/RobotAPI/components/RobotState/SharedRobotServants.h +++ b/source/RobotAPI/components/RobotState/SharedRobotServants.h @@ -30,7 +30,7 @@ #include <VirtualRobot/VirtualRobot.h> -#include <boost/thread.hpp> +#include <mutex> namespace armarx { @@ -51,7 +51,7 @@ namespace armarx SharedObjectBase(); private: unsigned int _referenceCount; - boost::mutex _counterMutex; + std::mutex _counterMutex; }; /** @@ -141,7 +141,7 @@ namespace armarx RobotStateComponentInterfacePrx getRobotStateComponent(const Ice::Current&) const override; protected: VirtualRobot::RobotPtr _robot; - boost::recursive_mutex m; + std::recursive_mutex m; std::map<std::string, SharedRobotNodeInterfacePrx> _cachedNodes; IceUtil::Time updateTimestamp; RobotStateComponentInterfacePrx robotStateComponent; diff --git a/source/RobotAPI/components/units/HeadIKUnit.cpp b/source/RobotAPI/components/units/HeadIKUnit.cpp index b4d6e62f6f1e203f4930e2ea56b424b08455c838..8e3037badb78a49b9cd6ef2847460c70995f448b 100644 --- a/source/RobotAPI/components/units/HeadIKUnit.cpp +++ b/source/RobotAPI/components/units/HeadIKUnit.cpp @@ -33,8 +33,11 @@ #include <boost/algorithm/string/trim.hpp> +#include <boost/shared_ptr.hpp> #include <memory> +using boost::dynamic_pointer_cast; +using std::dynamic_pointer_cast; namespace armarx { @@ -308,9 +311,6 @@ namespace armarx auto tcpNode = kinematicChain->getTCP(); VirtualRobot::RobotNodePrismaticPtr virtualPrismaticJoint; - - using boost::dynamic_pointer_cast; - using std::dynamic_pointer_cast; virtualPrismaticJoint = dynamic_pointer_cast<VirtualRobot::RobotNodePrismatic>(tcpNode); if (!virtualPrismaticJoint) { diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.cpp b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.cpp index fbd850fd60d3769abd1a895d1087927e75f5ad78..e42b68f1d78db459b423fd93e2c6723fa1cdd39e 100644 --- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.cpp +++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.cpp @@ -80,7 +80,7 @@ namespace armarx return d; } - boost::optional<std::vector<char> > NJointControllerBase::isNotInConflictWith(const std::vector<char>& used) const + std::optional<std::vector<char> > NJointControllerBase::isNotInConflictWith(const std::vector<char>& used) const { ARMARX_CHECK_EXPRESSION(used.size() == controlDeviceUsedBitmap.size()); auto result = used; @@ -90,13 +90,13 @@ namespace armarx { if (used.at(i)) { - return boost::optional<std::vector<char>>(); + return std::nullopt; } result.at(i) = true; } } - return {true, std::move(result)}; + return std::move(result); } NJointControllerStatus NJointControllerBase::getControllerStatus(const Ice::Current&) const diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h index 26c8a6aedb6cf2f5a85254987fd3f61ce87ead01..e20d9525d3c36676e47203a25a11d4e26eaf2968 100644 --- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h +++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.h @@ -28,8 +28,6 @@ #include <functional> #include <unordered_set> -#include <boost/optional.hpp> - #include <ArmarXCore/core/Component.h> #include <ArmarXCore/core/util/Registrar.h> #include <ArmarXCore/core/util/TripleBuffer.h> @@ -53,6 +51,7 @@ #include "../util/ControlThreadOutputBuffer.h" #include <VirtualRobot/VirtualRobot.h> +#include <optional> namespace armarx::RobotUnitModule { @@ -870,11 +869,11 @@ namespace armarx const std::map<std::string, const JointController*>& getControlDevicesUsedJointController(); //check for conflict - boost::optional<std::vector<char>> isNotInConflictWith(const NJointControllerBasePtr& other) const; - boost::optional<std::vector<char>> isNotInConflictWith(const std::vector<char>& used) const; + std::optional<std::vector<char>> isNotInConflictWith(const NJointControllerBasePtr& other) const; + std::optional<std::vector<char>> isNotInConflictWith(const std::vector<char>& used) const; template<class ItT> - static boost::optional<std::vector<char>> AreNotInConflict(ItT first, ItT last); + static std::optional<std::vector<char>> AreNotInConflict(ItT first, ItT last); // //////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////// publishing ////////////////////////////////////// // // //////////////////////////////////////////////////////////////////////////////////////// // diff --git a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp index bcefd5a83350721c67aff181034f5f0ef80fe8d6..0b89eaf5f18d12223a623d3b1eba13d672ddfd3b 100644 --- a/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp +++ b/source/RobotAPI/components/units/RobotUnit/NJointControllers/NJointController.ipp @@ -149,7 +149,7 @@ namespace armarx return controlDeviceUsedJointController; } - inline boost::optional<std::vector<char> > NJointControllerBase::isNotInConflictWith(const NJointControllerBasePtr& other) const + inline std::optional<std::vector<char> > NJointControllerBase::isNotInConflictWith(const NJointControllerBasePtr& other) const { return isNotInConflictWith(other->getControlDeviceUsedBitmap()); } @@ -273,11 +273,11 @@ namespace armarx namespace armarx { template<class ItT> - inline boost::optional<std::vector<char>> NJointControllerBase::AreNotInConflict(ItT first, ItT last) + inline std::optional<std::vector<char>> NJointControllerBase::AreNotInConflict(ItT first, ItT last) { if (first == last) { - return {true, std::vector<char>{}}; + return std::vector<char>{}; } std::size_t n = (*first)->getControlDeviceUsedBitmap().size(); std::vector<char> inuse(n, false); @@ -288,10 +288,10 @@ namespace armarx { return r; } - inuse = std::move(r.get()); + inuse = std::move(*r); ++first; } - return {true, std::move(inuse)}; + return std::move(inuse); } } namespace armarx::detail diff --git a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp index 1cb5f37569f80c4d8ada490a901c6633c61877e1..8f5960857d371d51d9053113a3b032732f3bb905 100644 --- a/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp +++ b/source/RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControllerManagement.cpp @@ -364,7 +364,7 @@ namespace armarx::RobotUnitModule ARMARX_ERROR << ss.str(); throw InvalidArgumentException {ss.str()}; } - inuse = std::move(r.get()); + inuse = std::move(*r); } ARMARX_DEBUG << "all requested controllers are conflict free" << std::flush; auto printInUse = ARMARX_STREAM_PRINTER @@ -393,7 +393,7 @@ namespace armarx::RobotUnitModule ARMARX_DEBUG << "keeping already requested NJointControllerBase '" << nJointCtrl->getInstanceName() << "' in list of requested controllers"; ctrlsToAct.insert(nJointCtrl); - inuse = std::move(r.get()); + inuse = std::move(*r); } else { diff --git a/source/RobotAPI/components/units/RobotUnit/Units/KinematicSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/KinematicSubUnit.h index 65e8263cc44f4669dd43f0c4b084840f76b2b847..7913d2dd9a4a27c7b90ee4b6d4e5a7b9d4d13736 100644 --- a/source/RobotAPI/components/units/RobotUnit/Units/KinematicSubUnit.h +++ b/source/RobotAPI/components/units/RobotUnit/Units/KinematicSubUnit.h @@ -24,8 +24,6 @@ #include <mutex> -#include <boost/algorithm/string.hpp> - #include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include <RobotAPI/components/units/KinematicUnit.h> diff --git a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.cpp b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.cpp index f67bb14d7a0df2743ee3d65410f58f768937f1fb..99ec57ddd276fe00bbc9ca9c76967d8e1d56ac11 100755 --- a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.cpp +++ b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.cpp @@ -21,6 +21,8 @@ */ #include "PlatformSubUnit.h" +#include <boost/algorithm/clamp.hpp> + void armarx::PlatformSubUnit::update(const armarx::SensorAndControl& sc, const JointAndNJointControllers&) { if (!getProxy()) diff --git a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h index 7420f33e06d32adbbcc66d1b0ed09dc66effdfd5..7fb01dd2a3d2f49059a5906c7ea998ed8c95a4d9 100755 --- a/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h +++ b/source/RobotAPI/components/units/RobotUnit/Units/PlatformSubUnit.h @@ -24,8 +24,6 @@ #include <mutex> -#include <boost/algorithm/clamp.hpp> - #include <Eigen/Core> #include <VirtualRobot/MathTools.h> diff --git a/source/RobotAPI/components/units/TCPControlUnit.cpp b/source/RobotAPI/components/units/TCPControlUnit.cpp index 2e3f100c89d4e1b7e26d37e72ef075dda0ff8e4c..8cb2c9095305c1157fe0685f57ac2c879fe8c47d 100644 --- a/source/RobotAPI/components/units/TCPControlUnit.cpp +++ b/source/RobotAPI/components/units/TCPControlUnit.cpp @@ -23,8 +23,6 @@ #include "TCPControlUnit.h" #include <RobotAPI/libraries/core/LinkedPose.h> -#include <boost/unordered_map.hpp> - #include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include <ArmarXCore/core/system/ArmarXDataPath.h> @@ -37,6 +35,7 @@ #include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/classification.hpp> +#include <boost/shared_ptr.hpp> #include <memory> using namespace VirtualRobot; diff --git a/source/RobotAPI/components/units/TCPControlUnit.h b/source/RobotAPI/components/units/TCPControlUnit.h index e24e2f8dc344b1b44a4bd24ca2240506d0c329c8..8b373d10178d0975bbf78831b08859c15781f9b6 100644 --- a/source/RobotAPI/components/units/TCPControlUnit.h +++ b/source/RobotAPI/components/units/TCPControlUnit.h @@ -31,6 +31,8 @@ #include <RobotAPI/libraries/core/remoterobot/RemoteRobot.h> #include <ArmarXCore/interface/observers/ObserverInterface.h> +#include <memory> + namespace armarx { /** @@ -275,7 +277,7 @@ namespace armarx std::map<VirtualRobot:: SceneObjectPtr, Eigen::VectorXf> tcpWeights; Eigen::VectorXf tcpWeightVec; }; - using EDifferentialIKPtr = boost::shared_ptr<EDifferentialIK>; + using EDifferentialIKPtr = std::shared_ptr<EDifferentialIK>; } diff --git a/source/RobotAPI/drivers/HokuyoLaserUnit/HokuyoLaserUnit.cpp b/source/RobotAPI/drivers/HokuyoLaserUnit/HokuyoLaserUnit.cpp index 9f1508cce0928aa91169c61cd36f5389ef6d75aa..af108e0e0839fe4b8d1d6c912163e67e0ffeaec9 100644 --- a/source/RobotAPI/drivers/HokuyoLaserUnit/HokuyoLaserUnit.cpp +++ b/source/RobotAPI/drivers/HokuyoLaserUnit/HokuyoLaserUnit.cpp @@ -24,9 +24,7 @@ #include <ArmarXCore/observers/variant/TimestampVariant.h> -#include <boost/algorithm/string/split.hpp> #include <boost/algorithm/string/replace.hpp> -#include <boost/algorithm/string/classification.hpp> #include <HokuyoLaserScannerDriver/urg_utils.h> @@ -45,14 +43,12 @@ void HokuyoLaserUnit::onInitComponent() angleOffset = getProperty<float>("AngleOffset").getValue(); std::string deviceStrings = getProperty<std::string>("Devices").getValue(); - std::vector<std::string> splitDeviceStrings; - boost::split(splitDeviceStrings, deviceStrings, boost::is_any_of(";")); + std::vector<std::string> splitDeviceStrings = Split(deviceStrings, ";"); devices.clear(); devices.reserve(splitDeviceStrings.size()); for (std::string const& deviceString : splitDeviceStrings) { - std::vector<std::string> deviceInfo; - boost::split(deviceInfo, deviceString, boost::is_any_of(",")); + std::vector<std::string> deviceInfo = Split(deviceString, ","); if (deviceInfo.size() != 3) { ARMARX_WARNING << "Unexpected format for laser scanner device: " << deviceString diff --git a/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.h b/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.h index d8a1c3496194a4b1fa3850a67e9b53159a683bc2..7e584629a24c0673cd3fb145a28ea3b771358974 100644 --- a/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.h +++ b/source/RobotAPI/drivers/OrientedTactileSensor/OrientedTactileSensorUnit.h @@ -9,7 +9,6 @@ #include <iostream> #include <fstream> #include <stdio.h> -#include <boost/date_time/posix_time/posix_time.hpp> #include <Eigen/Dense> #include <RobotAPI/libraries/SimpleJsonLogger/SimpleJsonLogger.h> #include <RobotAPI/interface/visualization/DebugDrawerInterface.h> diff --git a/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp b/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp index 8559064a772d5b9dc299df845b56481c7f031b68..b0a2f0b3705d9c00c88fff8e0470651f8f3f2f43 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp +++ b/source/RobotAPI/drivers/WeissHapticSensor/SerialInterface.cpp @@ -35,7 +35,6 @@ #include <sys/stat.h> #include <sys/ioctl.h> #include <iostream> -#include <boost/lexical_cast.hpp> #include <boost/format.hpp> static inline tcflag_t __bitrate_to_flag(unsigned int bitrate) diff --git a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp index 3f13ff1bcc6aa970425931d46afe02cf12657c1c..899c86434cea6757fb0cbb899203131452dea07d 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp +++ b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.cpp @@ -123,7 +123,7 @@ std::string WeissHapticSensor::getDeviceName() void WeissHapticSensor::scheduleSetDeviceTag(std::string tag) { - boost::mutex::scoped_lock lock(mutex); + std::unique_lock lock(mutex); setDeviceTagValue = tag; setDeviceTagScheduled = true; } @@ -206,7 +206,7 @@ void WeissHapticSensor::frameAcquisitionTaskLoop() if (setDeviceTagScheduled) { - boost::mutex::scoped_lock lock(mutex); + std::unique_lock lock(mutex); setDeviceTagScheduled = false; ARMARX_INFO << "[" << device << "] Stopping periodic frame aquisition to set new device tag"; diff --git a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.h b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.h index 9e006ae3d9f367d041d7c501eb62142b02f62d1c..25191aab19608735c499bacfe3f9d7ae0fb1e401 100644 --- a/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.h +++ b/source/RobotAPI/drivers/WeissHapticSensor/WeissHapticSensor.h @@ -34,7 +34,8 @@ #include <ArmarXCore/observers/variant/TimestampVariant.h> #include <RobotAPI/libraries/core/math/SlidingWindowVectorMedian.h> #include <ArmarXCore/util/variants/eigen3/MatrixVariant.h> -#include <boost/thread/mutex.hpp> + +#include <mutex> namespace armarx { @@ -73,7 +74,7 @@ namespace armarx bool setDeviceTagScheduled; std::string setDeviceTagValue; - boost::mutex mutex; + std::mutex mutex; int minimumReportIntervalMs; }; } diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp index 376a6495427caad47ff9b00f42f6e8d0eaa876b3..17ce02826bd5eb2ab427cfc88310292b82d2d6f3 100644 --- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp +++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp @@ -55,9 +55,6 @@ #include <Inventor/Qt/SoQt.h> #include <ArmarXCore/observers/filters/MedianFilter.h> -#include <boost/algorithm/string/split.hpp> -#include <boost/algorithm/string/classification.hpp> - // System #include <stdio.h> #include <string> @@ -185,13 +182,9 @@ void KinematicUnitWidgetController::onConnectComponent() } CMakePackageFinder project(projectName); - Ice::StringSeq projectIncludePaths; auto pathsString = project.getDataDir(); ARMARX_VERBOSE << "Data paths of ArmarX package " << projectName << ": " << pathsString; - boost::split(projectIncludePaths, - pathsString, - boost::is_any_of(";,"), - boost::token_compress_on); + Ice::StringSeq projectIncludePaths = Split(pathsString, ";,", true, true); ARMARX_VERBOSE << "Result: Data paths of ArmarX package " << projectName << ": " << projectIncludePaths; includePaths.insert(includePaths.end(), projectIncludePaths.begin(), projectIncludePaths.end()); } diff --git a/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/RobotUnitWidgetBase.cpp b/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/RobotUnitWidgetBase.cpp index 3f2d74a09c04af7cdef406f37afd5f30feca3647..9141512a800d382cbe917659b1fd236b7598bae8 100644 --- a/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/RobotUnitWidgetBase.cpp +++ b/source/RobotAPI/gui-plugins/RobotUnitPlugin/QWidgets/RobotUnitWidgetBase.cpp @@ -23,6 +23,8 @@ #include <ArmarXCore/core/exceptions/Exception.h> #include <ArmarXCore/core/logging/Logging.h> +#include <thread> + namespace armarx { RobotUnitWidgetBase::RobotUnitWidgetBase(QString name, QWidget* parent) : diff --git a/source/RobotAPI/gui-plugins/RobotViewerPlugin/RobotViewerGuiPlugin.cpp b/source/RobotAPI/gui-plugins/RobotViewerPlugin/RobotViewerGuiPlugin.cpp index aec5c63406608dbf98b4891c70a457a38ba0aed8..90bd124234f8eeb6f3c43d9ec2785786b542e7a1 100644 --- a/source/RobotAPI/gui-plugins/RobotViewerPlugin/RobotViewerGuiPlugin.cpp +++ b/source/RobotAPI/gui-plugins/RobotViewerPlugin/RobotViewerGuiPlugin.cpp @@ -46,9 +46,6 @@ #include <ArmarXGui/libraries/StructuralJson/JsonWriter.h> #include <ArmarXCore/util/json/JSONObject.h> -#include <boost/algorithm/string/split.hpp> -#include <boost/algorithm/string/classification.hpp> - // System #include <stdio.h> #include <string> @@ -184,13 +181,9 @@ void RobotViewerWidgetController::onConnectComponent() } CMakePackageFinder project(projectName); - Ice::StringSeq projectIncludePaths; auto pathsString = project.getDataDir(); ARMARX_VERBOSE << "Data paths of ArmarX package " << projectName << ": " << pathsString; - boost::split(projectIncludePaths, - pathsString, - boost::is_any_of(";,"), - boost::token_compress_on); + Ice::StringSeq projectIncludePaths = Split(pathsString, ";,", true, true); ARMARX_VERBOSE << "Result: Data paths of ArmarX package " << projectName << ": " << projectIncludePaths; includePaths.insert(includePaths.end(), projectIncludePaths.begin(), projectIncludePaths.end()); diff --git a/source/RobotAPI/libraries/ArmarXEtherCAT/AbstractFunctionalDevice.h b/source/RobotAPI/libraries/ArmarXEtherCAT/AbstractFunctionalDevice.h index ab2ad3915589358848b643d624dae4270eb035a8..0bbbf7011e67bcb59c3e1dacbc0e5fe5541f1221 100644 --- a/source/RobotAPI/libraries/ArmarXEtherCAT/AbstractFunctionalDevice.h +++ b/source/RobotAPI/libraries/ArmarXEtherCAT/AbstractFunctionalDevice.h @@ -2,7 +2,6 @@ #include <ArmarXCore/core/rapidxml/wrapper/DefaultRapidXmlReader.h> #include <ArmarXCore/core/rapidxml/wrapper/RapidXmlReader.h> -#include <boost/smart_ptr/shared_ptr.hpp> #include <RobotAPI/components/units/RobotUnit/JointControllers/JointController.h> #include <RobotAPI/libraries/ArmarXEtherCAT/VirtualDeviceFactory.h> diff --git a/source/RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h b/source/RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h index bd95565df108c2b30086bb83aae8a2588cb9cc86..e03a10bc85480726d8cf85b758164b159a266b0d 100644 --- a/source/RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h +++ b/source/RobotAPI/libraries/RobotStatechartHelpers/RobotNameHelper.h @@ -27,8 +27,6 @@ #include <ArmarXCore/statechart/xmlstates/profiles/StatechartProfiles.h> -#include <boost/optional.hpp> - #include <VirtualRobot/Robot.h> namespace armarx diff --git a/source/RobotAPI/libraries/core/FramedPose.h b/source/RobotAPI/libraries/core/FramedPose.h index 319e542d33664ec0a7d19c54422814369172435f..3e987d97dacfa905903e8ac6f86cbf3c8afb87fb 100644 --- a/source/RobotAPI/libraries/core/FramedPose.h +++ b/source/RobotAPI/libraries/core/FramedPose.h @@ -39,8 +39,6 @@ #include <Eigen/Core> #include <Eigen/Geometry> -#include <boost/shared_ptr.hpp> - #include <sstream> namespace armarx::VariantType diff --git a/source/RobotAPI/libraries/diffik/NaturalDiffIK.h b/source/RobotAPI/libraries/diffik/NaturalDiffIK.h index f4c9a5af180f2ee62426584c3cbd4e0e06befc05..0bdafb506e4cf6a22203b9b88cde2eccacba32d6 100644 --- a/source/RobotAPI/libraries/diffik/NaturalDiffIK.h +++ b/source/RobotAPI/libraries/diffik/NaturalDiffIK.h @@ -23,8 +23,6 @@ #pragma once -#include <boost/shared_ptr.hpp> - #include <VirtualRobot/Nodes/RobotNode.h> #include <VirtualRobot/RobotNodeSet.h> #include <VirtualRobot/IK/DifferentialIK.h> diff --git a/source/RobotAPI/libraries/diffik/SimpleDiffIK.h b/source/RobotAPI/libraries/diffik/SimpleDiffIK.h index 4ae4e22fa9ddf740455e9eec2cb561f365a7ca53..ffd371a6fe8d8ea8cd080e97fc1658c632b46868 100644 --- a/source/RobotAPI/libraries/diffik/SimpleDiffIK.h +++ b/source/RobotAPI/libraries/diffik/SimpleDiffIK.h @@ -23,14 +23,14 @@ #pragma once -#include <boost/shared_ptr.hpp> - #include <VirtualRobot/Nodes/RobotNode.h> #include <VirtualRobot/RobotNodeSet.h> +#include <memory> + namespace armarx { - typedef boost::shared_ptr<class SimpleDiffIK> SimpleDiffIKPtr; + typedef std::shared_ptr<class SimpleDiffIK> SimpleDiffIKPtr; class SimpleDiffIK { diff --git a/source/RobotAPI/libraries/natik/CartesianNaturalPositionControllerProxy.h b/source/RobotAPI/libraries/natik/CartesianNaturalPositionControllerProxy.h index d87c65c4bf5136cf2ea3812059242ed6710c87b5..eb75ba24394fb6deb1ae836b195e788d82957624 100644 --- a/source/RobotAPI/libraries/natik/CartesianNaturalPositionControllerProxy.h +++ b/source/RobotAPI/libraries/natik/CartesianNaturalPositionControllerProxy.h @@ -25,11 +25,12 @@ #include "NaturalIK.h" -#include <boost/shared_ptr.hpp> #include <RobotAPI/interface/units/RobotUnit/NJointCartesianNaturalPositionController.h> #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h> #include <RobotAPI/interface/aron.h> +#include <memory> + namespace armarx { typedef std::shared_ptr<class CartesianNaturalPositionControllerProxy> CartesianNaturalPositionControllerProxyPtr;