Geometry Nodes: Rename some sockets
Subdivision surface: Both geometry sockets renamed to "Mesh" Points to Volume: Use "Points" and "Volume" names Distribute Points on Faces: Use "Mesh" input name These are meant to provide a hint to users which type each node is meant to use.
This commit is contained in:
parent
c1936be0c5
commit
827d7e7d25
Notes:
blender-bot
2023-02-14 08:07:50 +01:00
Referenced by commit 87470169e0
, Geometry Nodes: Rename more geometry sockets
|
@ -2118,5 +2118,15 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
LISTBASE_FOREACH (bNodeTree *, ntree, &bmain->nodetrees) {
|
||||
if (ntree->type == NTREE_GEOMETRY) {
|
||||
version_node_input_socket_name(
|
||||
ntree, GEO_NODE_DISTRIBUTE_POINTS_ON_FACES, "Geometry", "Mesh");
|
||||
version_node_input_socket_name(ntree, GEO_NODE_POINTS_TO_VOLUME, "Geometry", "Points");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_POINTS_TO_VOLUME, "Geometry", "Volume");
|
||||
version_node_socket_name(ntree, GEO_NODE_SUBDIVISION_SURFACE, "Geometry", "Mesh");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -87,6 +87,18 @@ ID *do_versions_rename_id(Main *bmain,
|
|||
return id;
|
||||
}
|
||||
|
||||
static void change_node_socket_name(ListBase *sockets, const char *old_name, const char *new_name)
|
||||
{
|
||||
LISTBASE_FOREACH (bNodeSocket *, socket, sockets) {
|
||||
if (STREQ(socket->name, old_name)) {
|
||||
BLI_strncpy(socket->name, new_name, sizeof(socket->name));
|
||||
}
|
||||
if (STREQ(socket->identifier, old_name)) {
|
||||
BLI_strncpy(socket->identifier, new_name, sizeof(socket->name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void version_node_socket_name(bNodeTree *ntree,
|
||||
const int node_type,
|
||||
const char *old_name,
|
||||
|
@ -94,22 +106,32 @@ void version_node_socket_name(bNodeTree *ntree,
|
|||
{
|
||||
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
|
||||
if (node->type == node_type) {
|
||||
LISTBASE_FOREACH (bNodeSocket *, socket, &node->inputs) {
|
||||
if (STREQ(socket->name, old_name)) {
|
||||
BLI_strncpy(socket->name, new_name, sizeof(socket->name));
|
||||
}
|
||||
if (STREQ(socket->identifier, old_name)) {
|
||||
BLI_strncpy(socket->identifier, new_name, sizeof(socket->name));
|
||||
}
|
||||
}
|
||||
LISTBASE_FOREACH (bNodeSocket *, socket, &node->outputs) {
|
||||
if (STREQ(socket->name, old_name)) {
|
||||
BLI_strncpy(socket->name, new_name, sizeof(socket->name));
|
||||
}
|
||||
if (STREQ(socket->identifier, old_name)) {
|
||||
BLI_strncpy(socket->identifier, new_name, sizeof(socket->name));
|
||||
}
|
||||
}
|
||||
change_node_socket_name(&node->inputs, old_name, new_name);
|
||||
change_node_socket_name(&node->outputs, old_name, new_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void version_node_input_socket_name(bNodeTree *ntree,
|
||||
const int node_type,
|
||||
const char *old_name,
|
||||
const char *new_name)
|
||||
{
|
||||
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
|
||||
if (node->type == node_type) {
|
||||
change_node_socket_name(&node->inputs, old_name, new_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void version_node_output_socket_name(bNodeTree *ntree,
|
||||
const int node_type,
|
||||
const char *old_name,
|
||||
const char *new_name)
|
||||
{
|
||||
LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
|
||||
if (node->type == node_type) {
|
||||
change_node_socket_name(&node->outputs, old_name, new_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,6 +43,14 @@ void version_node_socket_name(struct bNodeTree *ntree,
|
|||
const int node_type,
|
||||
const char *old_name,
|
||||
const char *new_name);
|
||||
void version_node_input_socket_name(struct bNodeTree *ntree,
|
||||
const int node_type,
|
||||
const char *old_name,
|
||||
const char *new_name);
|
||||
void version_node_output_socket_name(struct bNodeTree *ntree,
|
||||
const int node_type,
|
||||
const char *old_name,
|
||||
const char *new_name);
|
||||
|
||||
void version_node_id(struct bNodeTree *ntree, const int node_type, const char *new_name);
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_point_distribute_points_on_faces_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Geometry>("Mesh").supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Float>("Distance Min").min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Float>("Density Max").default_value(10.0f).min(0.0f);
|
||||
|
@ -533,7 +533,7 @@ static void point_distribution_calculate(GeometrySet &geometry_set,
|
|||
|
||||
static void geo_node_point_distribute_points_on_faces_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Mesh");
|
||||
|
||||
const GeometryNodeDistributePointsOnFacesMode method =
|
||||
static_cast<GeometryNodeDistributePointsOnFacesMode>(params.node().custom1);
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_points_to_volume_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_POINT_CLOUD);
|
||||
b.add_input<decl::Geometry>("Points").supported_type(GEO_COMPONENT_TYPE_POINT_CLOUD);
|
||||
b.add_input<decl::Float>("Density").default_value(1.0f).min(0.0f);
|
||||
b.add_input<decl::Float>("Voxel Size").default_value(0.3f).min(0.01f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Float>("Voxel Amount").default_value(64.0f).min(0.0f);
|
||||
|
@ -41,7 +41,7 @@ static void geo_node_points_to_volume_declare(NodeDeclarationBuilder &b)
|
|||
.min(0.0f)
|
||||
.subtype(PROP_DISTANCE)
|
||||
.supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Volume");
|
||||
}
|
||||
|
||||
static void geo_node_points_to_volume_layout(uiLayout *layout,
|
||||
|
@ -239,17 +239,17 @@ static void initialize_volume_component_from_points(GeoNodeExecParams ¶ms,
|
|||
|
||||
static void geo_node_points_to_volume_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Points");
|
||||
|
||||
#ifdef WITH_OPENVDB
|
||||
geometry_set.modify_geometry_sets([&](GeometrySet &geometry_set) {
|
||||
initialize_volume_component_from_points(params, geometry_set);
|
||||
});
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Volume", std::move(geometry_set));
|
||||
#else
|
||||
params.error_message_add(NodeWarningType::Error,
|
||||
TIP_("Disabled, Blender was compiled without OpenVDB"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Volume", GeometrySet());
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_subdivision_surface_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Geometry>("Mesh").supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Int>("Level").default_value(1).min(0).max(6);
|
||||
b.add_input<decl::Float>("Crease")
|
||||
.default_value(0.0f)
|
||||
|
@ -39,7 +39,7 @@ static void geo_node_subdivision_surface_declare(NodeDeclarationBuilder &b)
|
|||
.max(1.0f)
|
||||
.supports_field()
|
||||
.subtype(PROP_FACTOR);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_subdivision_surface_layout(uiLayout *layout,
|
||||
|
@ -67,7 +67,7 @@ static void geo_node_subdivision_surface_init(bNodeTree *UNUSED(ntree), bNode *n
|
|||
|
||||
static void geo_node_subdivision_surface_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Mesh");
|
||||
#ifndef WITH_OPENSUBDIV
|
||||
params.error_message_add(NodeWarningType::Error,
|
||||
TIP_("Disabled, Blender was compiled without OpenSubdiv"));
|
||||
|
@ -82,7 +82,7 @@ static void geo_node_subdivision_surface_exec(GeoNodeExecParams params)
|
|||
|
||||
/* Only process subdivision if level is greater than 0. */
|
||||
if (subdiv_level == 0) {
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -148,7 +148,7 @@ static void geo_node_subdivision_surface_exec(GeoNodeExecParams params)
|
|||
BKE_subdiv_free(subdiv);
|
||||
});
|
||||
#endif
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
Loading…
Reference in New Issue