Geometry Nodes: Rename more geometry sockets
This is a followup to rB827d7e7d252d48. After this we should be consistent everywhere with the hints in the names of geometry sockets.
This commit is contained in:
parent
dc37990e24
commit
87470169e0
|
@ -2126,6 +2126,31 @@ void blo_do_versions_300(FileData *fd, Library *UNUSED(lib), Main *bmain)
|
|||
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");
|
||||
version_node_socket_name(ntree, GEO_NODE_RESAMPLE_CURVE, "Geometry", "Curve");
|
||||
version_node_socket_name(ntree, GEO_NODE_SUBDIVIDE_CURVE, "Geometry", "Curve");
|
||||
version_node_socket_name(ntree, GEO_NODE_SET_CURVE_RADIUS, "Geometry", "Curve");
|
||||
version_node_socket_name(ntree, GEO_NODE_SET_CURVE_TILT, "Geometry", "Curve");
|
||||
version_node_socket_name(ntree, GEO_NODE_SET_CURVE_HANDLES, "Geometry", "Curve");
|
||||
version_node_socket_name(ntree, GEO_NODE_TRANSLATE_INSTANCES, "Geometry", "Instances");
|
||||
version_node_socket_name(ntree, GEO_NODE_ROTATE_INSTANCES, "Geometry", "Instances");
|
||||
version_node_socket_name(ntree, GEO_NODE_SCALE_INSTANCES, "Geometry", "Instances");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_BOOLEAN, "Geometry", "Mesh");
|
||||
version_node_input_socket_name(ntree, GEO_NODE_MESH_BOOLEAN, "Geometry 1", "Mesh 1");
|
||||
version_node_input_socket_name(ntree, GEO_NODE_MESH_BOOLEAN, "Geometry 2", "Mesh 2");
|
||||
version_node_socket_name(ntree, GEO_NODE_SUBDIVIDE_MESH, "Geometry", "Mesh");
|
||||
version_node_socket_name(ntree, GEO_NODE_TRIANGULATE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_PRIMITIVE_CONE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_PRIMITIVE_CUBE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(
|
||||
ntree, GEO_NODE_MESH_PRIMITIVE_CYLINDER, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_PRIMITIVE_GRID, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(
|
||||
ntree, GEO_NODE_MESH_PRIMITIVE_ICO_SPHERE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_PRIMITIVE_CIRCLE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(ntree, GEO_NODE_MESH_PRIMITIVE_LINE, "Geometry", "Mesh");
|
||||
version_node_output_socket_name(
|
||||
ntree, GEO_NODE_MESH_PRIMITIVE_UV_SPHERE, "Geometry", "Mesh");
|
||||
version_node_socket_name(ntree, GEO_NODE_SET_POINT_RADIUS, "Geometry", "Points");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,13 +27,13 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_boolean_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry 1")
|
||||
b.add_input<decl::Geometry>("Mesh 1")
|
||||
.only_realized_data()
|
||||
.supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Geometry>("Geometry 2").multi_input().supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Geometry>("Mesh 2").multi_input().supported_type(GEO_COMPONENT_TYPE_MESH);
|
||||
b.add_input<decl::Bool>("Self Intersection");
|
||||
b.add_input<decl::Bool>("Hole Tolerant");
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_boolean_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||
|
@ -53,12 +53,12 @@ static void geo_node_boolean_update(bNodeTree *UNUSED(ntree), bNode *node)
|
|||
case GEO_NODE_BOOLEAN_UNION:
|
||||
nodeSetSocketAvailability(geometry_1_socket, false);
|
||||
nodeSetSocketAvailability(geometry_2_socket, true);
|
||||
node_sock_label(geometry_2_socket, N_("Geometry"));
|
||||
node_sock_label(geometry_2_socket, N_("Mesh"));
|
||||
break;
|
||||
case GEO_NODE_BOOLEAN_DIFFERENCE:
|
||||
nodeSetSocketAvailability(geometry_1_socket, true);
|
||||
nodeSetSocketAvailability(geometry_2_socket, true);
|
||||
node_sock_label(geometry_2_socket, N_("Geometry 2"));
|
||||
node_sock_label(geometry_2_socket, N_("Mesh 2"));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ static void geo_node_boolean_exec(GeoNodeExecParams params)
|
|||
|
||||
GeometrySet set_a;
|
||||
if (operation == GEO_NODE_BOOLEAN_DIFFERENCE) {
|
||||
set_a = params.extract_input<GeometrySet>("Geometry 1");
|
||||
set_a = params.extract_input<GeometrySet>("Mesh 1");
|
||||
/* Note that it technically wouldn't be necessary to realize the instances for the first
|
||||
* geometry input, but the boolean code expects the first shape for the difference operation
|
||||
* to be a single mesh. */
|
||||
|
@ -98,7 +98,7 @@ static void geo_node_boolean_exec(GeoNodeExecParams params)
|
|||
/* The instance transform matrices are owned by the instance group, so we have to
|
||||
* keep all of them around for use during the boolean operation. */
|
||||
Vector<bke::GeometryInstanceGroup> set_groups;
|
||||
Vector<GeometrySet> geometry_sets = params.extract_multi_input<GeometrySet>("Geometry 2");
|
||||
Vector<GeometrySet> geometry_sets = params.extract_multi_input<GeometrySet>("Mesh 2");
|
||||
for (const GeometrySet &geometry_set : geometry_sets) {
|
||||
bke::geometry_set_gather_instances(geometry_set, set_groups);
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ static void geo_node_boolean_exec(GeoNodeExecParams params)
|
|||
Mesh *result = blender::meshintersect::direct_mesh_boolean(
|
||||
meshes, transforms, float4x4::identity(), {}, use_self, hole_tolerant, operation);
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(result));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(result));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -34,11 +34,11 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_curve_resample_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Geometry>("Curve").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Int>("Count").default_value(10).min(1).max(100000).supports_field();
|
||||
b.add_input<decl::Float>("Length").default_value(0.1f).min(0.001f).supports_field().subtype(
|
||||
PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Curve");
|
||||
}
|
||||
|
||||
static void geo_node_curve_resample_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||
|
@ -234,7 +234,7 @@ static void geometry_set_curve_resample(GeometrySet &geometry_set,
|
|||
|
||||
static void geo_node_resample_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Curve");
|
||||
|
||||
NodeGeometryCurveResample &node_storage = *(NodeGeometryCurveResample *)params.node().storage;
|
||||
const GeometryNodeCurveResampleMode mode = (GeometryNodeCurveResampleMode)node_storage.mode;
|
||||
|
@ -244,7 +244,7 @@ static void geo_node_resample_exec(GeoNodeExecParams params)
|
|||
if (mode == GEO_NODE_CURVE_RESAMPLE_COUNT) {
|
||||
Field<int> count = params.extract_input<Field<int>>("Count");
|
||||
if (count < 1) {
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Curve", GeometrySet());
|
||||
return;
|
||||
}
|
||||
mode_param.count.emplace(count);
|
||||
|
@ -257,7 +257,7 @@ static void geo_node_resample_exec(GeoNodeExecParams params)
|
|||
geometry_set.modify_geometry_sets(
|
||||
[&](GeometrySet &geometry_set) { geometry_set_curve_resample(geometry_set, mode_param); });
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Curve", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -33,9 +33,9 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_curve_subdivide_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Geometry>("Curve").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Int>("Cuts").default_value(1).min(0).max(1000).supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Curve");
|
||||
}
|
||||
|
||||
static Array<int> get_subdivided_offsets(const Spline &spline,
|
||||
|
@ -328,7 +328,7 @@ static std::unique_ptr<CurveEval> subdivide_curve(const CurveEval &input_curve,
|
|||
|
||||
static void geo_node_subdivide_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Curve");
|
||||
Field<int> cuts_field = params.extract_input<Field<int>>("Cuts");
|
||||
|
||||
geometry_set.modify_geometry_sets([&](GeometrySet &geometry_set) {
|
||||
|
@ -352,7 +352,7 @@ static void geo_node_subdivide_exec(GeoNodeExecParams params)
|
|||
std::unique_ptr<CurveEval> output_curve = subdivide_curve(*component.get_for_read(), cuts);
|
||||
geometry_set.replace_curve(output_curve.release());
|
||||
});
|
||||
params.set_output("Geometry", geometry_set);
|
||||
params.set_output("Curve", geometry_set);
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -31,7 +31,7 @@ static void geo_node_mesh_primitive_circle_declare(NodeDeclarationBuilder &b)
|
|||
{
|
||||
b.add_input<decl::Int>("Vertices").default_value(32).min(3);
|
||||
b.add_input<decl::Float>("Radius").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_mesh_primitive_circle_layout(uiLayout *layout,
|
||||
|
@ -204,7 +204,7 @@ static void geo_node_mesh_primitive_circle_exec(GeoNodeExecParams params)
|
|||
const int verts_num = params.extract_input<int>("Vertices");
|
||||
if (verts_num < 3) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Vertices must be at least 3"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -212,7 +212,7 @@ static void geo_node_mesh_primitive_circle_exec(GeoNodeExecParams params)
|
|||
|
||||
BLI_assert(BKE_mesh_is_valid(mesh));
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -35,7 +35,7 @@ static void geo_node_mesh_primitive_cone_declare(NodeDeclarationBuilder &b)
|
|||
b.add_input<decl::Float>("Radius Top").min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Float>("Radius Bottom").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Float>("Depth").default_value(2.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_mesh_primitive_cone_init(bNodeTree *UNUSED(ntree), bNode *node)
|
||||
|
@ -708,14 +708,14 @@ static void geo_node_mesh_primitive_cone_exec(GeoNodeExecParams params)
|
|||
const int circle_segments = params.extract_input<int>("Vertices");
|
||||
if (circle_segments < 3) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Vertices must be at least 3"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
const int side_segments = params.extract_input<int>("Side Segments");
|
||||
if (side_segments < 1) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Side Segments must be at least 1"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -723,7 +723,7 @@ static void geo_node_mesh_primitive_cone_exec(GeoNodeExecParams params)
|
|||
const int fill_segments = no_fill ? 1 : params.extract_input<int>("Fill Segments");
|
||||
if (fill_segments < 1) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Fill Segments must be at least 1"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -737,7 +737,7 @@ static void geo_node_mesh_primitive_cone_exec(GeoNodeExecParams params)
|
|||
/* Transform the mesh so that the base of the cone is at the origin. */
|
||||
BKE_mesh_translate(mesh, float3(0.0f, 0.0f, depth * 0.5f), false);
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -30,7 +30,7 @@ static void geo_node_mesh_primitive_cube_declare(NodeDeclarationBuilder &b)
|
|||
b.add_input<decl::Int>("Vertices X").default_value(2).min(2).max(1000);
|
||||
b.add_input<decl::Int>("Vertices Y").default_value(2).min(2).max(1000);
|
||||
b.add_input<decl::Int>("Vertices Z").default_value(2).min(2).max(1000);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
struct CuboidConfig {
|
||||
|
@ -476,13 +476,13 @@ static void geo_node_mesh_primitive_cube_exec(GeoNodeExecParams params)
|
|||
const int verts_z = params.extract_input<int>("Vertices Z");
|
||||
if (verts_x < 1 || verts_y < 1 || verts_z < 1) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Vertices must be at least 1"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
Mesh *mesh = create_cube_mesh(size, verts_x, verts_y, verts_z);
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -54,7 +54,7 @@ static void geo_node_mesh_primitive_cylinder_declare(NodeDeclarationBuilder &b)
|
|||
.min(0.0f)
|
||||
.subtype(PROP_DISTANCE)
|
||||
.description("The height of the cylinder on the Z axis");
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_mesh_primitive_cylinder_layout(uiLayout *layout,
|
||||
|
@ -102,14 +102,14 @@ static void geo_node_mesh_primitive_cylinder_exec(GeoNodeExecParams params)
|
|||
const int circle_segments = params.extract_input<int>("Vertices");
|
||||
if (circle_segments < 3) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Vertices must be at least 3"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
const int side_segments = params.extract_input<int>("Side Segments");
|
||||
if (side_segments < 1) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Side Segments must be at least 1"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -117,7 +117,7 @@ static void geo_node_mesh_primitive_cylinder_exec(GeoNodeExecParams params)
|
|||
const int fill_segments = no_fill ? 1 : params.extract_input<int>("Fill Segments");
|
||||
if (fill_segments < 1) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Fill Segments must be at least 1"));
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -125,7 +125,7 @@ static void geo_node_mesh_primitive_cylinder_exec(GeoNodeExecParams params)
|
|||
Mesh *mesh = create_cylinder_or_cone_mesh(
|
||||
radius, radius, depth, circle_segments, side_segments, fill_segments, fill_type);
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -33,7 +33,7 @@ static void geo_node_mesh_primitive_grid_declare(NodeDeclarationBuilder &b)
|
|||
b.add_input<decl::Float>("Size Y").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Int>("Vertices X").default_value(3).min(2).max(1000);
|
||||
b.add_input<decl::Int>("Vertices Y").default_value(3).min(2).max(1000);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void calculate_uvs(
|
||||
|
@ -160,7 +160,7 @@ static void geo_node_mesh_primitive_grid_exec(GeoNodeExecParams params)
|
|||
const int verts_x = params.extract_input<int>("Vertices X");
|
||||
const int verts_y = params.extract_input<int>("Vertices Y");
|
||||
if (verts_x < 1 || verts_y < 1) {
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -168,7 +168,7 @@ static void geo_node_mesh_primitive_grid_exec(GeoNodeExecParams params)
|
|||
BLI_assert(BKE_mesh_is_valid(mesh));
|
||||
BKE_id_material_eval_ensure_default_slot(&mesh->id);
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -30,7 +30,7 @@ static void geo_node_mesh_primitive_ico_sphere_declare(NodeDeclarationBuilder &b
|
|||
{
|
||||
b.add_input<decl::Float>("Radius").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Int>("Subdivisions").default_value(1).min(1).max(7);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static Mesh *create_ico_sphere_mesh(const int subdivisions, const float radius)
|
||||
|
@ -66,7 +66,7 @@ static void geo_node_mesh_primitive_ico_sphere_exec(GeoNodeExecParams params)
|
|||
const float radius = params.extract_input<float>("Radius");
|
||||
|
||||
Mesh *mesh = create_ico_sphere_mesh(subdivisions, radius);
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -33,7 +33,7 @@ static void geo_node_mesh_primitive_line_declare(NodeDeclarationBuilder &b)
|
|||
b.add_input<decl::Float>("Resolution").default_value(1.0f).min(0.1f).subtype(PROP_DISTANCE);
|
||||
b.add_input<decl::Vector>("Start Location").subtype(PROP_TRANSLATION);
|
||||
b.add_input<decl::Vector>("Offset").default_value({0.0f, 0.0f, 1.0f}).subtype(PROP_TRANSLATION);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_mesh_primitive_line_layout(uiLayout *layout,
|
||||
|
@ -154,7 +154,7 @@ static void geo_node_mesh_primitive_line_exec(GeoNodeExecParams params)
|
|||
mesh = create_line_mesh(start, delta, count);
|
||||
}
|
||||
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -32,7 +32,7 @@ static void geo_node_mesh_primitive_uv_shpere_declare(NodeDeclarationBuilder &b)
|
|||
b.add_input<decl::Int>("Segments").default_value(32).min(3).max(1024);
|
||||
b.add_input<decl::Int>("Rings").default_value(16).min(2).max(1024);
|
||||
b.add_input<decl::Float>("Radius").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static int sphere_vert_total(const int segments, const int rings)
|
||||
|
@ -291,14 +291,14 @@ static void geo_node_mesh_primitive_uv_sphere_exec(GeoNodeExecParams params)
|
|||
if (rings_num < 3) {
|
||||
params.error_message_add(NodeWarningType::Info, TIP_("Rings must be at least 3"));
|
||||
}
|
||||
params.set_output("Geometry", GeometrySet());
|
||||
params.set_output("Mesh", GeometrySet());
|
||||
return;
|
||||
}
|
||||
|
||||
const float radius = params.extract_input<float>("Radius");
|
||||
|
||||
Mesh *mesh = create_uv_sphere_mesh(radius, segments_num, rings_num);
|
||||
params.set_output("Geometry", GeometrySet::create_with_mesh(mesh));
|
||||
params.set_output("Mesh", GeometrySet::create_with_mesh(mesh));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -27,9 +27,9 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_mesh_subdivide_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_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geometry_set_mesh_subdivide(GeometrySet &geometry_set, const int level)
|
||||
|
@ -74,12 +74,12 @@ static void geometry_set_mesh_subdivide(GeometrySet &geometry_set, const int lev
|
|||
|
||||
static void geo_node_mesh_subdivide_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"));
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
return;
|
||||
#endif
|
||||
|
||||
|
@ -87,14 +87,14 @@ static void geo_node_mesh_subdivide_exec(GeoNodeExecParams params)
|
|||
const int subdiv_level = clamp_i(params.extract_input<int>("Level"), 0, 11);
|
||||
|
||||
if (subdiv_level == 0) {
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
return;
|
||||
}
|
||||
|
||||
geometry_set.modify_geometry_sets(
|
||||
[&](GeometrySet &geometry_set) { geometry_set_mesh_subdivide(geometry_set, subdiv_level); });
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -22,12 +22,12 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_rotate_instances_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").only_instances();
|
||||
b.add_input<decl::Geometry>("Instances").only_instances();
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Vector>("Rotation").subtype(PROP_EULER).supports_field();
|
||||
b.add_input<decl::Vector>("Pivot Point").subtype(PROP_TRANSLATION).supports_field();
|
||||
b.add_input<decl::Bool>("Local Space").default_value(true).supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Instances");
|
||||
};
|
||||
|
||||
static void rotate_instances(GeoNodeExecParams ¶ms, InstancesComponent &instances_component)
|
||||
|
@ -77,12 +77,12 @@ static void rotate_instances(GeoNodeExecParams ¶ms, InstancesComponent &inst
|
|||
|
||||
static void geo_node_rotate_instances_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Instances");
|
||||
if (geometry_set.has_instances()) {
|
||||
InstancesComponent &instances = geometry_set.get_component_for_write<InstancesComponent>();
|
||||
rotate_instances(params, instances);
|
||||
}
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Instances", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -22,12 +22,12 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_scale_instances_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").only_instances();
|
||||
b.add_input<decl::Geometry>("Instances").only_instances();
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Vector>("Scale").subtype(PROP_XYZ).default_value({1, 1, 1}).supports_field();
|
||||
b.add_input<decl::Vector>("Center").subtype(PROP_TRANSLATION).supports_field();
|
||||
b.add_input<decl::Bool>("Local Space").default_value(true).supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Instances");
|
||||
};
|
||||
|
||||
static void scale_instances(GeoNodeExecParams ¶ms, InstancesComponent &instances_component)
|
||||
|
@ -74,12 +74,12 @@ static void scale_instances(GeoNodeExecParams ¶ms, InstancesComponent &insta
|
|||
|
||||
static void geo_node_scale_instances_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Instances");
|
||||
if (geometry_set.has_instances()) {
|
||||
InstancesComponent &instances = geometry_set.get_component_for_write<InstancesComponent>();
|
||||
scale_instances(params, instances);
|
||||
}
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Instances", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -25,10 +25,10 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_set_curve_handles_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Geometry>("Curve").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Vector>("Position").implicit_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Curve");
|
||||
}
|
||||
|
||||
static void geo_node_set_curve_handles_layout(uiLayout *layout,
|
||||
|
@ -125,7 +125,7 @@ static void geo_node_set_curve_handles_exec(GeoNodeExecParams params)
|
|||
(NodeGeometrySetCurveHandlePositions *)params.node().storage;
|
||||
const GeometryNodeCurveHandleMode mode = (GeometryNodeCurveHandleMode)node_storage->mode;
|
||||
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Curve");
|
||||
Field<bool> selection_field = params.extract_input<Field<bool>>("Selection");
|
||||
Field<float3> position_field = params.extract_input<Field<float3>>("Position");
|
||||
|
||||
|
@ -144,7 +144,7 @@ static void geo_node_set_curve_handles_exec(GeoNodeExecParams params)
|
|||
params.error_message_add(NodeWarningType::Info,
|
||||
TIP_("The input geometry does not contain a Bezier spline"));
|
||||
}
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Curve", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -20,11 +20,11 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_set_curve_radius_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Geometry>("Curve").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Float>("Radius").min(0.0f).default_value(1.0f).supports_field().subtype(
|
||||
PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Curve");
|
||||
}
|
||||
|
||||
static void set_radius_in_component(GeometryComponent &component,
|
||||
|
@ -52,7 +52,7 @@ static void set_radius_in_component(GeometryComponent &component,
|
|||
|
||||
static void geo_node_set_curve_radius_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Curve");
|
||||
Field<bool> selection_field = params.extract_input<Field<bool>>("Selection");
|
||||
Field<float> radii_field = params.extract_input<Field<float>>("Radius");
|
||||
|
||||
|
@ -63,7 +63,7 @@ static void geo_node_set_curve_radius_exec(GeoNodeExecParams params)
|
|||
}
|
||||
});
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Curve", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -20,10 +20,10 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_set_curve_tilt_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Geometry>("Curve").supported_type(GEO_COMPONENT_TYPE_CURVE);
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Float>("Tilt").subtype(PROP_ANGLE).supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Curve");
|
||||
}
|
||||
|
||||
static void set_tilt_in_component(GeometryComponent &component,
|
||||
|
@ -51,7 +51,7 @@ static void set_tilt_in_component(GeometryComponent &component,
|
|||
|
||||
static void geo_node_set_curve_tilt_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Curve");
|
||||
Field<bool> selection_field = params.extract_input<Field<bool>>("Selection");
|
||||
Field<float> tilt_field = params.extract_input<Field<float>>("Tilt");
|
||||
|
||||
|
@ -62,7 +62,7 @@ static void geo_node_set_curve_tilt_exec(GeoNodeExecParams params)
|
|||
}
|
||||
});
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Curve", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -20,11 +20,11 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_set_point_radius_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::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Float>("Radius").default_value(0.05f).min(0.0f).supports_field().subtype(
|
||||
PROP_DISTANCE);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Points");
|
||||
}
|
||||
|
||||
static void set_radius_in_component(GeometryComponent &component,
|
||||
|
@ -52,7 +52,7 @@ static void set_radius_in_component(GeometryComponent &component,
|
|||
|
||||
static void geo_node_set_point_radius_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Points");
|
||||
Field<bool> selection_field = params.extract_input<Field<bool>>("Selection");
|
||||
Field<float> radii_field = params.extract_input<Field<float>>("Radius");
|
||||
|
||||
|
@ -64,7 +64,7 @@ static void geo_node_set_point_radius_exec(GeoNodeExecParams params)
|
|||
}
|
||||
});
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Points", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -22,11 +22,11 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_translate_instances_declare(NodeDeclarationBuilder &b)
|
||||
{
|
||||
b.add_input<decl::Geometry>("Geometry").only_instances();
|
||||
b.add_input<decl::Geometry>("Instances").only_instances();
|
||||
b.add_input<decl::Bool>("Selection").default_value(true).hide_value().supports_field();
|
||||
b.add_input<decl::Vector>("Translation").subtype(PROP_TRANSLATION).supports_field();
|
||||
b.add_input<decl::Bool>("Local Space").default_value(true).supports_field();
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Instances");
|
||||
};
|
||||
|
||||
static void translate_instances(GeoNodeExecParams ¶ms, InstancesComponent &instances_component)
|
||||
|
@ -62,12 +62,12 @@ static void translate_instances(GeoNodeExecParams ¶ms, InstancesComponent &i
|
|||
|
||||
static void geo_node_translate_instances_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Instances");
|
||||
if (geometry_set.has_instances()) {
|
||||
InstancesComponent &instances = geometry_set.get_component_for_write<InstancesComponent>();
|
||||
translate_instances(params, instances);
|
||||
}
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Instances", std::move(geometry_set));
|
||||
}
|
||||
|
||||
} // namespace blender::nodes
|
||||
|
|
|
@ -31,9 +31,9 @@ namespace blender::nodes {
|
|||
|
||||
static void geo_node_triangulate_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>("Minimum Vertices").default_value(4).min(4).max(10000);
|
||||
b.add_output<decl::Geometry>("Geometry");
|
||||
b.add_output<decl::Geometry>("Mesh");
|
||||
}
|
||||
|
||||
static void geo_node_triangulate_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
|
||||
|
@ -50,7 +50,7 @@ static void geo_triangulate_init(bNodeTree *UNUSED(ntree), bNode *node)
|
|||
|
||||
static void geo_node_triangulate_exec(GeoNodeExecParams params)
|
||||
{
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Geometry");
|
||||
GeometrySet geometry_set = params.extract_input<GeometrySet>("Mesh");
|
||||
const int min_vertices = std::max(params.extract_input<int>("Minimum Vertices"), 4);
|
||||
|
||||
GeometryNodeTriangulateQuads quad_method = static_cast<GeometryNodeTriangulateQuads>(
|
||||
|
@ -67,7 +67,7 @@ static void geo_node_triangulate_exec(GeoNodeExecParams params)
|
|||
}
|
||||
});
|
||||
|
||||
params.set_output("Geometry", std::move(geometry_set));
|
||||
params.set_output("Mesh", std::move(geometry_set));
|
||||
}
|
||||
} // namespace blender::nodes
|
||||
|
||||
|
|
Loading…
Reference in New Issue