[Bf-blender-cvs] [8cbff7093d6] master: Cleanup: Decrease variable scope
Hans Goudey
noreply at git.blender.org
Mon Jun 7 20:08:11 CEST 2021
Commit: 8cbff7093d658661e8f8f242552a4de95a9fbc64
Author: Hans Goudey
Date: Mon Jun 7 13:08:03 2021 -0500
Branches: master
https://developer.blender.org/rB8cbff7093d658661e8f8f242552a4de95a9fbc64
Cleanup: Decrease variable scope
Also use const and bool in a few places.
===================================================================
M source/blender/blenkernel/intern/displist.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/displist.cc b/source/blender/blenkernel/intern/displist.cc
index 20534ef933b..8200dc82dbc 100644
--- a/source/blender/blenkernel/intern/displist.cc
+++ b/source/blender/blenkernel/intern/displist.cc
@@ -34,6 +34,7 @@
#include "DNA_vfont_types.h"
#include "BLI_bitmap.h"
+#include "BLI_index_range.hh"
#include "BLI_linklist.h"
#include "BLI_listbase.h"
#include "BLI_math.h"
@@ -60,6 +61,8 @@
#include "DEG_depsgraph.h"
#include "DEG_depsgraph_query.h"
+using blender::IndexRange;
+
static void boundbox_displist_object(Object *ob);
void BKE_displist_elem_free(DispList *dl)
@@ -677,7 +680,7 @@ static float displist_calc_taper(Depsgraph *depsgraph,
float BKE_displist_calc_taper(
Depsgraph *depsgraph, const Scene *scene, Object *taperobj, int cur, int tot)
{
- float fac = ((float)cur) / (float)(tot - 1);
+ const float fac = ((float)cur) / (float)(tot - 1);
return displist_calc_taper(depsgraph, scene, taperobj, fac);
}
@@ -725,21 +728,13 @@ static ModifierData *curve_get_tessellate_point(const Scene *scene,
{
VirtualModifierData virtualModifierData;
ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData);
- ModifierData *pretessellatePoint;
- int required_mode;
-
- if (for_render) {
- required_mode = eModifierMode_Render;
- }
- else {
- required_mode = eModifierMode_Realtime;
- }
+ ModifierMode required_mode = for_render ? eModifierMode_Render : eModifierMode_Realtime;
if (editmode) {
- required_mode |= eModifierMode_Editmode;
+ required_mode = (ModifierMode)((int)required_mode | eModifierMode_Editmode);
}
- pretessellatePoint = nullptr;
+ ModifierData *pretessellatePoint = nullptr;
for (; md; md = md->next) {
const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
@@ -775,40 +770,29 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
ListBase *target_nurb,
const bool for_render)
{
- VirtualModifierData virtualModifierData;
- ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData);
- ModifierData *pretessellatePoint;
- Curve *cu = (Curve *)ob->data;
- int numElems = 0, numVerts = 0;
- const bool editmode = (!for_render && (cu->editnurb || cu->editfont));
- ModifierApplyFlag apply_flag = (ModifierApplyFlag)0;
- float(*deformedVerts)[3] = nullptr;
- float *keyVerts = nullptr;
- int required_mode;
- bool modified = false;
+ const Curve *cu = (const Curve *)ob->data;
BKE_modifiers_clear_errors(ob);
+ const bool editmode = (!for_render && (cu->editnurb || cu->editfont));
+ ModifierMode required_mode = for_render ? eModifierMode_Render : eModifierMode_Realtime;
+ if (editmode) {
+ required_mode = (ModifierMode)((int)required_mode | eModifierMode_Editmode);
+ }
+
+ ModifierApplyFlag apply_flag = (ModifierApplyFlag)0;
if (editmode) {
apply_flag = MOD_APPLY_USECACHE;
}
if (for_render) {
apply_flag = MOD_APPLY_RENDER;
- required_mode = eModifierMode_Render;
- }
- else {
- required_mode = eModifierMode_Realtime;
- }
-
- const ModifierEvalContext mectx = {depsgraph, ob, apply_flag};
-
- pretessellatePoint = curve_get_tessellate_point(scene, ob, for_render, editmode);
-
- if (editmode) {
- required_mode |= eModifierMode_Editmode;
}
+ float *keyVerts = nullptr;
+ float(*deformedVerts)[3] = nullptr;
+ int numVerts = 0;
if (!editmode) {
+ int numElems = 0;
keyVerts = BKE_key_evaluate_object(ob, &numElems);
if (keyVerts) {
@@ -822,8 +806,14 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
}
}
+ const ModifierEvalContext mectx = {depsgraph, ob, apply_flag};
+ ModifierData *pretessellatePoint = curve_get_tessellate_point(scene, ob, for_render, editmode);
+ bool modified = false;
+
if (pretessellatePoint) {
- for (; md; md = md->next) {
+ VirtualModifierData virtualModifierData;
+ for (ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData); md;
+ md = md->next) {
const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
if (!BKE_modifier_is_enabled(scene, md, required_mode)) {
@@ -862,18 +852,16 @@ bool BKE_curve_calc_modifiers_pre(Depsgraph *depsgraph,
static float (*displist_vert_coords_alloc(ListBase *dispbase, int *r_vert_len))[3]
{
- float(*allverts)[3], *fp;
-
*r_vert_len = 0;
LISTBASE_FOREACH (DispList *, dl, dispbase) {
*r_vert_len += (dl->type == DL_INDEX3) ? dl->nr : dl->parts * dl->nr;
}
- allverts = (float(*)[3])MEM_mallocN(sizeof(float[3]) * (*r_vert_len), __func__);
- fp = (float *)allverts;
+ float(*allverts)[3] = (float(*)[3])MEM_mallocN(sizeof(float[3]) * (*r_vert_len), __func__);
+ float *fp = (float *)allverts;
LISTBASE_FOREACH (DispList *, dl, dispbase) {
- int ofs = 3 * ((dl->type == DL_INDEX3) ? dl->nr : dl->parts * dl->nr);
+ const int ofs = 3 * ((dl->type == DL_INDEX3) ? dl->nr : dl->parts * dl->nr);
memcpy(fp, dl->verts, sizeof(float) * ofs);
fp += ofs;
}
@@ -883,9 +871,7 @@ static float (*displist_vert_coords_alloc(ListBase *dispbase, int *r_vert_len))[
static void displist_vert_coords_apply(ListBase *dispbase, const float (*allverts)[3])
{
- const float *fp;
-
- fp = (float *)allverts;
+ const float *fp = (float *)allverts;
LISTBASE_FOREACH (DispList *, dl, dispbase) {
int ofs = 3 * ((dl->type == DL_INDEX3) ? dl->nr : dl->parts * dl->nr);
memcpy(dl->verts, fp, sizeof(float) * ofs);
@@ -901,44 +887,37 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
const bool for_render,
const bool force_mesh_conversion)
{
- VirtualModifierData virtualModifierData;
- ModifierData *md = BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData);
- ModifierData *pretessellatePoint;
const Curve *cu = (const Curve *)ob->data;
- int required_mode = 0, totvert = 0;
+
const bool editmode = (!for_render && (cu->editnurb || cu->editfont));
- Mesh *modified = nullptr, *mesh_applied;
- float(*vertCos)[3] = nullptr;
- int useCache = !for_render;
- ModifierApplyFlag apply_flag = (ModifierApplyFlag)0;
+ const bool use_cache = !for_render;
- if (for_render) {
- apply_flag = MOD_APPLY_RENDER;
- required_mode = eModifierMode_Render;
- }
- else {
- required_mode = eModifierMode_Realtime;
+ ModifierApplyFlag apply_flag = for_render ? MOD_APPLY_RENDER : (ModifierApplyFlag)0;
+ ModifierMode required_mode = for_render ? eModifierMode_Render : eModifierMode_Realtime;
+ if (editmode) {
+ required_mode = (ModifierMode)((int)required_mode | eModifierMode_Editmode);
}
const ModifierEvalContext mectx_deform = {
depsgraph, ob, editmode ? (ModifierApplyFlag)(apply_flag | MOD_APPLY_USECACHE) : apply_flag};
const ModifierEvalContext mectx_apply = {
- depsgraph, ob, useCache ? (ModifierApplyFlag)(apply_flag | MOD_APPLY_USECACHE) : apply_flag};
+ depsgraph,
+ ob,
+ use_cache ? (ModifierApplyFlag)(apply_flag | MOD_APPLY_USECACHE) : apply_flag};
- pretessellatePoint = curve_get_tessellate_point(scene, ob, for_render, editmode);
-
- if (editmode) {
- required_mode |= eModifierMode_Editmode;
- }
+ ModifierData *pretessellatePoint = curve_get_tessellate_point(scene, ob, for_render, editmode);
- if (pretessellatePoint) {
- md = pretessellatePoint->next;
- }
+ VirtualModifierData virtualModifierData;
+ ModifierData *md = pretessellatePoint == nullptr ?
+ BKE_modifiers_get_virtual_modifierlist(ob, &virtualModifierData) :
+ pretessellatePoint;
if (r_final && *r_final) {
BKE_id_free(nullptr, *r_final);
}
+ Mesh *modified = nullptr;
+ float(*vertCos)[3] = nullptr;
for (; md; md = md->next) {
const ModifierTypeInfo *mti = BKE_modifier_get_info((ModifierType)md->type);
@@ -947,7 +926,7 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
}
/* If we need normals, no choice, have to convert to mesh now. */
- bool need_normal = mti->dependsOnNormals != nullptr && mti->dependsOnNormals(md);
+ const bool need_normal = mti->dependsOnNormals != nullptr && mti->dependsOnNormals(md);
/* XXX 2.8 : now that batch cache is stored inside the ob->data
* we need to create a Mesh for each curve that uses modifiers. */
if (modified == nullptr /* && need_normal */) {
@@ -965,6 +944,7 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
if (mti->type == eModifierTypeType_OnlyDeform ||
(mti->type == eModifierTypeType_DeformOrConstruct && !modified)) {
if (modified) {
+ int totvert = 0;
if (!vertCos) {
vertCos = BKE_mesh_vert_coords_alloc(modified, &totvert);
}
@@ -974,6 +954,7 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
mti->deformVerts(md, &mectx_deform, modified, vertCos, totvert);
}
else {
+ int totvert = 0;
if (!vertCos) {
vertCos = displist_vert_coords_alloc(dispbase, &totvert);
}
@@ -1020,7 +1001,7 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
if (need_normal) {
BKE_mesh_ensure_normals(modified);
}
- mesh_applied = mti->modifyMesh(md, &mectx_apply, modified);
+ Mesh *mesh_applied = mti->modifyMesh(md, &mectx_apply, modified);
if (mesh_applied) {
/* Modifier returned a new derived mesh */
@@ -1100,15 +1081,14 @@ static void curve_calc_modifiers_post(Depsgraph *depsgraph,
static void displist_surf_indices(DispList *dl)
{
- int a, b, p1, p2, p3, p4;
- int *index;
+ int b, p1, p2, p3, p4;
dl->totindex = 0;
- index = dl->index = (int *)MEM_mallocN(sizeof(int[4]) * (dl->parts + 1) * (dl->nr + 1),
- "index array nurbs");
+ int *index = dl->index = (int *)MEM_mallocN(sizeof(int[4]) * (dl->parts + 1) * (dl->nr + 1),
+ "index array nurbs");
- for (a = 0; a < dl->parts; a++) {
+ for (int
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list