22 Color(
double r,
double g,
double b,
double a = 1.0) : r(r), g(g), b(b), a(a) {}
23 Color(
const Eigen::Vector3d & color) : r(color.x()), g(color.y()), b(color.z()) {}
24 Color(
const Eigen::Vector4d & color) : r(color.x()), g(color.y()), b(color.z()), a(color[3]) {}
31 bool operator==(
const Color & rhs)
const {
return r == rhs.
r && g == rhs.
g && b == rhs.
b && a == rhs.
a; }
37 std::array<double, 4> data = config;
48 std::array<double, 4> color = config;
59 std::string color = config;
60 if(ColorMap.count(color)) { *
this = ColorMap.
at(color); }
63 auto msg = fmt::format(
"No color named {} ", color);
71 auto msg = std::string{
"Color is neither an array of size 4, nor a valid color string, attempted to extract "}
72 + config.
dump(
true,
true);
111 static const std::map<std::string, Color>
ColorMap;
144 : color(color), width(width), style(style)
153 style =
LineStyle(
static_cast<typename std::underlying_type<LineStyle>::type
>(config[2]));
158 config(
"color", color);
159 config(
"width", width);
160 if(config.
has(
"style"))
162 auto s = config(
"style");
171 config.
add(
"color", color);
172 config.
add(
"width", width);
185 out.
write(
static_cast<typename std::underlying_type<LineStyle>::type
>(style));
214 head_diam = config[0];
215 head_len = config[1];
216 shaft_diam = config[2];
218 start_point_scale = config[4];
219 end_point_scale = config[5];
225 config(
"head_diam", head_diam);
226 config(
"head_len", head_len);
227 config(
"shaft_diam", shaft_diam);
228 config(
"scale", scale);
229 config(
"start_point_scale", start_point_scale);
230 config(
"end_point_scale", end_point_scale);
231 config(
"color", color);
237 conf.
add(
"head_diam", head_diam);
238 conf.
add(
"head_len", head_len);
239 conf.
add(
"shaft_diam", shaft_diam);
240 conf.
add(
"scale", scale);
241 conf.
add(
"start_point_scale", start_point_scale);
242 conf.
add(
"end_point_scale", end_point_scale);
243 conf.
add(
"color", color);
252 out.
write(head_diam);
254 out.
write(shaft_diam);
256 out.
write(start_point_scale);
257 out.
write(end_point_scale);
262 double head_diam = 0.015;
263 double head_len = 0.05;
264 double shaft_diam = 0.015;
265 double scale = 0.0015;
266 double start_point_scale = 0.0;
267 double end_point_scale = 0.0;
356 config(
"scale",
scale);
357 config(
"color",
color);
407 config(
"triangle_color", triangle_color);
408 config(
"show_triangle", show_triangle);
409 config(
"use_triangle_color", use_triangle_color);
410 config(
"edges", edge_config);
411 config(
"show_edges", show_edges);
412 config(
"fixed_edge_color", fixed_edge_color);
413 config(
"vertices", vertices_config);
414 config(
"show_vertices", show_vertices);
415 config(
"fixed_vertices_color", fixed_vertices_color);
421 conf.
add(
"triangle_color", triangle_color);
422 conf.
add(
"show_triangle", show_triangle);
423 conf.
add(
"use_triangle_color", use_triangle_color);
424 conf.
add(
"edges", edge_config);
425 conf.
add(
"show_edges", show_edges);
426 conf.
add(
"fixed_edge_color", fixed_edge_color);
427 conf.
add(
"vertices", vertices_config);
428 conf.
add(
"show_vertices", show_vertices);
429 conf.
add(
"fixed_vertices_color", fixed_vertices_color);
435 triangle_color.fromMessagePack(config[0]);
436 show_triangle = config[1];
437 use_triangle_color = config[2];
439 show_edges = config[4];
440 fixed_edge_color = config[5];
442 show_vertices = config[7];
443 fixed_vertices_color = config[8];
451 triangle_color.write(out);
452 out.
write(show_triangle);
453 out.
write(use_triangle_color);
455 edge_config.write(out);
456 out.
write(show_edges);
457 out.
write(fixed_edge_color);
459 vertices_config.write(out);
460 out.
write(show_vertices);
461 out.
write(fixed_vertices_color);
467 bool show_triangle =
true;
469 bool use_triangle_color =
false;
471 bool show_edges =
true;
473 bool fixed_edge_color =
true;
475 bool show_vertices =
true;
478 bool fixed_vertices_color =
true;
486 const Eigen::VectorXd & q,
487 const Eigen::VectorXd & alpha,
488 const Eigen::VectorXd & alphaD,
489 const Eigen::VectorXd & tau,
490 const std::vector<sva::ForceVecd> & forces,
491 const sva::PTransformd & posW)
492 : parameters(params), q(q), alpha(alpha), alphaD(alphaD), tau(tau), forces(forces), posW(posW)
#define MC_RTC_GUI_DLLAPI
Definition: api.h:50
LineStyle
Definition: types.h:131
void error(Args &&... args)
Definition: logging.h:63
static mc_rtc::gui::ArrowConfig load(const mc_rtc::Configuration &config)
Definition: types.h:275
static mc_rtc::Configuration save(const mc_rtc::gui::ArrowConfig &arrow)
Definition: types.h:282
static mc_rtc::gui::Color load(const mc_rtc::Configuration &config)
Definition: types.h:118
static mc_rtc::Configuration save(const mc_rtc::gui::Color &color)
Definition: types.h:125
static mc_rtc::gui::ForceConfig load(const mc_rtc::Configuration &config)
Definition: types.h:330
static mc_rtc::Configuration save(const mc_rtc::gui::ForceConfig &force)
Definition: types.h:337
static mc_rtc::Configuration save(const mc_rtc::gui::LineConfig &line)
Definition: types.h:201
static mc_rtc::gui::LineConfig load(const mc_rtc::Configuration &config)
Definition: types.h:194
static mc_rtc::gui::PointConfig load(const mc_rtc::Configuration &config)
Definition: types.h:386
static mc_rtc::Configuration save(const mc_rtc::gui::PointConfig &point)
Definition: types.h:393
static mc_rtc::gui::PolyhedronConfig load(const mc_rtc::Configuration &config)
Definition: types.h:510
static mc_rtc::Configuration save(const mc_rtc::gui::PolyhedronConfig &polyhedron)
Definition: types.h:517
Definition: Configuration.h:56
Exception thrown by this class when something bad occurs.
Definition: Configuration.h:237
void silence() const noexcept
Simplify access to values hold within a JSON file.
Definition: Configuration.h:166
bool has(const std::string &key) const
Check if the key is part of the conf.
void add(const std::string &key, bool value)
Add a bool element to the Configuration.
static Configuration fromMessagePack(const char *data, size_t size)
Static constructor to load from MessagePack data.
T at(size_t i, const T &v) const
Retrieve a given value from a JSON array.
Definition: Configuration.h:933
static Configuration rootArray()
Returns a Configuration with an array as root entry.
std::string dump(bool pretty=false, bool yaml=false) const
Dump the configuration into a string.
Definition: MessagePackBuilder.h:87
void start_array(size_t size)
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:212
static constexpr size_t write_size()
Definition: types.h:247
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:223
ArrowConfig(const Color &color)
Definition: types.h:209
Color color
Definition: types.h:268
void write(mc_rtc::MessagePackBuilder &out) const
Definition: types.h:249
ArrowConfig(const mc_rtc::Configuration &config)
Definition: types.h:210
mc_rtc::Configuration saveConfig() const
Definition: types.h:234
ArrowConfig()
Definition: types.h:208
double b
Definition: types.h:28
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:35
static const Color Black
Definition: types.h:102
bool operator!=(const Color &rhs) const
Definition: types.h:33
static const Color Red
Definition: types.h:103
static const Color LightGray
Definition: types.h:110
static const Color Gray
Definition: types.h:109
mc_rtc::Configuration saveConfig() const
Definition: types.h:79
static const Color Blue
Definition: types.h:105
static const Color White
Definition: types.h:101
Color(double r, double g, double b, double a=1.0)
Definition: types.h:22
Color()
Definition: types.h:21
static const Color Magenta
Definition: types.h:107
Color(const Eigen::Vector4d &color)
Definition: types.h:24
static constexpr size_t write_size()
Definition: types.h:89
bool operator==(const Color &rhs) const
Definition: types.h:31
void write(mc_rtc::MessagePackBuilder &builder) const
Definition: types.h:91
static const std::map< std::string, Color > ColorMap
Definition: types.h:111
Color(const Eigen::Vector3d &color)
Definition: types.h:23
double a
Definition: types.h:29
static const Color Green
Definition: types.h:104
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:44
double g
Definition: types.h:27
static const Color Yellow
Definition: types.h:108
Color(const mc_rtc::Configuration &config)
Definition: types.h:25
double r
Definition: types.h:26
static const Color Cyan
Definition: types.h:106
void write(mc_rtc::MessagePackBuilder &out) const
Definition: types.h:314
ForceConfig(const Color &color)
Definition: types.h:290
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:293
static constexpr size_t write_size()
Definition: types.h:312
double force_scale
Definition: types.h:322
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:299
ForceConfig(const mc_rtc::Configuration &config)
Definition: types.h:291
ForceConfig()
Definition: types.h:289
mc_rtc::Configuration saveConfig() const
Definition: types.h:305
LineConfig(const mc_rtc::Configuration &config)
Definition: types.h:147
LineConfig(const Color &color, double width=0.01, const LineStyle &style=LineStyle::Solid)
Definition: types.h:143
LineConfig()
Definition: types.h:142
void write(mc_rtc::MessagePackBuilder &out) const
Definition: types.h:180
static constexpr size_t write_size()
Definition: types.h:178
mc_rtc::Configuration saveConfig() const
Definition: types.h:168
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:156
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:149
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:348
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:354
PointConfig()
Definition: types.h:344
void write(mc_rtc::MessagePackBuilder &out) const
Definition: types.h:370
PointConfig(const Color &color, double scale=0.02)
Definition: types.h:345
Color color
Definition: types.h:378
PointConfig(const mc_rtc::Configuration &config)
Definition: types.h:346
mc_rtc::Configuration saveConfig() const
Definition: types.h:360
static constexpr size_t write_size()
Definition: types.h:368
double scale
Definition: types.h:379
void fromMessagePack(const mc_rtc::Configuration &config)
Definition: types.h:433
static constexpr size_t write_size()
Definition: types.h:446
LineConfig edge_config
Definition: types.h:470
void write(mc_rtc::MessagePackBuilder &out) const
Default triangle face color.
Definition: types.h:448
void fromConfig(const mc_rtc::Configuration &config)
Definition: types.h:405
PointConfig vertices_config
Definition: types.h:474
Color triangle_color
Definition: types.h:466
mc_rtc::Configuration saveConfig() const
Definition: types.h:418
PolyhedronConfig()
Definition: types.h:401
PolyhedronConfig(const mc_rtc::Configuration &config)
Definition: types.h:403
std::vector< std::string > parameters
Definition: types.h:496
Eigen::VectorXd alphaD
Definition: types.h:499
RobotMsgData(const std::vector< std::string > ¶ms, const Eigen::VectorXd &q, const Eigen::VectorXd &alpha, const Eigen::VectorXd &alphaD, const Eigen::VectorXd &tau, const std::vector< sva::ForceVecd > &forces, const sva::PTransformd &posW)
Definition: types.h:485
std::vector< sva::ForceVecd > forces
Definition: types.h:501
Eigen::VectorXd tau
Definition: types.h:500
Eigen::VectorXd q
Definition: types.h:497
sva::PTransformd posW
Definition: types.h:502
Eigen::VectorXd alpha
Definition: types.h:498