24#ifdef ESPRESSO_DIPOLES
40 std::unique_ptr<VariantMap> m_params;
45 system.dipoles.impl->solver = std::nullopt;
46 system.on_dipoles_change();
50 auto const ¶ms = *m_params;
52 if (params.contains(
key)) {
68 auto leaf = std::dynamic_pointer_cast<System::Leaf>(actor);
71 actor->do_call_method(
"activate", {});
80 m_params = std::make_unique<VariantMap>(params);
85 if (
name ==
"clear") {
Bind parameters in the script interface.
void do_set_parameter(const std::string &name, const Variant &value) final
void add_parameters(std::vector< AutoParameter > &¶ms)
auto const & get_parameter_insertion_order() const
void on_bind_system(::System::System &) override
void do_construct(VariantMap const ¶ms) override
Variant do_call_method(std::string const &name, VariantMap const &) override
Type to indicate no value in Variant.
std::string_view name() const
auto const & get_system() const
std::weak_ptr<::System::System > m_system
constexpr bool is_none(Variant const &v)
std::shared_ptr< ObjectHandle > ObjectRef
T get_value(Variant const &v)
Extract value of specific type T from a Variant.
std::unordered_map< std::string, Variant > VariantMap
Recursive variant implementation.