Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
c5b0b35
Update collision logging for ContactResultMap LinkIdPair key change
rjoomen Apr 9, 2026
b1dbb99
Update all link_names references to use link_ids.name()
rjoomen Apr 11, 2026
b7c4117
Migrate JointWaypoint from string names to JointId storage
rjoomen Apr 11, 2026
6b671b4
Migrate StateWaypoint from string names to JointId storage
rjoomen Apr 11, 2026
d5f5056
Add getJointIds utility and optimize toJointTrajectory
rjoomen Apr 11, 2026
12021f3
Update callers to use JointId-based waypoint API where possible
rjoomen Apr 11, 2026
12ff307
Migrate motion planner collision code to ID-based APIs
rjoomen Apr 11, 2026
52c7dd4
Migrate task composer planning nodes to ID-based collision APIs
rjoomen Apr 11, 2026
87e79ce
Convert descartes sampler to construct ContactTrajectoryResults with …
rjoomen Apr 11, 2026
f7003f8
Convert contactCheckProgram to construct ContactTrajectoryResults wit…
rjoomen Apr 11, 2026
ff6db2f
Migrate OMPL example to use JointId-based checkTrajectory
rjoomen Apr 11, 2026
2dac59e
Pass LinkIdPair directly in Descartes collision edge evaluator
rjoomen Apr 13, 2026
36fdaa7
Update tesseract_planning utility functions for TermInfo LinkId fields
rjoomen Apr 13, 2026
69ab3d2
Update tesseract_planning for Joint LinkId fields
rjoomen Apr 13, 2026
19900aa
Change createCartesianWaypointTermInfo frame params to LinkId
rjoomen Apr 13, 2026
f42044b
Update tesseract_planning for ManipulatorInfo and KinGroupIKInput Lin…
rjoomen Apr 13, 2026
9d494d3
Adopt LinkId/JointId APIs across tesseract_planning
rjoomen Apr 14, 2026
26068f9
refactor(command_language): pass-by-value + move for Eigen params, co…
rjoomen Apr 15, 2026
f0fa29a
fix(trajopt): rename source_frame_id/target_frame_id to source_frame/…
rjoomen Apr 15, 2026
ad6a04a
refactor(command_language): adopt toIds / toNames helpers in waypoints
rjoomen Apr 19, 2026
a5e030c
refactor(command_language): add formatJointPosition / getJointPositio…
rjoomen Apr 19, 2026
9f4fb75
refactor: drop NameId::fromName() call sites and switch planner APIs …
rjoomen Apr 19, 2026
085bc5d
fix(examples): select TCP pose by id in GlassUpright OMPL constraints
rjoomen Apr 20, 2026
06a247c
style: drop unused using tesseract::common::LinkId declarations in tests
rjoomen Apr 20, 2026
abf2f30
fix(command_language): say "Joint ID" in JointId overload errors
rjoomen Apr 20, 2026
0066479
perf(task_composer): reuse thread-local FK map in stateInCollision
rjoomen Apr 20, 2026
57f3403
perf(descartes): reuse caller's transforms buffer in collision checks
rjoomen Apr 20, 2026
e6535ae
refactor(examples): cache tcp LinkId in GlassUpright OMPL constraints
rjoomen Apr 20, 2026
7756148
refactor(simple): seed cartesian waypoint with joint IDs
rjoomen Apr 20, 2026
c3fc857
docs: fix getJointNames param text; include common/types.h in planner…
rjoomen Apr 20, 2026
259c12a
refactor: use implicit string->LinkId conversion and LinkId-typed act…
rjoomen Apr 21, 2026
4b4271d
Fix clang-format
rjoomen Apr 22, 2026
7465b18
Add type header
rjoomen Apr 24, 2026
b84f3a5
Fix formatJointPosition & FormatAsInputTask aux-vector reorder bugs (…
rjoomen Apr 25, 2026
8aed64d
refactor: gate string→NameId conversion behind TESSERACT_NAMEID_NO_IM…
rjoomen Apr 29, 2026
3ea5550
Use NameId stream insertion in display output
rjoomen Jul 8, 2026
416cce0
Add JointId overload for MotionPlanner::assignSolution
rjoomen Jul 13, 2026
4d48e83
Add JointId overloads for getInterpolatedInstructions
rjoomen Jul 13, 2026
53e2f16
Pass joint IDs through simple planner interpolation
rjoomen Jul 13, 2026
c357cab
Add JointId overload for OMPLMotionPlanner::assignTrajectory
rjoomen Jul 13, 2026
f3d9e1d
Pass joint IDs to assignSolution from trajopt, trajopt_ifopt, and des…
rjoomen Jul 13, 2026
15ed633
Retype createNearJointStateTermInfo to joint IDs
rjoomen Jul 13, 2026
47c88cf
Construct example waypoints from joint IDs
rjoomen Jul 13, 2026
b6724a1
Include common/types.h directly in descartes planner header
rjoomen Jul 13, 2026
0aabcc0
Serialize joint and state waypoints with a single serialize function
rjoomen Jul 13, 2026
513f430
Delete the free getJointNames(WaypointPoly) helper
rjoomen Jul 13, 2026
d484d9c
Use joint ids in tesseract_planning call sites
rjoomen Jul 13, 2026
c51ca10
Rename JointId locals from joint_names to joint_ids
rjoomen Jul 13, 2026
3fb4f4f
Use joint ids in the TrajOpt move profiles
rjoomen Jul 14, 2026
716565a
Remove the planning mid-layer joint-name overloads
rjoomen Jul 14, 2026
41380cb
Hold joint ids in the online planning example
rjoomen Jul 14, 2026
5f70c02
Remove setNames and getNames from the joint and state waypoints
rjoomen Jul 14, 2026
ee16131
Untrack CLAUDE.md
rjoomen Jul 14, 2026
ee35a17
Remove the string overloads of the waypoint joint-position helpers
rjoomen Jul 14, 2026
1e45568
Drop the undefined isContactAllowed declaration from DescartesCollision
rjoomen Jul 14, 2026
13a562e
Seed the task composer data-storage tests with joint ids
rjoomen Jul 14, 2026
2c2ca6b
Fix stale joint-name doc references on the id overloads
rjoomen Jul 14, 2026
79dc99b
Delete the remaining string constructors on JointWaypoint/StateWaypoint
rjoomen Jul 14, 2026
9b4762f
Take an id vector in the brace-init waypoint constructors
rjoomen Jul 14, 2026
00f811b
Rename joint_names locals to joint_ids
rjoomen Jul 14, 2026
1673815
docs: explain the NVP-key/field name-vs-id divergence in waypoints
rjoomen Jul 15, 2026
9ea978a
Migrate Environment string identity callers to id twins
rjoomen Jul 15, 2026
0799b90
Simplify redundant explicit ids to implicit conversions in tests
rjoomen Jul 15, 2026
5691867
Fail loud on out-of-group frames in getRobotConfig
rjoomen Jul 20, 2026
f714f44
Document the no-clear scratch-map contract at reuse sites
rjoomen Jul 20, 2026
422564c
Update the OMPL validators to the parallel-array transform setter
rjoomen Jul 20, 2026
c67fb0c
Fix ids for upstream commit, clang-format
rjoomen Jul 21, 2026
bcd185c
Show cmake-format diff in CI. Fix cmake format error.
rjoomen Jul 21, 2026
7b79283
Rename id-typed test locals to match their JointId contents
rjoomen Jul 22, 2026
5042a7b
Return getJointIds by const reference
rjoomen Jul 22, 2026
bf53b51
Remove POLY_TYPE_DESIGN.md from the migration branch
rjoomen Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/cmake_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ jobs:
sudo pip3 install cmakelang
./.run-cmake-format
output=$(git diff)
echo "$output"
if [ -n "$output" ]; then exit 1; else exit 0; fi
3 changes: 2 additions & 1 deletion command_language/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,8 @@ target_link_libraries(
cereal::cereal)
target_compile_options(command_language PRIVATE ${TESSERACT_COMPILE_OPTIONS_PRIVATE})
target_compile_options(command_language PUBLIC ${TESSERACT_COMPILE_OPTIONS_PUBLIC})
target_compile_definitions(command_language PUBLIC ${TESSERACT_COMPILE_DEFINITIONS})
target_compile_definitions(command_language PRIVATE ${TESSERACT_COMPILE_DEFINITIONS_PRIVATE})
target_compile_definitions(command_language PUBLIC ${TESSERACT_COMPILE_DEFINITIONS_PUBLIC})
target_clang_tidy(command_language ENABLE ${TESSERACT_ENABLE_CLANG_TIDY})
target_cxx_version(command_language PUBLIC VERSION ${TESSERACT_CXX_VERSION})
target_code_coverage(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <tesseract/common/cereal_serialization.h>

#include <cereal/cereal.hpp>
#include <cereal/specialize.hpp>
#include <cereal/types/memory.hpp>
#include <cereal/types/unordered_map.hpp>
#include <cereal/types/polymorphic.hpp>
Expand Down Expand Up @@ -113,7 +114,9 @@ void serialize(Archive& ar, JointWaypoint& obj)
{
ar(cereal::base_class<JointWaypointInterface>(&obj));
ar(cereal::make_nvp("name", obj.name_));
ar(cereal::make_nvp("names", obj.names_));
// Keep the "names" archive key though the field is joint_ids_: a JointId serializes as its name
// string (see save_minimal), so the on-disk key stays stable and portable across builds.
ar(cereal::make_nvp("names", obj.joint_ids_));
ar(cereal::make_nvp("position", obj.position_));
ar(cereal::make_nvp("upper_tolerance", obj.upper_tolerance_));
ar(cereal::make_nvp("lower_tolerance", obj.lower_tolerance_));
Expand All @@ -125,7 +128,9 @@ void serialize(Archive& ar, StateWaypoint& obj)
{
ar(cereal::base_class<StateWaypointInterface>(&obj));
ar(cereal::make_nvp("name", obj.name_));
ar(cereal::make_nvp("joint_names", obj.joint_names_));
// Keep the "joint_names" archive key though the field is joint_ids_: a JointId serializes as its
// name string (see save_minimal), so the on-disk key stays stable and portable across builds.
ar(cereal::make_nvp("joint_names", obj.joint_ids_));
ar(cereal::make_nvp("position", obj.position_));
ar(cereal::make_nvp("velocity", obj.velocity_));
ar(cereal::make_nvp("acceleration", obj.acceleration_));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
TESSERACT_COMMON_IGNORE_WARNINGS_POP

#include <tesseract/command_language/poly/joint_waypoint_poly.h>
#include <tesseract/common/types.h>

namespace tesseract::command_language
{
Expand All @@ -47,15 +48,18 @@ class JointWaypoint final : public JointWaypointInterface
// LCOV_EXCL_STOP

JointWaypoint() = default;
JointWaypoint(std::vector<std::string> names, const Eigen::VectorXd& position, bool is_constrained = true);
JointWaypoint(std::vector<std::string> names,
const Eigen::VectorXd& position,
const Eigen::VectorXd& lower_tol,
const Eigen::VectorXd& upper_tol);
JointWaypoint(std::initializer_list<std::string> names,

JointWaypoint(std::vector<tesseract::common::JointId> joint_ids,
Eigen::VectorXd position,
bool is_constrained = true);
JointWaypoint(std::vector<tesseract::common::JointId> joint_ids,
Eigen::VectorXd position,
Eigen::VectorXd lower_tol,
Eigen::VectorXd upper_tol);
JointWaypoint(std::vector<tesseract::common::JointId> joint_ids,
std::initializer_list<double> position,
bool is_constrained = true);
JointWaypoint(std::initializer_list<std::string> names,
JointWaypoint(std::vector<tesseract::common::JointId> joint_ids,
std::initializer_list<double> position,
std::initializer_list<double> lower_tol,
std::initializer_list<double> upper_tol);
Expand All @@ -66,9 +70,9 @@ class JointWaypoint final : public JointWaypointInterface
void print(const std::string& prefix = "") const override final;

// Joint Waypoint
void setNames(const std::vector<std::string>& names) override final;
std::vector<std::string>& getNames() override final;
const std::vector<std::string>& getNames() const override final;
void setJointIds(const std::vector<tesseract::common::JointId>& ids) override final;
const std::vector<tesseract::common::JointId>& getJointIds() const override final;
std::vector<tesseract::common::JointId>& getJointIds() override final;

void setPosition(const Eigen::VectorXd& position) override final;
Eigen::VectorXd& getPosition() override final;
Expand All @@ -90,8 +94,8 @@ class JointWaypoint final : public JointWaypointInterface
private:
/** @brief The name of the waypoint */
std::string name_;
/** @brief The names of the joints */
std::vector<std::string> names_;
/** @brief The joint IDs */
std::vector<tesseract::common::JointId> joint_ids_;
/** @brief The position of the joints */
Eigen::VectorXd position_;
/** @brief Joint distance below position that is allowed. Each element should be <= 0 */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#include <Eigen/Core>
TESSERACT_COMMON_IGNORE_WARNINGS_POP

#include <tesseract/common/types.h>

#include <tesseract/command_language/poly/waypoint_poly.h>
#include <tesseract/common/fwd.h>

Expand Down Expand Up @@ -86,16 +88,16 @@ class JointWaypointInterface
/////////////////

/**
* @brief Set the joint names
* @param names The joint names
* @brief Set the joint IDs
* @param ids The joint IDs
*/
virtual void setNames(const std::vector<std::string>& names) = 0;
virtual void setJointIds(const std::vector<tesseract::common::JointId>& ids) = 0;
/**
* @brief Get the joint names
* @return The joint names
* @brief Get the joint IDs
* @return The joint IDs
*/
virtual std::vector<std::string>& getNames() = 0;
virtual const std::vector<std::string>& getNames() const = 0;
virtual const std::vector<tesseract::common::JointId>& getJointIds() const = 0;
virtual std::vector<tesseract::common::JointId>& getJointIds() = 0;

/**
* @brief Set the joint positions
Expand Down Expand Up @@ -199,16 +201,16 @@ class JointWaypointPoly final : public WaypointInterface
/////////////////

/**
* @brief Set the joint names
* @param names The joint names
* @brief Set the joint IDs
* @param ids The joint IDs
*/
void setNames(const std::vector<std::string>& names);
void setJointIds(const std::vector<tesseract::common::JointId>& ids);
/**
* @brief Get the joint names
* @return The joint names
* @brief Get the joint IDs
* @return The joint IDs
*/
std::vector<std::string>& getNames();
const std::vector<std::string>& getNames() const;
const std::vector<tesseract::common::JointId>& getJointIds() const;
std::vector<tesseract::common::JointId>& getJointIds();

/**
* @brief Set the joint positions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#include <Eigen/Core>
TESSERACT_COMMON_IGNORE_WARNINGS_POP

#include <tesseract/common/types.h>

#include <tesseract/command_language/poly/waypoint_poly.h>
#include <tesseract/common/fwd.h>

Expand Down Expand Up @@ -84,16 +86,16 @@ class StateWaypointInterface
/////////////////

/**
* @brief Set the joint names
* @param names The joint names
* @brief Set the joint IDs
* @param ids The joint IDs
*/
virtual void setNames(const std::vector<std::string>& names) = 0;
virtual void setJointIds(const std::vector<tesseract::common::JointId>& ids) = 0;
/**
* @brief Get the joint names
* @return The joint names
* @brief Get the joint IDs
* @return The joint IDs
*/
virtual std::vector<std::string>& getNames() = 0;
virtual const std::vector<std::string>& getNames() const = 0;
virtual const std::vector<tesseract::common::JointId>& getJointIds() const = 0;
virtual std::vector<tesseract::common::JointId>& getJointIds() = 0;

/**
* @brief Set the joint positions
Expand Down Expand Up @@ -210,16 +212,16 @@ class StateWaypointPoly final : public WaypointInterface
/////////////////

/**
* @brief Set the joint names
* @param names The joint names
* @brief Set the joint IDs
* @param ids The joint IDs
*/
void setNames(const std::vector<std::string>& names);
void setJointIds(const std::vector<tesseract::common::JointId>& ids);
/**
* @brief Get the joint names
* @return The joint names
* @brief Get the joint IDs
* @return The joint IDs
*/
std::vector<std::string>& getNames();
const std::vector<std::string>& getNames() const;
const std::vector<tesseract::common::JointId>& getJointIds() const;
std::vector<tesseract::common::JointId>& getJointIds();

/**
* @brief Set the joint positions
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
TESSERACT_COMMON_IGNORE_WARNINGS_POP

#include <tesseract/command_language/poly/state_waypoint_poly.h>
#include <tesseract/common/types.h>

namespace tesseract::command_language
{
Expand All @@ -47,15 +48,16 @@ class StateWaypoint final : public StateWaypointInterface
// LCOV_EXCL_STOP

StateWaypoint() = default;
StateWaypoint(std::vector<std::string> joint_names, const Eigen::Ref<const Eigen::VectorXd>& position);
StateWaypoint(const std::vector<std::string>& names,
const Eigen::VectorXd& position,
const Eigen::VectorXd& velocity,
const Eigen::VectorXd& acceleration,

StateWaypoint(std::vector<tesseract::common::JointId> joint_ids, const Eigen::Ref<const Eigen::VectorXd>& position);
StateWaypoint(std::vector<tesseract::common::JointId> joint_ids,
Eigen::VectorXd position,
Eigen::VectorXd velocity,
Eigen::VectorXd acceleration,
double time);

StateWaypoint(std::initializer_list<std::string> names, std::initializer_list<double> position);
StateWaypoint(std::initializer_list<std::string> names,
StateWaypoint(std::vector<tesseract::common::JointId> joint_ids, std::initializer_list<double> position);
StateWaypoint(std::vector<tesseract::common::JointId> joint_ids,
std::initializer_list<double> position,
std::initializer_list<double> velocity,
std::initializer_list<double> acceleration,
Expand All @@ -67,9 +69,9 @@ class StateWaypoint final : public StateWaypointInterface
void print(const std::string& prefix = "") const override final;

// State Waypoint
void setNames(const std::vector<std::string>& names) override final;
std::vector<std::string>& getNames() override final;
const std::vector<std::string>& getNames() const override final;
void setJointIds(const std::vector<tesseract::common::JointId>& ids) override final;
const std::vector<tesseract::common::JointId>& getJointIds() const override final;
std::vector<tesseract::common::JointId>& getJointIds() override final;

void setPosition(const Eigen::VectorXd& position) override final;
Eigen::VectorXd& getPosition() override final;
Expand All @@ -95,8 +97,8 @@ class StateWaypoint final : public StateWaypointInterface
private:
/** @brief The name of the waypoint */
std::string name_;
/** @brief The joint corresponding to the position vector. */
std::vector<std::string> joint_names_;
/** @brief The joint IDs */
std::vector<tesseract::common::JointId> joint_ids_;
/** @brief The joint position at the waypoint */
Eigen::VectorXd position_;
/** @brief The velocity at the waypoint (optional) */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ void runCartesianWaypointTest()

{ // Set/Get Seed
tesseract::common::JointState seed_state;
seed_state.joint_names = { "joint_1", "joint_2", "joint_3" };
seed_state.joint_ids = { "joint_1", "joint_2", "joint_3" };
seed_state.position.resize(3);
seed_state.position << .01, .02, .03;
seed_state.velocity.resize(3);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,53 +55,53 @@ void runJointWaypointTest()
{ // Test construction
{
JointWaypointPoly wp{ T() };
EXPECT_TRUE(wp.getNames().empty());
EXPECT_TRUE(wp.getJointIds().empty());
EXPECT_TRUE(wp.getPosition().rows() == 0);
EXPECT_TRUE(std::as_const(wp).getUpperTolerance().rows() == 0);
EXPECT_TRUE(std::as_const(wp).getLowerTolerance().rows() == 0);
EXPECT_FALSE(wp.isConstrained());
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(3, 0.0);
JointWaypointPoly wp{ T(names, positions) };
EXPECT_EQ(wp.getNames(), names);
EXPECT_EQ(wp.getJointIds(), names);
EXPECT_TRUE(wp.getPosition().isApprox(positions));
EXPECT_TRUE(std::as_const(wp).getUpperTolerance().rows() == 0);
EXPECT_TRUE(std::as_const(wp).getLowerTolerance().rows() == 0);
EXPECT_TRUE(wp.isConstrained());
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(3, 0.0);
Eigen::VectorXd lower_tol = Eigen::VectorXd::Constant(3, -5);
Eigen::VectorXd uppert_tol = Eigen::VectorXd::Constant(3, 5);
JointWaypointPoly wp{ T(names, positions, lower_tol, uppert_tol) };
EXPECT_EQ(wp.getNames(), names);
EXPECT_EQ(wp.getJointIds(), names);
EXPECT_TRUE(wp.getPosition().isApprox(positions));
EXPECT_TRUE(wp.getLowerTolerance().isApprox(lower_tol));
EXPECT_TRUE(wp.getUpperTolerance().isApprox(uppert_tol));
EXPECT_TRUE(wp.isConstrained());
}
{
std::vector<std::string> names{ "j1", "j2" };
std::vector<tesseract::common::JointId> names{ "j1", "j2" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(3, 0.0);
EXPECT_ANY_THROW(JointWaypointPoly{ T(names, positions) }); // NOLINT
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(2, 0.0);
EXPECT_ANY_THROW(JointWaypointPoly{ T(names, positions) }); // NOLINT
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(3, 0.0);
Eigen::VectorXd lower_tol = Eigen::VectorXd::Constant(2, -5);
Eigen::VectorXd uppert_tol = Eigen::VectorXd::Constant(3, 5);
EXPECT_ANY_THROW(JointWaypointPoly{ T(names, positions, lower_tol, uppert_tol) }); // NOLINT
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions = Eigen::VectorXd::Constant(3, 0.0);
Eigen::VectorXd lower_tol = Eigen::VectorXd::Constant(3, -5);
Eigen::VectorXd uppert_tol = Eigen::VectorXd::Constant(2, 5);
Expand All @@ -117,17 +117,17 @@ void runJointWaypointTest()
}

{ // Set/Get Names
const std::vector<std::string> names{ "j1", "j2", "j3" };
const std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
{ // Test set
JointWaypointPoly wp{ T() };
wp.setNames(names);
EXPECT_TRUE(wp.getNames() == names);
wp.setJointIds(names);
EXPECT_TRUE(wp.getJointIds() == names);
}

{ // Test assigning
JointWaypointPoly wp{ T() };
wp.getNames() = names;
EXPECT_TRUE(std::as_const(wp).getNames() == names);
wp.getJointIds() = names;
EXPECT_TRUE(std::as_const(wp).getJointIds() == names);
}
}

Expand Down Expand Up @@ -193,7 +193,7 @@ void runJointWaypointTest()
runWaypointSerializationTest(wp1);
}
{
std::vector<std::string> names{ "j1", "j2", "j3" };
std::vector<tesseract::common::JointId> names{ "j1", "j2", "j3" };
Eigen::VectorXd positions, upper_tol, lower_tol;
positions.resize(3);
upper_tol.resize(3);
Expand All @@ -214,7 +214,7 @@ void runJointWaypointTest()
// Not equal
{
JointWaypointPoly wp1{ T({ "j1", "j2", "j3" }, { 0, 0, 0 }) };
JointWaypointPoly wp2{ T(std::vector<std::string>({ "j1" }), Eigen::VectorXd::Zero(1)) };
JointWaypointPoly wp2{ T(std::vector<tesseract::common::JointId>({ "j1" }), Eigen::VectorXd::Zero(1)) };
EXPECT_TRUE(wp1.isConstrained());
EXPECT_TRUE(wp2.isConstrained());
EXPECT_FALSE(wp1 == wp2);
Expand Down
Loading
Loading