Differential D14618 Diff 50328 source/blender/nodes/geometry/nodes/node_geo_input_named_attribute.cc
Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_input_named_attribute.cc
| Show First 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | static void node_geo_exec(GeoNodeExecParams params) | ||||
| const std::string name = params.extract_input<std::string>("Name"); | const std::string name = params.extract_input<std::string>("Name"); | ||||
| if (!U.experimental.use_named_attribute_nodes) { | if (!U.experimental.use_named_attribute_nodes) { | ||||
| params.set_default_remaining_outputs(); | params.set_default_remaining_outputs(); | ||||
| return; | return; | ||||
| } | } | ||||
| params.used_named_attribute(name, NamedAttributeUsage::Read); | |||||
| switch (data_type) { | switch (data_type) { | ||||
| case CD_PROP_FLOAT: | case CD_PROP_FLOAT: | ||||
| params.set_output("Attribute_Float", AttributeFieldInput::Create<float>(std::move(name))); | params.set_output("Attribute_Float", AttributeFieldInput::Create<float>(std::move(name))); | ||||
| break; | break; | ||||
| case CD_PROP_FLOAT3: | case CD_PROP_FLOAT3: | ||||
| params.set_output("Attribute_Vector", AttributeFieldInput::Create<float3>(std::move(name))); | params.set_output("Attribute_Vector", AttributeFieldInput::Create<float3>(std::move(name))); | ||||
| break; | break; | ||||
| case CD_PROP_COLOR: | case CD_PROP_COLOR: | ||||
| Show All 35 Lines | |||||