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>2010-10-20 13:18:55 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-10-20 13:18:55 +0400
commita044486d7d8faf3acc32d7c1d6dbf505c03e3631 (patch)
treeb329a5de607c5aff7ae60e202347a0eefb025d5d /source/blender/blenkernel
parentc2aa5d6dc01dbc42ef9815bdbe8917b6164bf840 (diff)
[#24267] Hook fails after Solidify
Solidify modifier wasn't assigning origindex values. - BLI_math.h array functions: range_vni(), mul_vn_fl(), mul_vn_vn_fl(), add_vn_vn(), fill_vni(). - define 'AT' as __FILE__ ":" STRINGIFY(__LINE__), useful for quick debug prints.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/BKE_utildefines.h2
-rw-r--r--source/blender/blenkernel/intern/DerivedMesh.c10
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c2
3 files changed, 7 insertions, 7 deletions
diff --git a/source/blender/blenkernel/BKE_utildefines.h b/source/blender/blenkernel/BKE_utildefines.h
index 8359bfdb01b..83dcde26233 100644
--- a/source/blender/blenkernel/BKE_utildefines.h
+++ b/source/blender/blenkernel/BKE_utildefines.h
@@ -44,6 +44,8 @@
#define STRINGIFY_ARG(x) #x
#define STRINGIFY(x) STRINGIFY_ARG(x)
+/* useful for debugging */
+#define AT __FILE__ ":" STRINGIFY(__LINE__)
#ifdef __GNUC__
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index 2e8922dec1b..c213a5a4ce2 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -1840,17 +1840,13 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
/* constructive modifiers need to have an origindex
* otherwise they wont have anywhere to copy the data from */
if(needMapping) {
- int *index, i;
DM_add_vert_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL);
DM_add_edge_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL);
DM_add_face_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL);
- index = DM_get_vert_data_layer(dm, CD_ORIGINDEX);
- for(i=0; i<dm->numVertData; i++) *index++= i;
- index = DM_get_edge_data_layer(dm, CD_ORIGINDEX);
- for(i=0; i<dm->numEdgeData; i++) *index++= i;
- index = DM_get_face_data_layer(dm, CD_ORIGINDEX);
- for(i=0; i<dm->numFaceData; i++) *index++= i;
+ range_vni(DM_get_vert_data_layer(dm, CD_ORIGINDEX), dm->numVertData, 0);
+ range_vni(DM_get_edge_data_layer(dm, CD_ORIGINDEX), dm->numEdgeData, 0);
+ range_vni(DM_get_face_data_layer(dm, CD_ORIGINDEX), dm->numFaceData, 0);
}
}
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index eb895d62f17..20987e15c4d 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -1686,6 +1686,8 @@ DerivedMesh *CDDM_copy(DerivedMesh *source)
return dm;
}
+/* note, the CD_ORIGINDEX layers are all 0, so if there is a direct
+ * relationship betwen mesh data this needs to be set by the caller. */
DerivedMesh *CDDM_from_template(DerivedMesh *source,
int numVerts, int numEdges, int numFaces)
{