[Bf-blender-cvs] [1640c3536fc] gsoc-2021-porting-modifiers-to-nodes-solidify: Initial setup for solidify node
Fabian Schempp
noreply at git.blender.org
Tue Jun 22 10:49:51 CEST 2021
Commit: 1640c3536fc4bd97e56366b32ec0095759221059
Author: Fabian Schempp
Date: Thu Jun 10 21:01:34 2021 +0200
Branches: gsoc-2021-porting-modifiers-to-nodes-solidify
https://developer.blender.org/rB1640c3536fc4bd97e56366b32ec0095759221059
Initial setup for solidify node
solidify_extrude_generaly working.
- working with data from node
- added basic support for input data
moved solidify to Blender Kernel
makeing node and modifier working with solidify kernel version.
- added offset and boundary data enums for nonmanifold mode.
- selection for simple
make selection work for complex mode
rebaseing and cleanup
Differential Revision: https://developer.blender.org/D11575
===================================================================
M source/blender/blenkernel/intern/solidify_extrude.c
M source/blender/blenkernel/intern/solidify_nonmanifold.c
M source/blender/nodes/CMakeLists.txt
M source/blender/nodes/geometry/nodes/node_geo_solidifiy.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/solidify_extrude.c b/source/blender/blenkernel/intern/solidify_extrude.c
index 4589772f89e..f1d3fce3f8a 100644
--- a/source/blender/blenkernel/intern/solidify_extrude.c
+++ b/source/blender/blenkernel/intern/solidify_extrude.c
@@ -184,7 +184,7 @@ static void mesh_calc_hq_normal(Mesh *mesh, float (*poly_nors)[3], float (*r_ver
/** \name Main Solidify Function
* \{ */
static void get_vgroup(
- Object *ob, struct Mesh *mesh, const char *name, MDeformVert **dvert, int *defgrp_index)
+ const Object *ob, struct Mesh *mesh, const char *name, MDeformVert **dvert, int *defgrp_index)
{
*defgrp_index = BKE_object_defgroup_name_index(ob, name);
*dvert = NULL;
@@ -201,9 +201,6 @@ static void get_vgroup(
Mesh *solidify_extrude(const SolidifyData *solidify_data, Mesh *mesh)
{
- //printf("solidify extrude: %f, %i\n", solidify_data->offset, solidify_data->flag);
- printf("selection data %f\n",solidify_data->selection[0]);
-
Mesh *result;
MVert *mv, *mvert, *orig_mvert;
@@ -611,10 +608,6 @@ Mesh *solidify_extrude(const SolidifyData *solidify_data, Mesh *mesh)
MEM_freeN(edge_user_pairs);
}
- /////
- /////
- ///// V-Group influence start
-
if (ofs_new != 0.0f) {
uint i_orig, i_end;
bool do_shell_align;
@@ -708,10 +701,6 @@ Mesh *solidify_extrude(const SolidifyData *solidify_data, Mesh *mesh)
}
}
- ///// V-Group influende end
- /////
- /////
-
if (do_bevel_convex) {
for (uint i = 0; i < numEdges; i++) {
if (edge_users[i] == INVALID_PAIR) {
@@ -815,8 +804,6 @@ Mesh *solidify_extrude(const SolidifyData *solidify_data, Mesh *mesh)
}
/* vertex group support */
- //if (dvert) {
- //MDeformVert *dv = dvert;
float scalar;
if (defgrp_invert) {
@@ -930,8 +917,7 @@ Mesh *solidify_extrude(const SolidifyData *solidify_data, Mesh *mesh)
else {
for (i = 0; i < numVerts; i++) {
if (vert_lens_sq[i] < offset_sq) {
- float scalar = sqrtf(vert_lens_sq[i]) / offset;
- vert_angles[i] *= scalar;
+ vert_angles[i] *= sqrtf(vert_lens_sq[i]) / offset;
}
}
}
diff --git a/source/blender/blenkernel/intern/solidify_nonmanifold.c b/source/blender/blenkernel/intern/solidify_nonmanifold.c
index 8f9e7a9c3a9..75dedac1fbf 100644
--- a/source/blender/blenkernel/intern/solidify_nonmanifold.c
+++ b/source/blender/blenkernel/intern/solidify_nonmanifold.c
@@ -154,9 +154,6 @@ static void get_vgroup(
/* NOLINTNEXTLINE: readability-function-size */
Mesh *solidify_nonmanifold(const SolidifyData *solidify_data, Mesh *mesh)
{
- //printf("solidify nonmanifold: %f, %i\n", solidify_data->offset, solidify_data->flag);
- printf("selection data non manifold %f\n",solidify_data->selection[3]);
-
Mesh *result;
MVert *mv, *mvert, *orig_mvert;
@@ -1402,7 +1399,6 @@ Mesh *solidify_nonmanifold(const SolidifyData *solidify_data, Mesh *mesh)
float *face_weight = NULL;
if (do_flat_faces) {
- printf('DO FLAT FACES\n');
face_weight = MEM_malloc_arrayN(numPolys, sizeof(*face_weight), "face_weight in solidify");
mp = orig_mpoly;
@@ -1411,7 +1407,6 @@ Mesh *solidify_nonmanifold(const SolidifyData *solidify_data, Mesh *mesh)
int loopend = mp->loopstart + mp->totloop;
ml = orig_mloop + mp->loopstart;
for (int j = mp->loopstart; j < loopend; j++, ml++) {
- MDeformVert *dv = &dvert[ml->v];
if (defgrp_invert) {
scalar_vgroup = min_ff(1.0f - solidify_data->selection[i],scalar_vgroup);
}
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index ce486d0e8ab..8007aed74ab 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -196,8 +196,8 @@ set(SRC
geometry/nodes/node_geo_raycast.cc
geometry/nodes/node_geo_select_by_material.cc
geometry/nodes/node_geo_separate_components.cc
- geometry/nodes/node_geo_solidify.cc
geometry/nodes/node_geo_solidify_extrude.c
+ geometry/nodes/node_geo_solidifiy.cc
geometry/nodes/node_geo_subdivide.cc
geometry/nodes/node_geo_subdivision_surface.cc
geometry/nodes/node_geo_switch.cc
diff --git a/source/blender/nodes/geometry/nodes/node_geo_solidifiy.cc b/source/blender/nodes/geometry/nodes/node_geo_solidifiy.cc
index 0e757ade13a..8cfcc59aa3c 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_solidifiy.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_solidifiy.cc
@@ -53,13 +53,8 @@ static void geo_node_solidify_init(bNodeTree *UNUSED(tree), bNode *node)
node->storage = node_storage;
}
-static void geo_node_solidify_update(bNodeTree *UNUSED(ntree), bNode *node)
+static void geo_node_solidify_update(bNodeTree *UNUSED(ntree), bNode *UNUSED(node))
{
- //const bNode &node = params.node();
- //NodeGeometrySolidify &node_storage = *(NodeGeometrySolidify *)node->storage;
-
- //update_attribute_input_socket_availabilities(
- // *node, "Translation", (GeometryNodeAttributeInputMode)node_storage.input_type);
}
static void geo_node_solidify_exec(GeoNodeExecParams params)
More information about the Bf-blender-cvs
mailing list