Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc
| Show All 23 Lines | |||||
| #include "UI_resources.h" | #include "UI_resources.h" | ||||
| #include "node_geometry_util.hh" | #include "node_geometry_util.hh" | ||||
| namespace blender::nodes { | namespace blender::nodes { | ||||
| static void geo_node_mesh_primitive_grid_declare(NodeDeclarationBuilder &b) | static void geo_node_mesh_primitive_grid_declare(NodeDeclarationBuilder &b) | ||||
| { | { | ||||
| b.add_input<decl::Float>("Size X").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE); | b.add_input<decl::Float>(N_("Size X")).default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE); | ||||
| b.add_input<decl::Float>("Size Y").default_value(1.0f).min(0.0f).subtype(PROP_DISTANCE); | b.add_input<decl::Float>(N_("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>(N_("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_input<decl::Int>(N_("Vertices Y")).default_value(3).min(2).max(1000); | ||||
| b.add_output<decl::Geometry>("Mesh"); | b.add_output<decl::Geometry>(N_("Mesh")); | ||||
| } | } | ||||
| static void calculate_uvs( | static void calculate_uvs( | ||||
| Mesh *mesh, Span<MVert> verts, Span<MLoop> loops, const float size_x, const float size_y) | Mesh *mesh, Span<MVert> verts, Span<MLoop> loops, const float size_x, const float size_y) | ||||
| { | { | ||||
| MeshComponent mesh_component; | MeshComponent mesh_component; | ||||
| mesh_component.replace(mesh, GeometryOwnershipType::Editable); | mesh_component.replace(mesh, GeometryOwnershipType::Editable); | ||||
| OutputAttribute_Typed<float2> uv_attribute = | OutputAttribute_Typed<float2> uv_attribute = | ||||
| ▲ Show 20 Lines • Show All 140 Lines • Show Last 20 Lines | |||||