diff --git a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp index d7292d0e05e46931f2d43ea937d9eda0b6def9fb..b377dde0f39916daa25e80d4b74a7bc665c316c0 100644 --- a/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp +++ b/source/RobotAPI/libraries/aron/core/codegenerator/codewriter/cpp/generator/ndarray/Pose.cpp @@ -86,7 +86,9 @@ namespace armarx::aron::codegenerator::cpp::generator CppBlockPtr Pose::getEqualsBlock(const std::string& accessor, const std::string& otherInstanceAccessor) const { CppBlockPtr block_if_data = std::make_shared<CppBlock>(); - block_if_data->addLine("if (not (" + accessor + nextEl() + "isApprox(" + otherInstanceAccessor + ")))"); + std::string other_instance_resolved_accessor = this->resolveMaybeAccessor(otherInstanceAccessor); + + block_if_data->addLine("if (not (" + accessor + nextEl() + "isApprox(" + other_instance_resolved_accessor + ")))"); block_if_data->addLineAsBlock("return false;"); return resolveMaybeEqualsBlock(block_if_data, accessor, otherInstanceAccessor); } diff --git a/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml b/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml index 332e9b13e489cb6426cb9a0a88aa238d8aaea9d3..2b0d2d39810d2d1c05d4c40bba55ee36fc29615a 100644 --- a/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml +++ b/source/RobotAPI/libraries/aron/core/test/aron/OptionalTest.xml @@ -61,7 +61,9 @@ </List> </ObjectChild> - + <ObjectChild key="an_optional_pose"> + <Pose /> + </ObjectChild> </Object> </GenerateTypes>