13 namespace statespace {
17 using Ptr = std::unique_ptr<JointStateSpace>;
20 template <
class Jo
intType>
29 static Ptr create(const ::dart::dynamics::RevoluteJoint* _joint)
31 if (_joint->isCyclic(0))
32 return ::aikido::common::make_unique<SO2Joint>(_joint);
34 return ::aikido::common::make_unique<R1Joint>(_joint);
42 static Ptr create(const ::dart::dynamics::PrismaticJoint* _joint)
44 return ::aikido::common::make_unique<R1Joint>(_joint);
52 static Ptr create(const ::dart::dynamics::TranslationalJoint* _joint)
54 return ::aikido::common::make_unique<R3Joint>(_joint);
62 static Ptr create(const ::dart::dynamics::BallJoint* _joint)
64 return ::aikido::common::make_unique<SO3Joint>(_joint);
72 static Ptr create(const ::dart::dynamics::PlanarJoint* _joint)
74 return ::aikido::common::make_unique<SE2Joint>(_joint);
82 static Ptr create(const ::dart::dynamics::FreeJoint* _joint)
84 return ::aikido::common::make_unique<SE3Joint>(_joint);
92 static Ptr create(const ::dart::dynamics::WeldJoint* _joint)
94 return ::aikido::common::make_unique<WeldJoint>(_joint);
100 const ::dart::dynamics::BallJoint,
101 const ::dart::dynamics::FreeJoint,
102 const ::dart::dynamics::PlanarJoint,
103 const ::dart::dynamics::PrismaticJoint,
104 const ::dart::dynamics::RevoluteJoint,
105 const ::dart::dynamics::TranslationalJoint,
106 const ::dart::dynamics::WeldJoint
115 template <
class Jo
intType>