Changeset View
Changeset View
Standalone View
Standalone View
source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cube.cc
| Show First 20 Lines • Show All 149 Lines • ▼ Show 20 Lines | static void calculate_polys(const CuboidConfig &config, | ||||
| /* Number of vertices in an XY cross-section of the cube (barring top and bottom faces). */ | /* Number of vertices in an XY cross-section of the cube (barring top and bottom faces). */ | ||||
| const int xy_cross_section_vert_count = config.verts_x * config.verts_y - | const int xy_cross_section_vert_count = config.verts_x * config.verts_y - | ||||
| (config.verts_x - 2) * (config.verts_y - 2); | (config.verts_x - 2) * (config.verts_y - 2); | ||||
| /* Calculate polys for Bottom faces. */ | /* Calculate polys for Bottom faces. */ | ||||
| int vert_1_start = 0; | int vert_1_start = 0; | ||||
| for (const int UNUSED(y) : IndexRange(config.edges_y)) { | for ([[maybe_unused]] const int y : IndexRange(config.edges_y)) { | ||||
| for (const int x : IndexRange(config.edges_x)) { | for (const int x : IndexRange(config.edges_x)) { | ||||
| const int vert_1 = vert_1_start + x; | const int vert_1 = vert_1_start + x; | ||||
| const int vert_2 = vert_1_start + config.verts_x + x; | const int vert_2 = vert_1_start + config.verts_x + x; | ||||
| const int vert_3 = vert_2 + 1; | const int vert_3 = vert_2 + 1; | ||||
| const int vert_4 = vert_1 + 1; | const int vert_4 = vert_1 + 1; | ||||
| define_quad(polys, loops, poly_index, loop_index, vert_1, vert_2, vert_3, vert_4); | define_quad(polys, loops, poly_index, loop_index, vert_1, vert_2, vert_3, vert_4); | ||||
| loop_index += 4; | loop_index += 4; | ||||
| poly_index++; | poly_index++; | ||||
| } | } | ||||
| vert_1_start += config.verts_x; | vert_1_start += config.verts_x; | ||||
| } | } | ||||
| /* Calculate polys for Front faces. */ | /* Calculate polys for Front faces. */ | ||||
| vert_1_start = 0; | vert_1_start = 0; | ||||
| int vert_2_start = config.verts_x * config.verts_y; | int vert_2_start = config.verts_x * config.verts_y; | ||||
| for (const int UNUSED(z) : IndexRange(config.edges_z)) { | for ([[maybe_unused]] const int z : IndexRange(config.edges_z)) { | ||||
| for (const int x : IndexRange(config.edges_x)) { | for (const int x : IndexRange(config.edges_x)) { | ||||
| define_quad(polys, | define_quad(polys, | ||||
| loops, | loops, | ||||
| poly_index, | poly_index, | ||||
| loop_index, | loop_index, | ||||
| vert_1_start + x, | vert_1_start + x, | ||||
| vert_1_start + x + 1, | vert_1_start + x + 1, | ||||
| vert_2_start + x + 1, | vert_2_start + x + 1, | ||||
| vert_2_start + x); | vert_2_start + x); | ||||
| loop_index += 4; | loop_index += 4; | ||||
| poly_index++; | poly_index++; | ||||
| } | } | ||||
| vert_1_start = vert_2_start; | vert_1_start = vert_2_start; | ||||
| vert_2_start += config.verts_x * config.verts_y - (config.verts_x - 2) * (config.verts_y - 2); | vert_2_start += config.verts_x * config.verts_y - (config.verts_x - 2) * (config.verts_y - 2); | ||||
| } | } | ||||
| /* Calculate polys for Top faces. */ | /* Calculate polys for Top faces. */ | ||||
| vert_1_start = config.verts_x * config.verts_y + | vert_1_start = config.verts_x * config.verts_y + | ||||
| (config.verts_z - 2) * (config.verts_x * config.verts_y - | (config.verts_z - 2) * (config.verts_x * config.verts_y - | ||||
| (config.verts_x - 2) * (config.verts_y - 2)); | (config.verts_x - 2) * (config.verts_y - 2)); | ||||
| vert_2_start = vert_1_start + config.verts_x; | vert_2_start = vert_1_start + config.verts_x; | ||||
| for (const int UNUSED(y) : IndexRange(config.edges_y)) { | for ([[maybe_unused]] const int y : IndexRange(config.edges_y)) { | ||||
| for (const int x : IndexRange(config.edges_x)) { | for (const int x : IndexRange(config.edges_x)) { | ||||
| define_quad(polys, | define_quad(polys, | ||||
| loops, | loops, | ||||
| poly_index, | poly_index, | ||||
| loop_index, | loop_index, | ||||
| vert_1_start + x, | vert_1_start + x, | ||||
| vert_1_start + x + 1, | vert_1_start + x + 1, | ||||
| vert_2_start + x + 1, | vert_2_start + x + 1, | ||||
| ▲ Show 20 Lines • Show All 327 Lines • Show Last 20 Lines | |||||