Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2013-04-18 21:09:56 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-04-18 21:09:56 +0400
commit5c72a19c09a8066b0cbe49730dc129bd93d5857a (patch)
tree0afce5d4f7636b17082ab830e5e49419b4af1fb8 /source/blender/blenkernel/intern/DerivedMesh.c
parentfeeab1ad53f1b7cd4496fb8e7f173f21e460aac0 (diff)
add display mode for sharp edges.
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c39
1 files changed, 4 insertions, 35 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 255723b0977..1860ea6d53f 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -53,6 +53,7 @@
#include "BKE_pbvh.h"
#include "BKE_cdderivedmesh.h"
#include "BKE_displist.h"
+#include "BKE_editmesh.h"
#include "BKE_key.h"
#include "BKE_modifier.h"
#include "BKE_mesh.h"
@@ -1204,22 +1205,8 @@ void DM_update_weight_mcol(Object *ob, DerivedMesh *dm, int const draw_flag,
int i;
if (em) {
-
- /* no need to store both */
- if (em->derivedFaceColor) {
- MEM_freeN(em->derivedFaceColor);
- em->derivedFaceColor = NULL;
- em->derivedFaceColorLen = 0;
- }
-
- if (em->derivedVertColor && em->derivedVertColorLen == numVerts) {
- wtcol_v = em->derivedVertColor;
- }
- else {
- if (em->derivedVertColor) MEM_freeN(em->derivedVertColor);
- wtcol_v = em->derivedVertColor = MEM_mallocN(sizeof(*wtcol_v) * numVerts, __func__);
- em->derivedVertColorLen = numVerts;
- }
+ BKE_editmesh_color_ensure(em, BM_VERT);
+ wtcol_v = em->derivedVertColor;
}
else {
wtcol_v = MEM_mallocN(sizeof(*wtcol_v) * numVerts, __func__);
@@ -1294,26 +1281,8 @@ void DM_update_weight_mcol(Object *ob, DerivedMesh *dm, int const draw_flag,
static void DM_update_statvis_color(Scene *scene, Object *ob, DerivedMesh *dm)
{
BMEditMesh *em = BKE_editmesh_from_object(ob);
- int numFaces = em->bm->totface;
- unsigned char (*wtcol_f)[4];
-
- /* no need to store both */
- if (em->derivedVertColor) {
- MEM_freeN(em->derivedVertColor);
- em->derivedVertColor = NULL;
- em->derivedVertColorLen = 0;
- }
-
- if (em->derivedFaceColor && em->derivedFaceColorLen == numFaces) {
- wtcol_f = em->derivedFaceColor;
- }
- else {
- if (em->derivedFaceColor) MEM_freeN(em->derivedFaceColor);
- wtcol_f = em->derivedFaceColor = MEM_mallocN(sizeof(*wtcol_f) * numFaces, __func__);
- em->derivedFaceColorLen = numFaces;
- }
- BKE_editmesh_statvis_calc(em, dm, &scene->toolsettings->statvis, wtcol_f);
+ BKE_editmesh_statvis_calc(em, dm, &scene->toolsettings->statvis);
}
static void shapekey_layers_to_keyblocks(DerivedMesh *dm, Mesh *me, int actshape_uid)