Nodes: hide socket value when input is a field implicitly

This commit is contained in:
Jacques Lucke 2021-09-24 16:42:07 +02:00
parent 90b410fe74
commit 4a2c63f4bd
Notes: blender-bot 2023-02-14 04:31:04 +01:00
Referenced by issue #91734, Crash snapping mesh if a beveled curve is present
3 changed files with 3 additions and 2 deletions

View File

@ -202,6 +202,7 @@ class SocketDeclarationBuilder : public BaseSocketDeclarationBuilder {
/** The input supports a field and is a field by default when nothing is connected. */
Self &implicit_field()
{
this->hide_value();
decl_->input_field_type_ = InputSocketFieldType::Implicit;
return *(Self *)this;
}

View File

@ -23,7 +23,7 @@ namespace blender::nodes {
static void geo_node_set_position_declare(NodeDeclarationBuilder &b)
{
b.add_input<decl::Geometry>("Geometry");
b.add_input<decl::Vector>("Position").hide_value().implicit_field();
b.add_input<decl::Vector>("Position").implicit_field();
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
b.add_output<decl::Geometry>("Geometry");
}

View File

@ -26,7 +26,7 @@ namespace blender::nodes {
static void sh_node_tex_noise_declare(NodeDeclarationBuilder &b)
{
b.is_function_node();
b.add_input<decl::Vector>("Vector").hide_value().implicit_field();
b.add_input<decl::Vector>("Vector").implicit_field();
b.add_input<decl::Float>("W").min(-1000.0f).max(1000.0f);
b.add_input<decl::Float>("Scale").min(-1000.0f).max(1000.0f).default_value(5.0f);
b.add_input<decl::Float>("Detail").min(0.0f).max(16.0f).default_value(2.0f);