diff --git a/source/RobotAPI/interface/objectpose/object_pose_types.ice b/source/RobotAPI/interface/objectpose/object_pose_types.ice index 4b09fd18ef1c6fe771200b3338ae67073616c42b..35960cce72ba7157a2c3bfbbca61824ef6a26334 100644 --- a/source/RobotAPI/interface/objectpose/object_pose_types.ice +++ b/source/RobotAPI/interface/objectpose/object_pose_types.ice @@ -23,8 +23,8 @@ #pragma once -//fq #include <ArmarXCore/interface/core/BasicVectorTypes.ice> +#include <ArmarXCore/interface/core/time.ice> #include <RobotAPI/interface/core/PoseBase.ice> #include <RobotAPI/interface/core/NameValueMap.ice> @@ -101,7 +101,7 @@ module armarx /// Confidence in [0, 1] (1 = full, 0 = none). float confidence = 0; /// Source timestamp. - long timestampMicroSeconds = -1; + armarx::core::time::dto::DateTime timestamp; /// [Optional] Object bounding box in object's local coordinate frame. Box localOOBB; @@ -146,7 +146,7 @@ module armarx /// Confidence in [0, 1] (1 = full, 0 = none). float confidence = 0; /// Source timestamp. - long timestampMicroSeconds = -1; + armarx::core::time::dto::DateTime timestamp; /// Object bounding box in object's local coordinate frame. May be null. Box localOOBB; diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.cpp b/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.cpp index 11e583902b8fbb0963e8f4c1b00746de01356f1b..413d4681c37d51c959573f5a2528a07d66ea4b9b 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.cpp @@ -7,6 +7,7 @@ #include <VirtualRobot/RobotConfig.h> #include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <ArmarXCore/core/time/ice_conversions.h> #include <RobotAPI/libraries/core/Pose.h> #include <RobotAPI/libraries/core/FramedPose.h> @@ -51,7 +52,7 @@ namespace armarx::objpose objpose::fromIce(ice.attachment, this->attachment); confidence = ice.confidence; - timestamp = IceUtil::Time::microSeconds(ice.timestampMicroSeconds); + armarx::core::time::fromIce(ice.timestamp, timestamp); objpose::fromIce(ice.localOOBB, localOOBB); } @@ -88,7 +89,7 @@ namespace armarx::objpose objpose::toIce(ice.attachment, this->attachment); ice.confidence = confidence; - ice.timestampMicroSeconds = timestamp.toMicroSeconds(); + armarx::core::time::toIce(ice.timestamp, timestamp); objpose::toIce(ice.localOOBB, localOOBB); } @@ -132,7 +133,7 @@ namespace armarx::objpose attachment = std::nullopt; confidence = provided.confidence; - timestamp = IceUtil::Time::microSeconds(provided.timestampMicroSeconds); + armarx::core::time::fromIce(provided.timestamp, timestamp); objpose::fromIce(provided.localOOBB, localOOBB); } diff --git a/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.h b/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.h index 66c87f22f5f369c154043e83a72146f0d5bbea54..cc8b4c6ebd1f1f112667df6c3eccc1308e5e5416 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.h +++ b/source/RobotAPI/libraries/ArmarXObjects/ObjectPose.h @@ -4,7 +4,6 @@ #include <map> #include <vector> - #include <Eigen/Core> #include <SimoxUtility/shapes/OrientedBox.h> @@ -12,8 +11,7 @@ #include <VirtualRobot/VirtualRobot.h> #include <ArmarXCore/core/PackagePath.h> - -#include <IceUtil/Time.h> +#include <ArmarXCore/core/time/DateTime.h> #include <RobotAPI/interface/objectpose/object_pose_types.h> #include <RobotAPI/libraries/ArmarXObjects/forward_declarations.h> @@ -87,7 +85,7 @@ namespace armarx::objpose /// Confidence in [0, 1] (1 = full, 0 = none). float confidence = 0; /// Source timestamp. - IceUtil::Time timestamp = IceUtil::Time::microSeconds(-1); + DateTime timestamp = DateTime::Invalid(); /// Object bounding box in object's local coordinate frame. /// @see oobbRobot(), oobbGlobal() diff --git a/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.cpp b/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.cpp index c67af0381b114b1b5e145b60a3c239b464f4ec31..c07cea85884a957218d9a9903ffcdd8c674b37bd 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.cpp @@ -1,6 +1,7 @@ #include "ProvidedObjectPose.h" #include <ArmarXCore/core/exceptions/local/ExpressionException.h> +#include <ArmarXCore/core/time/ice_conversions.h> #include <RobotAPI/libraries/core/Pose.h> #include <RobotAPI/libraries/core/FramedPose.h> @@ -34,7 +35,7 @@ namespace armarx::objpose objectJointValues = ice.objectJointValues; confidence = ice.confidence; - timestamp = IceUtil::Time::microSeconds(ice.timestampMicroSeconds); + armarx::core::time::fromIce(ice.timestamp, timestamp); objpose::fromIce(ice.localOOBB, localOOBB); } @@ -60,7 +61,7 @@ namespace armarx::objpose ice.objectJointValues = objectJointValues; ice.confidence = confidence; - ice.timestampMicroSeconds = timestamp.toMicroSeconds(); + armarx::core::time::toIce(ice.timestamp, timestamp); objpose::toIce(ice.localOOBB, localOOBB); } diff --git a/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.h b/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.h index c323a879508a60ad1dfd6b4af58dc4c4298ec534..c8d846893dbf857f1ca8bb5dbaabae1ba0b1b14b 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.h +++ b/source/RobotAPI/libraries/ArmarXObjects/ProvidedObjectPose.h @@ -8,7 +8,7 @@ #include <SimoxUtility/shapes/OrientedBox.h> -#include <IceUtil/Time.h> +#include <ArmarXCore/core/time/DateTime.h> #include <RobotAPI/interface/objectpose/object_pose_types.h> #include <RobotAPI/libraries/ArmarXObjects/forward_declarations.h> @@ -57,7 +57,7 @@ namespace armarx::objpose /// Confidence in [0, 1] (1 = full, 0 = none). float confidence = 0; /// Source timestamp. - IceUtil::Time timestamp = IceUtil::Time::microSeconds(-1); + DateTime timestamp = DateTime::Invalid(); /// Object bounding box in object's local coordinate frame. /// @see oobbRobot(), oobbGlobal() diff --git a/source/RobotAPI/libraries/ArmarXObjects/aron_conversions/objpose.cpp b/source/RobotAPI/libraries/ArmarXObjects/aron_conversions/objpose.cpp index bb9fb98e66584e8e22889d79c57900df0df1d99f..f21931adabf669f0da8804cf937fd6205c94248b 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/aron_conversions/objpose.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/aron_conversions/objpose.cpp @@ -104,7 +104,7 @@ void armarx::objpose::fromAron(const arondto::ObjectPose& dto, ObjectPose& bo) bo.confidence = dto.confidence; - bo.timestamp = dto.timestamp; + fromAron(dto.timestamp, bo.timestamp); if (dto.localOOBBValid) { @@ -153,7 +153,7 @@ void armarx::objpose::toAron(arondto::ObjectPose& dto, const ObjectPose& bo) dto.confidence = bo.confidence; - dto.timestamp = bo.timestamp; + toAron(dto.timestamp, bo.timestamp); if (bo.localOOBB) { diff --git a/source/RobotAPI/libraries/ArmarXObjects/json_conversions.cpp b/source/RobotAPI/libraries/ArmarXObjects/json_conversions.cpp index 6080cfda786c3d6115c6647fe7decd4e5faa6b03..cf42e169e67f0f18aef427c65fd24a73160983bf 100644 --- a/source/RobotAPI/libraries/ArmarXObjects/json_conversions.cpp +++ b/source/RobotAPI/libraries/ArmarXObjects/json_conversions.cpp @@ -43,7 +43,7 @@ void armarx::objpose::to_json(simox::json::json& j, const ObjectPose& op) j["robotPose"] = op.robotPose; j["confidence"] = op.confidence; - j["timestampMicroSeconds"] = op.timestamp.toMicroSeconds(); + j["timestampMicroSeconds"] = op.timestamp.toMicroSecondsSinceEpoch(); if (op.localOOBB) { @@ -68,7 +68,7 @@ void armarx::objpose::from_json(const simox::json::json& j, ObjectPose& op) op.robotPose = j.at("robotPose"); op.confidence = j.at("confidence"); - op.timestamp = IceUtil::Time::microSeconds(j.at("timestampMicroSeconds")); + op.timestamp = DateTime(Duration::MicroSeconds(j.at("timestampMicroSeconds"))); if (j.count("localOOBB")) {