29 template<
typename GetT,
typename SetT = std::
nullptr_t>
38 "Point3D element position callback must return an Eigen::Vector3d");
53 builder.
write(std::is_same_v<SetT, std::nullptr_t>);
54 config_.
write(builder);
64 template<
typename GetT, std::enable_if_t<std::is_invocable_v<GetT>,
int> = 0>
65 auto Point3D(
const std::string & name, GetT get_fn)
71 template<
typename GetT,
typename SetT>
72 auto Point3D(
const std::string & name, GetT get_fn, SetT set_fn)
78 template<
typename GetT, std::enable_if_t<std::is_invocable_v<GetT>,
int> = 0>
85 template<
typename GetT,
typename SetT>
93 auto Point3DRO(
const std::string & name, T && value)
106 template<
typename T, std::enable_if_t<!std::is_invocable_v<T>,
int> = 0>
107 auto Point3D(
const std::string & name, T & value)
113 template<
typename T, std::enable_if_t<!std::is_invocable_v<T>,
int> = 0>