[Bf-blender-cvs] [79e471715f9] temp-sculpt-colors: temp-sculpt-colors: make requested changes
Joseph Eagar
noreply at git.blender.org
Thu Mar 31 23:52:54 CEST 2022
Commit: 79e471715f9d5a335d8ef68ae36bcdd3500b5636
Author: Joseph Eagar
Date: Thu Mar 31 14:29:43 2022 -0700
Branches: temp-sculpt-colors
https://developer.blender.org/rB79e471715f9d5a335d8ef68ae36bcdd3500b5636
temp-sculpt-colors: make requested changes
===================================================================
M release/scripts/startup/bl_ui/properties_data_mesh.py
M source/blender/blenkernel/BKE_attribute.h
M source/blender/blenkernel/BKE_pbvh.h
M source/blender/blenkernel/intern/attribute.c
M source/blender/blenkernel/intern/data_transfer.c
M source/blender/blenkernel/intern/pbvh.c
M source/blender/blenkernel/intern/pbvh.cc
M source/blender/blenkernel/intern/pbvh_intern.h
M source/blender/draw/intern/draw_cache_impl_mesh.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index c2a435692fe..8daa2f50d90 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -495,17 +495,6 @@ class MESH_UL_attributes(UIList):
'CORNER': "Face Corner",
}
- def filter_items(self, context, data, property):
- attrs = getattr(data, property)
- ret = []
- idxs = []
-
- for idx, item in enumerate(attrs):
- ret.append(self.bitflag_filter_item if not item.temporary else 0)
- idxs.append(idx)
-
- return ret, idxs
-
def draw_item(self, _context, layout, _data, attribute, _icon, _active_data, _active_propname, _index):
data_type = attribute.bl_rna.properties['data_type'].enum_items[attribute.data_type]
@@ -628,6 +617,7 @@ class MESH_UL_color_attributes(UIList):
sub.active = False
sub.label(text="%s ▶ %s" % (domain_name, data_type.name))
+
class DATA_PT_vertex_colors(DATA_PT_mesh_attributes, Panel):
bl_label = "Color Attributes"
bl_options = {'DEFAULT_CLOSED'}
@@ -658,7 +648,8 @@ class DATA_PT_vertex_colors(DATA_PT_mesh_attributes, Panel):
self.draw_attribute_warnings(context, layout)
-classes = (MESH_MT_vertex_group_context_menu,
+classes = (
+ MESH_MT_vertex_group_context_menu,
MESH_MT_shape_key_context_menu,
MESH_MT_attribute_context_menu,
MESH_UL_vgroups,
diff --git a/source/blender/blenkernel/BKE_attribute.h b/source/blender/blenkernel/BKE_attribute.h
index b47e7e572cf..8c89a925064 100644
--- a/source/blender/blenkernel/BKE_attribute.h
+++ b/source/blender/blenkernel/BKE_attribute.h
@@ -73,8 +73,8 @@ bool BKE_id_attribute_rename(struct ID *id,
struct ReportList *reports);
int BKE_id_attributes_length(const struct ID *id,
- const AttributeDomainMask domain_mask,
- const CustomDataMask mask);
+ AttributeDomainMask domain_mask,
+ CustomDataMask mask);
struct CustomDataLayer *BKE_id_attributes_active_get(struct ID *id);
void BKE_id_attributes_active_set(struct ID *id, struct CustomDataLayer *layer);
diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h
index c6c8e1dffa7..2c157e0bbb9 100644
--- a/source/blender/blenkernel/BKE_pbvh.h
+++ b/source/blender/blenkernel/BKE_pbvh.h
@@ -533,14 +533,14 @@ bool BKE_pbvh_get_color_layer(const struct Mesh *me,
/* Swaps colors at each element in indices (of domain pbvh->vcol_domain)
* with values in colors. */
-void BKE_pbvh_swap_colors(PBVH *pbvh, float (*colors)[4], int *indices, int elem_num);
+void BKE_pbvh_swap_colors(PBVH *pbvh, float (*colors)[4], int *indices, int indices_num);
/* Stores colors from the elements in indices (of domain pbvh->vcol_domain)
* into colors. */
-void BKE_pbvh_store_colors(PBVH *pbvh, float (*colors)[4], int *indices, int elem_num);
+void BKE_pbvh_store_colors(PBVH *pbvh, float (*colors)[4], int *indices, int indices_num);
/* Like BKE_pbvh_store_colors but handles loop->vert conversion */
-void BKE_pbvh_store_colors_vertex(PBVH *pbvh, float (*colors)[4], int *indices, int elem_num);
+void BKE_pbvh_store_colors_vertex(PBVH *pbvh, float (*colors)[4], int *indices, int indices_num);
bool BKE_pbvh_is_drawing(const PBVH *pbvh);
void BKE_pbvh_is_drawing_set(PBVH *pbvh, bool val);
diff --git a/source/blender/blenkernel/intern/attribute.c b/source/blender/blenkernel/intern/attribute.c
index ad7fea4b78e..e6ae02b7c38 100644
--- a/source/blender/blenkernel/intern/attribute.c
+++ b/source/blender/blenkernel/intern/attribute.c
@@ -273,9 +273,7 @@ CustomDataLayer *BKE_id_attribute_find(const ID *id,
return NULL;
}
-int BKE_id_attributes_length(const ID *id,
- const AttributeDomainMask domain_mask,
- const CustomDataMask mask)
+int BKE_id_attributes_length(const ID *id, AttributeDomainMask domain_mask, CustomDataMask mask)
{
DomainInfo info[ATTR_DOMAIN_NUM];
get_domains(id, info);
diff --git a/source/blender/blenkernel/intern/data_transfer.c b/source/blender/blenkernel/intern/data_transfer.c
index b7ec3a38817..2369ce88ebc 100644
--- a/source/blender/blenkernel/intern/data_transfer.c
+++ b/source/blender/blenkernel/intern/data_transfer.c
@@ -1239,6 +1239,7 @@ void BKE_object_data_transfer_layout(struct Depsgraph *depsgraph,
}
cddata_type = BKE_object_data_transfer_dttype_to_cdtype(dtdata_type);
+
fromto_idx = BKE_object_data_transfer_dttype_to_srcdst_index(dtdata_type);
if (fromto_idx != DT_MULTILAYER_INDEX_INVALID) {
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c
index 8a7bac4cd66..ab58b6f8599 100644
--- a/source/blender/blenkernel/intern/pbvh.c
+++ b/source/blender/blenkernel/intern/pbvh.c
@@ -3149,7 +3149,7 @@ void BKE_pbvh_node_num_loops(PBVH *pbvh, PBVHNode *node, int *r_totloop)
void BKE_pbvh_update_active_vcol(PBVH *pbvh, const Mesh *mesh)
{
- BKE_pbvh_get_color_layer(mesh, &pbvh->vcol, &pbvh->vcol_domain);
+ BKE_pbvh_get_color_layer(mesh, &pbvh->color_layer, &pbvh->color_domain);
}
void BKE_pbvh_pmap_set(PBVH *pbvh, const MeshElemMap *pmap)
diff --git a/source/blender/blenkernel/intern/pbvh.cc b/source/blender/blenkernel/intern/pbvh.cc
index 223f2055cdc..ffeea1dc299 100644
--- a/source/blender/blenkernel/intern/pbvh.cc
+++ b/source/blender/blenkernel/intern/pbvh.cc
@@ -126,7 +126,7 @@ template<typename Helper> struct ColorStorer {
template<typename Helper>
static void pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
{
- if (pbvh->vcol_domain == ATTR_DOMAIN_CORNER) {
+ if (pbvh->color_domain == ATTR_DOMAIN_CORNER) {
const MeshElemMap *melem = pbvh->pmap + vertex;
int count = 0;
@@ -136,7 +136,8 @@ static void pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
const MPoly *mp = pbvh->mpoly + melem->indices[i];
const MLoop *ml = pbvh->mloop + mp->loopstart;
- typename Helper::ColType *col = static_cast<typename Helper::ColType *>(pbvh->vcol->data) +
+ typename Helper::ColType *col = static_cast<typename Helper::ColType *>(
+ pbvh->color_layer->data) +
mp->loopstart;
for (int j = 0; j < mp->totloop; j++, col++, ml++) {
@@ -155,7 +156,7 @@ static void pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
}
}
else {
- typename Helper::ColType *col = static_cast<typename Helper::ColType *>(pbvh->vcol->data) +
+ typename Helper::ColType *col = static_cast<typename Helper::ColType *>(pbvh->color_layer->data) +
vertex;
Helper::to_float(col, r_color);
}
@@ -163,7 +164,7 @@ static void pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
void BKE_pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
{
- if (pbvh->vcol->type == CD_PROP_COLOR) {
+ if (pbvh->color_layer->type == CD_PROP_COLOR) {
pbvh_vertex_color_get<MPropColHelper>(pbvh, vertex, r_color);
}
else {
@@ -174,14 +175,15 @@ void BKE_pbvh_vertex_color_get(PBVH *pbvh, int vertex, float r_color[4])
template<typename Helper, typename Setter = ColorSetter<Helper>>
static void pbvh_vertex_color_set(PBVH *pbvh, int vertex, const float color[4])
{
- if (pbvh->vcol_domain == ATTR_DOMAIN_CORNER) {
+ if (pbvh->color_domain == ATTR_DOMAIN_CORNER) {
const MeshElemMap *melem = pbvh->pmap + vertex;
for (int i : IndexRange(melem->count)) {
const MPoly *mp = pbvh->mpoly + melem->indices[i];
const MLoop *ml = pbvh->mloop + mp->loopstart;
- typename Helper::ColType *col = static_cast<typename Helper::ColType *>(pbvh->vcol->data) +
+ typename Helper::ColType *col = static_cast<typename Helper::ColType *>(
+ pbvh->color_layer->data) +
mp->loopstart;
for (int j = 0; j < mp->totloop; j++, col++, ml++) {
@@ -192,7 +194,8 @@ static void pbvh_vertex_color_set(PBVH *pbvh, int vertex, const float color[4])
}
}
else {
- typename Helper::ColType *col = static_cast<typename Helper::ColType *>(pbvh->vcol->data) +
+ typename Helper::ColType *col = static_cast<typename Helper::ColType *>(
+ pbvh->color_layer->data) +
vertex;
Setter::set_float(col, color);
}
@@ -200,7 +203,7 @@ static void pbvh_vertex_color_set(PBVH *pbvh, int vertex, const float color[4])
void BKE_pbvh_vertex_color_set(PBVH *pbvh, int vertex, const float color[4])
{
- if (pbvh->vcol->type == CD_PROP_COLOR) {
+ if (pbvh->color_layer->type == CD_PROP_COLOR) {
pbvh_vertex_color_set<MPropColHelper>(pbvh, vertex, color);
}
else {
@@ -221,31 +224,31 @@ static void pbvh_set_colors(
void BKE_pbvh_swap_colors(PBVH *pbvh, float (*colors)[4], int *indices, int indices_num)
{
- if (pbvh->vcol->type == CD_PROP_COLOR) {
+ if (pbvh->color_layer->type == CD_PROP_COLOR) {
pbvh_set_colors<MPropColHelper, ColorSwapper<MPropColHelper>>(
- pbvh, pbvh->vcol->data, colors, indices, indices_num);
+ pbvh, pbvh->color_layer->data, colors, indices, indices_num);
}
else {
pbvh_set_colors<MLoopColHelper, ColorSwapper<MLoopColHelper>>(
- pbvh, pbvh->vcol->data, colors, indices, indices_num);
+ pbvh, pbvh->color_layer->data, colors, indices, indices_num);
}
}
void BKE_pbvh_store_colors(PBVH *pbvh, float (*colors)[4], int *indices, int indices_num)
{
- if (pbvh->vcol->type == CD_PROP_COLOR) {
+ if (pbvh->color_layer->type == CD_PROP_COLOR) {
pbvh_set_colors<MPropColHelper, ColorStorer<MPropColHelper>>(
- pbvh, pbvh->vcol->data, colors, indices, indices_num);
+ pbvh, pbvh->color_layer->data, colors, indices, indices_num);
}
else {
pbvh_set_colors<MLoopColHelper, ColorStorer<MLoopColHelper>>(
- pbvh, pbvh->vcol->data, colors, ind
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list