[Bf-blender-cvs] [a5cc113c7b5] sculpt-dev: Sculpt-dev: Code cleanup
Joseph Eagar
noreply at git.blender.org
Thu Feb 24 05:59:34 CET 2022
Commit: a5cc113c7b574507c798dd7a57fa3fc1d7c1fbef
Author: Joseph Eagar
Date: Tue Feb 8 20:09:25 2022 -0800
Branches: sculpt-dev
https://developer.blender.org/rBa5cc113c7b574507c798dd7a57fa3fc1d7c1fbef
Sculpt-dev: Code cleanup
===================================================================
M release/scripts/startup/bl_ui/properties_data_mesh.py
M source/blender/blenkernel/BKE_brush_engine.h
M source/blender/blenkernel/BKE_brush_engine.hh
M source/blender/blenkernel/intern/brush_engine.c
M source/blender/blenkernel/intern/dyntopo.c
M source/blender/blenkernel/intern/mesh_validate.c
M source/blender/blenloader/intern/versioning_300.c
M source/blender/bmesh/intern/bmesh_core.c
M source/blender/bmesh/intern/bmesh_mods.c
M source/blender/bmesh/intern/bmesh_structure.c
M source/blender/bmesh/operators/bmo_removedoubles.c
M source/blender/makesdna/DNA_sculpt_brush_types.h
M source/blender/makesrna/intern/rna_brush_engine.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index b19bd65e977..55d395bdace 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -489,7 +489,7 @@ class MESH_UL_color_attributes(UIList):
class DATA_PT_vertex_colors(MeshButtonsPanel, Panel):
- bl_label = "Vertex Colors"
+ bl_label = "Color Attributes"
bl_options = {'DEFAULT_CLOSED'}
COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
diff --git a/source/blender/blenkernel/BKE_brush_engine.h b/source/blender/blenkernel/BKE_brush_engine.h
index 6e92dad1274..04e5e0dfa31 100644
--- a/source/blender/blenkernel/BKE_brush_engine.h
+++ b/source/blender/blenkernel/BKE_brush_engine.h
@@ -457,8 +457,8 @@ void BKE_brush_channelset_foreach_id(void *userdata,
/******** brush mapping stuff *******/
void BKE_brush_mapping_copy_data(BrushMapping *dst, BrushMapping *src);
-const char *BKE_brush_mapping_type_to_str(BrushMappingType mapping);
-const char *BKE_brush_mapping_type_to_typename(BrushMappingType mapping);
+const char *BKE_brush_mapping_type_to_str(eBrushMappingType mapping);
+const char *BKE_brush_mapping_type_to_typename(eBrushMappingType mapping);
/********* misc utility functions *********/
diff --git a/source/blender/blenkernel/BKE_brush_engine.hh b/source/blender/blenkernel/BKE_brush_engine.hh
index 42883d506ef..84861ebe5c2 100644
--- a/source/blender/blenkernel/BKE_brush_engine.hh
+++ b/source/blender/blenkernel/BKE_brush_engine.hh
@@ -261,9 +261,9 @@ template<typename T> class BrushChannelIF {
continue;
}
- float inputf = (reinterpret_cast<float *>(mapping))[i] * mp->premultiply;
+ float inputf = (reinterpret_cast<float *>(mapping))[i] * mp->premultiply_factor;
- switch ((BrushMappingFunc)mp->mapfunc) {
+ switch ((eBrushMappingFunc)mp->mapfunc) {
case BRUSH_MAPFUNC_NONE:
break;
case BRUSH_MAPFUNC_SAW:
@@ -361,8 +361,8 @@ class BrushChannelSetIF {
void destroy()
{
if (_chset) {
- if (_chset->namemap) {
- BLI_ghash_free(_chset->namemap, nullptr, nullptr);
+ if (_chset->channelmap) {
+ BLI_ghash_free(_chset->channelmap, nullptr, nullptr);
}
LISTBASE_FOREACH (BrushChannel *, ch, &_chset->channels) {
@@ -385,7 +385,7 @@ class BrushChannelSetIF {
template<typename T> BrushChannelIF<T> lookup(const char *idname)
{
BrushChannel *ch = static_cast<BrushChannel *>(
- BLI_ghash_lookup(_chset->namemap, static_cast<const void *>(idname)));
+ BLI_ghash_lookup(_chset->channelmap, static_cast<const void *>(idname)));
BrushChannelIF<T> chif(ch);
return chif;
diff --git a/source/blender/blenkernel/intern/brush_engine.c b/source/blender/blenkernel/intern/brush_engine.c
index a26572b519d..368534d9700 100644
--- a/source/blender/blenkernel/intern/brush_engine.c
+++ b/source/blender/blenkernel/intern/brush_engine.c
@@ -538,7 +538,7 @@ void BKE_brush_channel_init(BrushChannel *ch, BrushChannelType *def)
mp->blendmode = !mdef->no_default ? MA_RAMP_MULT : mdef->blendmode;
mp->factor = mdef->factor == 0.0f ? 1.0f : mdef->factor;
- mp->premultiply = 1.0f;
+ mp->premultiply_factor = 1.0f;
mp->func_cutoff = mdef->func_cutoff != 0.0f ? mdef->func_cutoff : 0.5f;
if (i == BRUSH_MAPPING_STROKE_T) {
@@ -616,7 +616,7 @@ BrushChannelSet *BKE_brush_channelset_create(const char *info)
BrushChannelSet *chset = (BrushChannelSet *)MEM_callocN(sizeof(BrushChannelSet),
info ? tag : "BrushChannelSet");
- chset->namemap = BLI_ghash_str_new("BrushChannelSet ghash");
+ chset->channelmap = BLI_ghash_str_new("BrushChannelSet ghash");
return chset;
}
@@ -625,7 +625,7 @@ void BKE_brush_channelset_free(BrushChannelSet *chset)
{
BrushChannel *ch, *next;
- BLI_ghash_free(chset->namemap, NULL, NULL);
+ BLI_ghash_free(chset->channelmap, NULL, NULL);
for (ch = chset->channels.first; ch; ch = next) {
next = ch->next;
@@ -692,22 +692,22 @@ void BKE_brush_channelset_add(BrushChannelSet *chset, BrushChannel *ch)
BKE_brush_channel_ensure_unque_name(chset, ch);
BLI_addtail(&chset->channels, ch);
- BLI_ghash_insert(chset->namemap, ch->idname, ch);
+ BLI_ghash_insert(chset->channelmap, ch->idname, ch);
chset->totchannel++;
}
void BKE_brush_channel_rename(BrushChannelSet *chset, BrushChannel *ch, const char *newname)
{
- BLI_ghash_remove(chset->namemap, ch->idname, NULL, NULL);
+ BLI_ghash_remove(chset->channelmap, ch->idname, NULL, NULL);
BLI_strncpy(ch->idname, newname, sizeof(ch->idname));
BKE_brush_channel_ensure_unque_name(chset, ch);
- BLI_ghash_insert(chset->namemap, ch->idname, ch);
+ BLI_ghash_insert(chset->channelmap, ch->idname, ch);
}
void BKE_brush_channelset_remove(BrushChannelSet *chset, BrushChannel *ch)
{
- BLI_ghash_remove(chset->namemap, ch->idname, NULL, NULL);
+ BLI_ghash_remove(chset->channelmap, ch->idname, NULL, NULL);
BLI_remlink(&chset->channels, ch);
chset->totchannel--;
@@ -742,7 +742,7 @@ void BKE_brush_channelset_add_duplicate(BrushChannelSet *chset, BrushChannel *ch
BrushChannel *BKE_brush_channelset_lookup(BrushChannelSet *chset, const char *idname)
{
- return BLI_ghash_lookup(chset->namemap, idname);
+ return BLI_ghash_lookup(chset->channelmap, idname);
}
BrushChannel *BKE_brush_channelset_lookup_final(BrushChannelSet *child,
@@ -1060,9 +1060,9 @@ double BKE_brush_channel_eval_mappings(BrushChannel *ch,
continue;
}
- float inputf = ((float *)mapdata)[i] * mp->premultiply;
+ float inputf = ((float *)mapdata)[i] * mp->premultiply_factor;
- switch ((BrushMappingFunc)mp->mapfunc) {
+ switch ((eBrushMappingFunc)mp->mapfunc) {
case BRUSH_MAPFUNC_NONE:
break;
case BRUSH_MAPFUNC_SAW:
@@ -1085,7 +1085,7 @@ double BKE_brush_channel_eval_mappings(BrushChannel *ch,
break;
case BRUSH_MAPFUNC_SQUARE:
inputf -= floorf(inputf);
- inputf = inputf > mp->func_cutoff ? 1.0f : 0.0f; //(float)(inputf > 0.5f);
+ inputf = inputf > mp->func_cutoff ? 1.0f : 0.0f;
break;
default:
break;
@@ -1988,7 +1988,7 @@ void BKE_brush_channelset_read(BlendDataReader *reader, BrushChannelSet *chset)
{
BLO_read_list(reader, &chset->channels);
- chset->namemap = BLI_ghash_str_new("BrushChannelSet");
+ chset->channelmap = BLI_ghash_str_new("BrushChannelSet");
BrushChannel *ch;
// regenerate chset->totchannel just to be safe
@@ -1997,7 +1997,7 @@ void BKE_brush_channelset_read(BlendDataReader *reader, BrushChannelSet *chset)
for (ch = chset->channels.first; ch; ch = ch->next) {
chset->totchannel++;
- BLI_ghash_insert(chset->namemap, ch->idname, ch);
+ BLI_ghash_insert(chset->channelmap, ch->idname, ch);
BLO_read_data_address(reader, &ch->curve.curve);
if (ch->curve.curve) {
@@ -2012,8 +2012,8 @@ void BKE_brush_channelset_read(BlendDataReader *reader, BrushChannelSet *chset)
CurveMapping *curve = mp->curve;
- if (mp->premultiply == 0.0f) {
- mp->premultiply = 1.0f;
+ if (mp->premultiply_factor == 0.0f) {
+ mp->premultiply_factor = 1.0f;
}
if (mp->func_cutoff == 0.0f) {
@@ -2084,7 +2084,7 @@ void BKE_brush_channelset_write(BlendWriter *writer, BrushChannelSet *chset)
}
}
-const char *BKE_brush_mapping_type_to_str(BrushMappingType mapping)
+const char *BKE_brush_mapping_type_to_str(eBrushMappingType mapping)
{
switch (mapping) {
case BRUSH_MAPPING_PRESSURE:
@@ -2108,7 +2108,7 @@ const char *BKE_brush_mapping_type_to_str(BrushMappingType mapping)
return "Error";
}
-const char *BKE_brush_mapping_type_to_typename(BrushMappingType mapping)
+const char *BKE_brush_mapping_type_to_typename(eBrushMappingType mapping)
{
switch (mapping) {
case BRUSH_MAPPING_PRESSURE:
@@ -2153,13 +2153,10 @@ void BKE_brush_mapping_copy_data(BrushMapping *dst, BrushMapping *src)
dst->max = src->max;
dst->factor = src->factor;
dst->flag = src->flag;
- dst->input_channel = src->input_channel;
dst->blendmode = src->blendmode;
dst->func_cutoff = src->func_cutoff;
dst->mapfunc = src->mapfunc;
- dst->premultiply = src->premultiply;
-
- memcpy(dst->name, src->name, sizeof(dst->name));
+ dst->premultiply_factor = src->premultiply_factor;
}
void BKE_brush_channelset_to_unified_settings(BrushChannelSet *chset, UnifiedPaintSettings *ups)
diff --git a/source/blender/blenkernel/intern/dyntopo.c b/source/blender/blenkernel/intern/dyntopo.c
index ce808fb593e..7aa75d8bcfd 100644
--- a/source/blender/blenkernel/intern/dyntopo.c
+++ b/source/blender/blenkernel/intern/dyntopo.c
@@ -228,7 +228,7 @@ static void fix_mesh(PBVH *pbvh, BMesh *bm)
// rebuild disk cycles
BM_ITER_MESH (e, &iter, bm, BM_EDGES_OF_MESH) {
if (BM_edge_exists(e->v1, e->v2)) {
- printf("duplicate edge %p!", e);
+ printf("duplicate edge %p!\n", e);
bm_kill_only_edge(bm, e);
continue;
@@ -333,6 +333,8 @@ CHECKMESH_ATTR static bool check_face_is_manifold(PBVH *pbvh, BMesh *bm, BMFace
continue;
}
+ int i = 0;
+
do {
if (!e) {
break;
@@ -340,8 +342,14 @@ CHECKMESH_ATTR static bool check_face_is_manifold(PBVH *pbvh, BMesh *bm, BMFace
bool same = e->v1 == v1 && e->v2 == v2;
same = same || (e->v1 == v2 && e->v2 == v1);
+
if (same && e != l->e) {
- printf("duplicate edges!");
+ // printf("duplicate edges in face!\n");
+ }
+
+ if (i++ > 5000) {
+ printf("infinite loop in edge disk cycle! v: %p, e: %p\n", v, e);
+ break;
}
} while ((e = BM_DISK_EDGE_NEXT(e, v)) != v->e);
}
@@ -450,6 +458,35 @@ static bool validate_edge(PBVH *pbvh, BMesh *bm, BMEdge *e, bool autofix, bool c
return ret;
}
+CHECKMESH_ATTR bool face_verts_are_same(PBVH *pbvh, BMesh *bm, BMFace *f1, BMFace *f2)
+{
+ BMLoop *l1 = f1->l_
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list