26 template<
typename GetPos,
typename GetParams = const CylinderParameters &,
typename GetColor = const mc_rtc::gui::Color &>
36 if constexpr(std::is_invocable_v<GetParams>)
39 auto params = params_fn();
40 cylinder.radius = params.
radius;
41 cylinder.length = params.
length;
46 return Visual(name, get_visual_fn, get_pos_fn);
#define MC_RTC_GUI_DLLAPI
Definition: api.h:50
void setVisualColor(rbd::parsers::Visual &visual, const mc_rtc::gui::Color &color)
Definition: visual_utils.h:20
auto GetValueOrCallbackValue(const T &value_or_cb)
Definition: traits.h:231
Definition: Observer.h:16
auto Visual(const std::string &name, GetVisual get_visual_fn, GetPos get_pos_fn)
Definition: Visual.h:64
auto Cylinder(const std::string &name, GetParams params_fn, GetPos get_pos_fn, GetColor color_fn=mc_rtc::gui::Color::Red)
Definition: Cylinder.h:27
constexpr auto getVisualCylinder
Definition: visual_utils.h:92
rbd::parsers::Visual makeVisualCylinder(double radius, double length, const mc_rtc::gui::Color &color)
Definition: visual_utils.h:83
static const Color Red
Definition: types.h:102
Definition: Cylinder.h:11
double radius
Definition: Cylinder.h:12
double length
Definition: Cylinder.h:13