[Bf-blender-cvs] [c07fdad03de] master: Cleanup: Move multires files to C++
Hans Goudey
noreply at git.blender.org
Fri Jan 20 16:23:02 CET 2023
Commit: c07fdad03deb2d86d7c5b43028f5f2f8190ee5da
Author: Hans Goudey
Date: Fri Jan 20 07:59:38 2023 -0600
Branches: master
https://developer.blender.org/rBc07fdad03deb2d86d7c5b43028f5f2f8190ee5da
Cleanup: Move multires files to C++
For continued refactoring of the Mesh data structure. See T103343.
===================================================================
M source/blender/blenkernel/BKE_multires.h
M source/blender/blenkernel/CMakeLists.txt
R083 source/blender/blenkernel/intern/multires_reshape.c source/blender/blenkernel/intern/multires_reshape.cc
R090 source/blender/blenkernel/intern/multires_reshape_apply_base.c source/blender/blenkernel/intern/multires_reshape_apply_base.cc
R086 source/blender/blenkernel/intern/multires_reshape_ccg.c source/blender/blenkernel/intern/multires_reshape_ccg.cc
R083 source/blender/blenkernel/intern/multires_reshape_smooth.c source/blender/blenkernel/intern/multires_reshape_smooth.cc
R091 source/blender/blenkernel/intern/multires_reshape_subdivide.c source/blender/blenkernel/intern/multires_reshape_subdivide.cc
R084 source/blender/blenkernel/intern/multires_reshape_util.c source/blender/blenkernel/intern/multires_reshape_util.cc
R071 source/blender/blenkernel/intern/multires_reshape_vertcos.c source/blender/blenkernel/intern/multires_reshape_vertcos.cc
R100 source/blender/blenkernel/intern/multires_subdiv.c source/blender/blenkernel/intern/multires_subdiv.cc
R092 source/blender/blenkernel/intern/multires_unsubdivide.c source/blender/blenkernel/intern/multires_unsubdivide.cc
R081 source/blender/blenkernel/intern/multires_versioning.c source/blender/blenkernel/intern/multires_versioning.cc
M source/blender/blenkernel/intern/subdiv_converter.h
===================================================================
diff --git a/source/blender/blenkernel/BKE_multires.h b/source/blender/blenkernel/BKE_multires.h
index 7c8c13ac8b2..5faafbe957c 100644
--- a/source/blender/blenkernel/BKE_multires.h
+++ b/source/blender/blenkernel/BKE_multires.h
@@ -156,7 +156,7 @@ void old_mdisps_bilinear(float out[3], float (*disps)[3], int st, float u, float
int mdisp_rot_face_to_crn(
struct MPoly *mpoly, int face_side, float u, float v, float *x, float *y);
-/* Reshaping, define in multires_reshape.c */
+/* Reshaping, define in multires_reshape.cc */
bool multiresModifier_reshapeFromVertcos(struct Depsgraph *depsgraph,
struct Object *object,
@@ -204,7 +204,7 @@ void multiresModifier_subdivide_to_level(struct Object *object,
int top_level,
eMultiresSubdivideModeType mode);
-/* Subdivision integration, defined in multires_subdiv.c */
+/* Subdivision integration, defined in multires_subdiv.cc */
struct SubdivSettings;
struct SubdivToMeshSettings;
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 77c16b6924c..bfef13649e3 100644
--- a/source/blender/blenkernel/CMakeLists.txt
+++ b/source/blender/blenkernel/CMakeLists.txt
@@ -216,16 +216,16 @@ set(SRC
intern/modifier.cc
intern/movieclip.c
intern/multires.cc
- intern/multires_reshape.c
- intern/multires_reshape_apply_base.c
- intern/multires_reshape_ccg.c
- intern/multires_reshape_smooth.c
- intern/multires_reshape_subdivide.c
- intern/multires_reshape_util.c
- intern/multires_reshape_vertcos.c
- intern/multires_subdiv.c
- intern/multires_unsubdivide.c
- intern/multires_versioning.c
+ intern/multires_reshape.cc
+ intern/multires_reshape_apply_base.cc
+ intern/multires_reshape_ccg.cc
+ intern/multires_reshape_smooth.cc
+ intern/multires_reshape_subdivide.cc
+ intern/multires_reshape_util.cc
+ intern/multires_reshape_vertcos.cc
+ intern/multires_subdiv.cc
+ intern/multires_unsubdivide.cc
+ intern/multires_versioning.cc
intern/nla.c
intern/node.cc
intern/node_runtime.cc
diff --git a/source/blender/blenkernel/intern/multires_reshape.c b/source/blender/blenkernel/intern/multires_reshape.cc
similarity index 83%
rename from source/blender/blenkernel/intern/multires_reshape.c
rename to source/blender/blenkernel/intern/multires_reshape.cc
index 17e4860ab1b..522e7632b94 100644
--- a/source/blender/blenkernel/intern/multires_reshape.c
+++ b/source/blender/blenkernel/intern/multires_reshape.cc
@@ -30,9 +30,9 @@
/** \name Reshape from object
* \{ */
-bool multiresModifier_reshapeFromVertcos(struct Depsgraph *depsgraph,
- struct Object *object,
- struct MultiresModifierData *mmd,
+bool multiresModifier_reshapeFromVertcos(Depsgraph *depsgraph,
+ Object *object,
+ MultiresModifierData *mmd,
const float (*vert_coords)[3],
const int num_vert_coords)
{
@@ -41,7 +41,7 @@ bool multiresModifier_reshapeFromVertcos(struct Depsgraph *depsgraph,
return false;
}
multires_reshape_store_original_grids(&reshape_context);
- multires_reshape_ensure_grids(object->data, reshape_context.top.level);
+ multires_reshape_ensure_grids(static_cast<Mesh *>(object->data), reshape_context.top.level);
if (!multires_reshape_assign_final_coords_from_vertcos(
&reshape_context, vert_coords, num_vert_coords)) {
multires_reshape_context_free(&reshape_context);
@@ -53,13 +53,13 @@ bool multiresModifier_reshapeFromVertcos(struct Depsgraph *depsgraph,
return true;
}
-bool multiresModifier_reshapeFromObject(struct Depsgraph *depsgraph,
- struct MultiresModifierData *mmd,
- struct Object *dst,
- struct Object *src)
+bool multiresModifier_reshapeFromObject(Depsgraph *depsgraph,
+ MultiresModifierData *mmd,
+ Object *dst,
+ Object *src)
{
- struct Scene *scene_eval = DEG_get_evaluated_scene(depsgraph);
- struct Object *src_eval = DEG_get_evaluated_object(depsgraph, src);
+ Scene *scene_eval = DEG_get_evaluated_scene(depsgraph);
+ Object *src_eval = DEG_get_evaluated_object(depsgraph, src);
Mesh *src_mesh_eval = mesh_get_eval_final(depsgraph, scene_eval, src_eval, &CD_MASK_BAREMESH);
int num_deformed_verts;
@@ -79,10 +79,10 @@ bool multiresModifier_reshapeFromObject(struct Depsgraph *depsgraph,
/** \name Reshape from modifier
* \{ */
-bool multiresModifier_reshapeFromDeformModifier(struct Depsgraph *depsgraph,
- struct Object *object,
- struct MultiresModifierData *mmd,
- struct ModifierData *deform_md)
+bool multiresModifier_reshapeFromDeformModifier(Depsgraph *depsgraph,
+ Object *object,
+ MultiresModifierData *mmd,
+ ModifierData *deform_md)
{
MultiresModifierData highest_mmd = *mmd;
highest_mmd.sculptlvl = highest_mmd.totlvl;
@@ -96,14 +96,14 @@ bool multiresModifier_reshapeFromDeformModifier(struct Depsgraph *depsgraph,
float(*deformed_verts)[3] = BKE_mesh_vert_coords_alloc(multires_mesh, &num_deformed_verts);
/* Apply deformation modifier on the multires, */
- const ModifierEvalContext modifier_ctx = {
- .depsgraph = depsgraph,
- .object = object,
- .flag = MOD_APPLY_USECACHE | MOD_APPLY_IGNORE_SIMPLIFY,
- };
+ ModifierEvalContext modifier_ctx{};
+ modifier_ctx.depsgraph = depsgraph;
+ modifier_ctx.object = object;
+ modifier_ctx.flag = MOD_APPLY_USECACHE | MOD_APPLY_IGNORE_SIMPLIFY;
+
BKE_modifier_deform_verts(
deform_md, &modifier_ctx, multires_mesh, deformed_verts, multires_mesh->totvert);
- BKE_id_free(NULL, multires_mesh);
+ BKE_id_free(nullptr, multires_mesh);
/* Reshaping */
bool result = multiresModifier_reshapeFromVertcos(
@@ -121,9 +121,7 @@ bool multiresModifier_reshapeFromDeformModifier(struct Depsgraph *depsgraph,
/** \name Reshape from grids
* \{ */
-bool multiresModifier_reshapeFromCCG(const int tot_level,
- Mesh *coarse_mesh,
- struct SubdivCCG *subdiv_ccg)
+bool multiresModifier_reshapeFromCCG(const int tot_level, Mesh *coarse_mesh, SubdivCCG *subdiv_ccg)
{
MultiresReshapeContext reshape_context;
if (!multires_reshape_context_create_from_ccg(
@@ -159,8 +157,8 @@ void multiresModifier_subdivide(Object *object,
multiresModifier_subdivide_to_level(object, mmd, top_level, mode);
}
-void multiresModifier_subdivide_to_level(struct Object *object,
- struct MultiresModifierData *mmd,
+void multiresModifier_subdivide_to_level(Object *object,
+ MultiresModifierData *mmd,
const int top_level,
const eMultiresSubdivideModeType mode)
{
@@ -168,7 +166,7 @@ void multiresModifier_subdivide_to_level(struct Object *object,
return;
}
- Mesh *coarse_mesh = object->data;
+ Mesh *coarse_mesh = static_cast<Mesh *>(object->data);
if (coarse_mesh->totloop == 0) {
/* If there are no loops in the mesh implies there is no CD_MDISPS as well. So can early output
* from here as there is nothing to subdivide. */
@@ -182,7 +180,7 @@ void multiresModifier_subdivide_to_level(struct Object *object,
const bool has_mdisps = CustomData_has_layer(&coarse_mesh->ldata, CD_MDISPS);
if (!has_mdisps) {
CustomData_add_layer(
- &coarse_mesh->ldata, CD_MDISPS, CD_SET_DEFAULT, NULL, coarse_mesh->totloop);
+ &coarse_mesh->ldata, CD_MDISPS, CD_SET_DEFAULT, nullptr, coarse_mesh->totloop);
}
/* NOTE: Subdivision happens from the top level of the existing multires modifier. If it is set
@@ -238,9 +236,7 @@ void multiresModifier_subdivide_to_level(struct Object *object,
/** \name Apply base
* \{ */
-void multiresModifier_base_apply(struct Depsgraph *depsgraph,
- Object *object,
- MultiresModifierData *mmd)
+void multiresModifier_base_apply(Depsgraph *depsgraph, Object *object, MultiresModifierData *mmd)
{
multires_force_sculpt_rebuild(object);
diff --git a/source/blender/blenkernel/intern/multires_reshape_apply_base.c b/source/blender/blenkernel/intern/multires_reshape_apply_base.cc
similarity index 90%
rename from source/blender/blenkernel/intern/multires_reshape_apply_base.c
rename to source/blender/blenkernel/intern/multires_reshape_apply_base.cc
index 0da5d814992..d491f30a1ad 100644
--- a/source/blender/blenkernel/intern/multires_reshape_apply_base.c
+++ b/source/blender/blenkernel/intern/multires_reshape_apply_base.cc
@@ -81,8 +81,8 @@ void multires_reshape_apply_base_refit_base_mesh(MultiresReshapeContext *reshape
base_mesh->totpoly,
base_mesh->totloop);
- float(*origco)[3] = MEM_calloc_arrayN(
- base_mesh->totvert, sizeof(float[3]), "multires apply base origco");
+ float(*origco)[3] = static_cast<float(*)[3]>(
+ MEM_calloc_arrayN(base_mesh->totvert, sizeof(float[3]), __func__));
for (int i = 0; i < base_mesh->totvert; i++) {
copy_v3_v3(origco[i], base_positions[i]);
}
@@ -115,15 +115,15 @@ void multires_reshape_apply_base_refit_base_mesh(MultiresReshapeContext *reshape
for (int j = 0; j < pmap[i].count; j++) {
const MPoly *p = &reshape_context->base_polys[pmap[i].indices[j]];
MPoly fake_poly;
- MLoop *fake_loops;
- float(*fake_co)[3];
float no[3];
/* Set up poly, loops, and coords in order to call BKE_mesh_c
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list