[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44082] branches/bmesh/blender/source/ blender: own error - mixup with BMO_slot_mat_get/set
Campbell Barton
ideasman42 at gmail.com
Mon Feb 13 06:59:21 CET 2012
Revision: 44082
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44082
Author: campbellbarton
Date: 2012-02-13 05:59:14 +0000 (Mon, 13 Feb 2012)
Log Message:
-----------
own error - mixup with BMO_slot_mat_get/set
Modified Paths:
--------------
branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c
branches/bmesh/blender/source/blender/bmesh/operators/bmo_mirror.c
branches/bmesh/blender/source/blender/bmesh/operators/bmo_primitive.c
branches/bmesh/blender/source/blender/bmesh/operators/bmo_utils.c
branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c
branches/bmesh/blender/source/blender/modifiers/intern/MOD_bevel.c
Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_operator_api.h 2012-02-13 05:59:14 UTC (rev 44082)
@@ -278,9 +278,9 @@
void BMO_op_flag_enable(struct BMesh *bm, struct BMOperator *op, const int op_flag);
void BMO_op_flag_disable(struct BMesh *bm, struct BMOperator *op, const int op_flag);
-void BMO_slot_float_set(struct BMOperator *op, const char *slotname, float f);
+void BMO_slot_float_set(struct BMOperator *op, const char *slotname, const float f);
float BMO_slot_float_get(BMOperator *op, const char *slotname);
-void BMO_slot_int_set(struct BMOperator *op, const char *slotname, int i);
+void BMO_slot_int_set(struct BMOperator *op, const char *slotname, const int i);
int BMO_slot_int_get(BMOperator *op, const char *slotname);
/* don't pass in arrays that are supposed to map to elements this way.
@@ -297,9 +297,9 @@
/* size must be 3 or 4; this api is meant only for transformation matrices.
* note that internally the matrix is stored in 4x4 form, and it's safe to
* call whichever BMO_Get_Mat* function you want. */
-void BMO_slot_mat_set(struct BMOperator *op, const char *slotname, float *mat, int size);
-void BMO_slot_mat4_set(struct BMOperator *op, const char *slotname, float mat[4][4]);
-void BMO_slot_mat3_set(struct BMOperator *op, const char *slotname, float mat[3][3]);
+void BMO_slot_mat_set(struct BMOperator *op, const char *slotname, const float *mat, int size);
+void BMO_slot_mat4_get(struct BMOperator *op, const char *slotname, float r_mat[4][4]);
+void BMO_slot_mat3_set(struct BMOperator *op, const char *slotname, float r_mat[3][3]);
void BMO_mesh_flag_disable_all(BMesh *bm, BMOperator *op, const char htype, const short oflag);
Modified: branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/bmesh/intern/bmesh_operators.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -306,7 +306,7 @@
*
*/
-void BMO_slot_float_set(BMOperator *op, const char *slotname, float f)
+void BMO_slot_float_set(BMOperator *op, const char *slotname, const float f)
{
BMOpSlot *slot = BMO_slot_get(op, slotname);
if (!(slot->slottype == BMO_OP_SLOT_FLT))
@@ -315,7 +315,7 @@
slot->data.f = f;
}
-void BMO_slot_int_set(BMOperator *op, const char *slotname, int i)
+void BMO_slot_int_set(BMOperator *op, const char *slotname, const int i)
{
BMOpSlot *slot = BMO_slot_get(op, slotname);
if (!(slot->slottype == BMO_OP_SLOT_INT))
@@ -325,7 +325,7 @@
}
/* only supports square mats */
-void BMO_slot_mat_set(struct BMOperator *op, const char *slotname, float *mat, int size)
+void BMO_slot_mat_set(struct BMOperator *op, const char *slotname, const float *mat, int size)
{
BMOpSlot *slot = BMO_slot_get(op, slotname);
if (!(slot->slottype == BMO_OP_SLOT_MAT))
@@ -344,26 +344,25 @@
fprintf(stderr, "%s: invalid size argument %d (bmesh internal error)\n", __func__, size);
memset(slot->data.p, 0, sizeof(float) * 4 * 4);
- return;
}
}
-void BMO_slot_mat4_set(struct BMOperator *op, const char *slotname, float mat[4][4])
+void BMO_slot_mat4_get(struct BMOperator *op, const char *slotname, float r_mat[4][4])
{
BMOpSlot *slot = BMO_slot_get(op, slotname);
if (!(slot->slottype == BMO_OP_SLOT_MAT))
return;
- memcpy(mat, slot->data.p, sizeof(float) * 4 * 4);
+ copy_m4_m4(r_mat, (float (*)[4])slot->data.p);
}
-void BMO_slot_mat3_set(struct BMOperator *op, const char *slotname, float mat[3][3])
+void BMO_slot_mat3_set(struct BMOperator *op, const char *slotname, float r_mat[3][3])
{
BMOpSlot *slot = BMO_slot_get(op, slotname);
if (!(slot->slottype == BMO_OP_SLOT_MAT))
return;
- copy_m3_m4(mat, slot->data.p);
+ copy_m3_m4(r_mat, slot->data.p);
}
void BMO_slot_ptr_set(BMOperator *op, const char *slotname, void *p)
Modified: branches/bmesh/blender/source/blender/bmesh/operators/bmo_mirror.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bmo_mirror.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bmo_mirror.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -54,7 +54,7 @@
ototvert = bm->totvert;
ototedge = bm->totedge;
- BMO_slot_mat4_set(op, "mat", mtx);
+ BMO_slot_mat4_get(op, "mat", mtx);
invert_m4_m4(imtx, mtx);
BMO_op_initf(bm, &dupeop, "dupe geom=%s", op, "geom");
Modified: branches/bmesh/blender/source/blender/bmesh/operators/bmo_primitive.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bmo_primitive.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bmo_primitive.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -234,7 +234,7 @@
if (tot < 2) tot = 2;
if (seg < 2) seg = 2;
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
/* one segment first: the X axis */
phi = 1.0f;
@@ -296,7 +296,7 @@
float phid, dia = BMO_slot_float_get(op, "diameter");
int a, seg = BMO_slot_int_get(op, "segments"), tot = BMO_slot_int_get(op, "revolutions");
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
phid = 2.0f * (float)M_PI / tot;
phi = 0.25f * (float)M_PI;
@@ -384,7 +384,7 @@
float dia = BMO_slot_float_get(op, "diameter");
int a, subdiv = BMO_slot_int_get(op, "subdivisions");
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
/* phid = 2.0f * (float)M_PI / subdiv; */ /* UNUSED */
/* phi = 0.25f * (float)M_PI; */ /* UNUSED */
@@ -441,7 +441,7 @@
float mat[4][4];
int i;
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
for (i = 0; i < monkeynv; i++) {
float v[3];
@@ -494,7 +494,7 @@
if (!segs)
return;
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
phid = 2.0f * (float)M_PI / segs;
phi = .25f * (float)M_PI;
@@ -566,7 +566,7 @@
if (!segs)
return;
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
phid = 2.0f * (float)M_PI / segs;
phi = 0.25f * (float)M_PI;
@@ -652,7 +652,7 @@
BMVert *v1, *v2, *v3, *v4, *v5, *v6, *v7, *v8;
float vec[3], mat[4][4], off = BMO_slot_float_get(op, "size") / 2.0f;
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
if (!off) off = 0.5f;
Modified: branches/bmesh/blender/source/blender/bmesh/operators/bmo_utils.c
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/operators/bmo_utils.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/bmesh/operators/bmo_utils.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -58,7 +58,7 @@
BMVert *v;
float mat[4][4];
- BMO_slot_mat4_set(op, "mat", mat);
+ BMO_slot_mat4_get(op, "mat", mat);
BMO_ITER(v, &iter, bm, op, "verts", BM_VERT) {
mul_m4_v3(mat, v->co);
Modified: branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -408,9 +408,9 @@
BMOperator bmop;
int usefaces = em->selectmode > SCE_SELECT_EDGE;
- BMO_op_initf(em->bm, &bmop,
- "regionextend geom=%hvef constrict=%d usefaces=%d",
- BM_ELEM_SELECT, 0, usefaces);
+ BMO_op_initf(em->bm, &bmop,
+ "regionextend geom=%hvef constrict=%d usefaces=%d",
+ BM_ELEM_SELECT, 0, usefaces);
BMO_op_exec(em->bm, &bmop);
BMO_slot_buffer_hflag_enable(em->bm, &bmop, "geomout", BM_ELEM_SELECT, BM_ALL);
BMO_op_finish(em->bm, &bmop);
@@ -423,9 +423,9 @@
BMOperator bmop;
int usefaces = em->selectmode > SCE_SELECT_EDGE;
- BMO_op_initf(em->bm, &bmop,
- "regionextend geom=%hvef constrict=%d usefaces=%d",
- BM_ELEM_SELECT, 0, usefaces);
+ BMO_op_initf(em->bm, &bmop,
+ "regionextend geom=%hvef constrict=%d usefaces=%d",
+ BM_ELEM_SELECT, 0, usefaces);
BMO_op_exec(em->bm, &bmop);
BMO_slot_buffer_hflag_enable(em->bm, &bmop, "geomout", BM_ELEM_SELECT, BM_ALL);
BMO_op_finish(em->bm, &bmop);
Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c 2012-02-13 05:36:31 UTC (rev 44081)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_array.c 2012-02-13 05:59:14 UTC (rev 44082)
@@ -162,48 +162,6 @@
return max_co - min_co;
}
-typedef struct IndexMapEntry {
- /* the new vert index that this old vert index maps to */
- int new;
- /* -1 if this vert isn't merged, otherwise the old vert index it
- * should be replaced with
- */
- int merge;
- /* 1 if this vert's first copy is merged with the last copy of its
- * merge target, otherwise 0
- */
- short merge_final;
-} IndexMapEntry;
-
-#if 0 /* BMESH_TODO, keep this function??? */
-
-/* indexMap - an array of IndexMap entries
- * oldIndex - the old index to map
- * copyNum - the copy number to map to (original = 0, first copy = 1, etc.)
- */
-static int calc_mapping(IndexMapEntry *indexMap, int oldIndex, int copyNum)
-{
- if(indexMap[oldIndex].merge < 0) {
- /* vert wasn't merged, so use copy of this vert */
- return indexMap[oldIndex].new + copyNum;
- } else if(indexMap[oldIndex].merge == oldIndex) {
- /* vert was merged with itself */
- return indexMap[oldIndex].new;
- } else {
- /* vert was merged with another vert */
- /* follow the chain of merges to the end, or until we've passed
- * a number of vertices equal to the copy number
- */
- if(copyNum <= 0)
- return indexMap[oldIndex].new;
- else
- return calc_mapping(indexMap, indexMap[oldIndex].merge,
- copyNum - 1);
- }
-}
-
-#endif
-
static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd,
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list