9#include "webcface/common/webcface-config.h"
14struct TemporalRobotJointData;
37 std::unique_ptr<internal::TemporalRobotJointData> temp_data;
42 std::shared_ptr<internal::RobotLinkData> msg_data;
49 const std::shared_ptr<internal::RobotLinkData> &msg_data);
60 const std::string &name()
const;
65 const std::wstring &nameW()
const;
70 std::optional<RobotLink> parent()
const;
88inline namespace robot_joints {
97 return RobotJoint{
nullptr,
nullptr, RobotJointType::fixed_absolute, origin,
118 return RobotJoint{
nullptr, SharedString::encode(parent_name),
119 RobotJointType::fixed, origin, 0};
130 return RobotJoint{
nullptr, SharedString::encode(parent_name),
131 RobotJointType::fixed, origin, 0};
139 const Point &origin) {
149 const Point &origin) {
163 std::string_view parent_name,
164 const Transform &origin,
double angle = 0) {
166 SharedString::encode(parent_name),
167 RobotJointType::rotational, origin, angle};
181 std::wstring_view parent_name,
182 const Transform &origin,
double angle = 0) {
184 SharedString::encode(parent_name),
185 RobotJointType::rotational, origin, angle};
198 std::string_view parent_name,
199 const Transform &origin,
double angle = 0) {
201 SharedString::encode(parent_name),
202 RobotJointType::prismatic, origin, angle};
216 std::wstring_view parent_name,
217 const Transform &origin,
double angle = 0) {
219 SharedString::encode(parent_name),
220 RobotJointType::prismatic, origin, angle};
224namespace RobotJoints = robot_joints;
235 std::shared_ptr<internal::RobotLinkData> msg_data;
240 const std::shared_ptr<internal::RobotLinkData> &msg_data);
250 std::shared_ptr<internal::RobotLinkData>
251 lockJoints(
const std::vector<SharedString> &link_names)
const;
303 const std::string &name()
const;
308 const std::wstring &nameW()
const;
313 RobotJoint joint()
const;
318 std::optional<Geometry> geometry()
const;
323 ViewColor color()
const;
3次元 or 2次元の座標を表すクラス。
Definition transform.h:23
modelの関節1つを表すクラス
Definition robot_link.h:32
リンク1つを表すクラス
Definition robot_link.h:234
RobotLink(std::wstring_view name, const RobotJoint &joint, const Geometry &geometry, ViewColor color=ViewColor::inherit)
Definition robot_link.h:272
RobotLink(std::wstring_view name, const Geometry &geometry, ViewColor color=ViewColor::inherit)
Definition robot_link.h:295
RobotLink(std::string_view name, const Geometry &geometry, ViewColor color=ViewColor::inherit)
Definition robot_link.h:283
RobotLink(std::string_view name, const RobotJoint &joint, const Geometry &geometry, ViewColor color=ViewColor::inherit)
Definition robot_link.h:260
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition encoding.h:69
RobotJoint prismaticJoint(std::string_view name, std::string_view parent_name, const Transform &origin, double angle=0)
直動関節
Definition robot_link.h:197
RobotJoint fixedAbsolute(const Transform &origin)
親リンクをもたず座標を定義する
Definition robot_link.h:96
RobotJoint rotationalJoint(std::string_view name, std::string_view parent_name, const Transform &origin, double angle=0)
回転関節
Definition robot_link.h:162
RobotJoint fixedJoint(std::string_view parent_name, const Transform &origin)
固定された関節
Definition robot_link.h:116
ViewColor
Definition component_view.h:40
RobotJointType
Definition robot_link.h:18
#define WEBCFACE_DLL
Definition webcface-config.h:60
#define WEBCFACE_NS_END
Definition webcface-config.h:104
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:103