Skip to content
Snippets Groups Projects
Commit d110e9af authored by Fabian Tërnava's avatar Fabian Tërnava
Browse files

Merge branch 'master' of https://gitlab.com/ArmarX/RobotAPI into armem/ltm/dev

parents e8552af6 9fc1fad7
No related branches found
No related tags found
1 merge request!226armem/ltm/dev
......@@ -37,6 +37,8 @@ armarx_enable_aron_file_generation_for_target(
aron/PackagePath.xml
aron/AxisAlignedBoundingBox.xml
aron/OrientedBox.xml
aron/time.xml
aron/framed.xml
)
add_library(aron::common ALIAS aroncommon)
......
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<GenerateTypes>
<Object name="armarx::arondto::FrameHeader">
<ObjectChild key='frame'>
<string />
</ObjectChild>
<ObjectChild key='agent'>
<string />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedPosition">
<ObjectChild key='header'>
<armarx::arondto::FrameHeader />
</ObjectChild>
<ObjectChild key='position'>
<Position />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedDirection">
<ObjectChild key='header'>
<armarx::arondto::FrameHeader />
</ObjectChild>
<ObjectChild key='direction'>
<Position />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedOrientation">
<ObjectChild key='header'>
<armarx::arondto::FrameHeader />
</ObjectChild>
<ObjectChild key='orientation'>
<Orientation />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedPose">
<ObjectChild key='header'>
<armarx::arondto::FrameHeader />
</ObjectChild>
<ObjectChild key='pose'>
<Pose />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
<Include include="<Eigen/Geometry>" />
</CodeIncludes>
<GenerateTypes>
<Object name="armarx::arondto::FrameID">
<ObjectChild key='frame'>
<string />
</ObjectChild>
<ObjectChild key='agent'>
<string />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedPosition">
<ObjectChild key='header'>
<armarx::arondto::FrameID />
</ObjectChild>
<ObjectChild key='position'>
<Position />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedOrientation">
<ObjectChild key='header'>
<armarx::arondto::FrameID />
</ObjectChild>
<ObjectChild key='orientation'>
<Orientation />
</ObjectChild>
</Object>
<Object name="armarx::arondto::FramedPose">
<ObjectChild key='header'>
<armarx::arondto::FrameID />
</ObjectChild>
<ObjectChild key='pose'>
<Pose />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<GenerateTypes>
<IntEnum name="armarx::arondto::ClockType">
<EnumValue key="Realtime" value="0" />
<EnumValue key="Monotonic" value="1" />
<EnumValue key="Virtual" value="2" />
<EnumValue key="Unknown" value="3" />
</IntEnum>
<Object name="armarx::arondto::Duration">
<ObjectChild key='microSeconds'>
<long />
</ObjectChild>
</Object>
<Object name="armarx::arondto::Frequency">
<ObjectChild key='cycleDuration'>
<armarx::arondto::Duration />
</ObjectChild>
</Object>
<Object name="armarx::arondto::DateTime">
<ObjectChild key='timeSinceEpoch'>
<armarx::arondto::Duration />
</ObjectChild>
<ObjectChild key='clockType'>
<armarx::arondto::ClockType />
</ObjectChild>
<ObjectChild key='hostname'>
<string />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
......@@ -31,4 +31,86 @@ namespace armarx
dto = bo.toMicroSeconds();
}
void fromAron(const arondto::ClockType& dto, ClockType& bo)
{
switch (dto.value)
{
case arondto::ClockType::Realtime:
bo = ClockType::Realtime;
break;
case arondto::ClockType::Monotonic:
bo = ClockType::Monotonic;
break;
case arondto::ClockType::Virtual:
bo = ClockType::Virtual;
break;
case arondto::ClockType::Unknown:
bo = ClockType::Unknown;
break;
}
}
void toAron(arondto::ClockType& dto, const ClockType& bo)
{
switch (bo)
{
case ClockType::Realtime:
dto = arondto::ClockType::Realtime;
break;
case ClockType::Monotonic:
dto = arondto::ClockType::Monotonic;
break;
case ClockType::Virtual:
dto = arondto::ClockType::Virtual;
break;
case ClockType::Unknown:
dto = arondto::ClockType::Unknown;
break;
}
}
void fromAron(const arondto::Duration& dto, Duration& bo)
{
bo = Duration::MicroSeconds(dto.microSeconds);
}
void toAron(arondto::Duration& dto, const Duration& bo)
{
dto.microSeconds = bo.toMicroSeconds();
}
void fromAron(const arondto::Frequency& dto, Frequency& bo)
{
Duration cycleDuration;
fromAron(dto.cycleDuration, cycleDuration);
bo = Frequency(cycleDuration);
}
void toAron(arondto::Frequency& dto, const Frequency& bo)
{
arondto::Duration cycleDuration;
toAron(cycleDuration, bo.toCycleDuration());
dto.cycleDuration = cycleDuration;
}
void fromAron(const arondto::DateTime& dto, DateTime& bo)
{
Duration timeSinceEpoch;
fromAron(dto.timeSinceEpoch, timeSinceEpoch);
ClockType clockType;
fromAron(dto.clockType, clockType);
bo = DateTime(timeSinceEpoch, clockType, dto.hostname);
}
void toAron(arondto::DateTime& dto, const DateTime& bo)
{
arondto::Duration timeSinceEpoch;
toAron(timeSinceEpoch, bo.toDurationSinceEpoch());
dto.timeSinceEpoch = timeSinceEpoch;
arondto::ClockType clockType;
toAron(clockType, bo.clockType());
dto.clockType = clockType;
dto.hostname = bo.hostname();
}
} // namespace armarx
#pragma once
#include <ArmarXCore/core/PackagePath.h>
#include <ArmarXCore/core/time_minimal.h>
#include <IceUtil/Time.h>
#include <RobotAPI/libraries/aron/common/aron/PackagePath.aron.generated.h>
#include <RobotAPI/libraries/aron/common/aron/time.aron.generated.h>
#include <RobotAPI/libraries/aron/common/aron/framed.aron.generated.h>
namespace armarx
{
void fromAron(const arondto::PackagePath& dto, PackagePath& bo);
void toAron(arondto::PackagePath& dto, const PackagePath& bo);
void fromAron(const long& dto, IceUtil::Time& bo);
void toAron(long& dto, const IceUtil::Time& bo);
void fromAron(const arondto::ClockType& dto, ClockType& bo);
void toAron(arondto::ClockType& dto, const ClockType& bo);
void fromAron(const arondto::Duration& dto, Duration& bo);
void toAron(arondto::Duration& dto, const Duration& bo);
void fromAron(const arondto::Frequency& dto, Frequency& bo);
void toAron(arondto::Frequency& dto, const Frequency& bo);
void fromAron(const arondto::DateTime& dto, DateTime& bo);
void toAron(arondto::DateTime& dto, const DateTime& bo);
} // namespace armarx
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment