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>2012-05-13 15:05:52 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-05-13 15:05:52 +0400
commit305d341ec2c2c5c6485ad6cd719e9472e4bb460d (patch)
treefa4c658ad417869a0ed2e7ef5f37ca94adb2cc3b
parent13bbf1cc7b0a620173475172278d2f8eb9593ccd (diff)
code cleanup: use vector math function minmax_v3v3_v3() and other minor vector function edits.
-rw-r--r--source/blender/blenkernel/intern/armature.c6
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c2
-rw-r--r--source/blender/blenkernel/intern/curve.c10
-rw-r--r--source/blender/blenkernel/intern/displist.c14
-rw-r--r--source/blender/blenkernel/intern/editderivedmesh.c4
-rw-r--r--source/blender/blenkernel/intern/lattice.c4
-rw-r--r--source/blender/blenkernel/intern/mball.c4
-rw-r--r--source/blender/blenkernel/intern/mesh.c2
-rw-r--r--source/blender/blenkernel/intern/object.c18
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c171
-rw-r--r--source/blender/blenlib/BLI_math_vector.h2
-rw-r--r--source/blender/blenlib/intern/math_geom.c2
-rw-r--r--source/blender/blenlib/intern/math_vector_inline.c8
-rw-r--r--source/blender/blenlib/intern/pbvh.c7
-rw-r--r--source/blender/bmesh/intern/bmesh_polygon.c2
-rw-r--r--source/blender/bmesh/operators/bmo_removedoubles.c4
-rw-r--r--source/blender/editors/armature/editarmature.c4
-rw-r--r--source/blender/editors/armature/meshlaplacian.c10
-rw-r--r--source/blender/editors/mesh/editface.c2
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c2
-rw-r--r--source/blender/editors/mesh/meshtools.c14
-rw-r--r--source/blender/editors/object/object_transform.c2
-rw-r--r--source/blender/editors/physics/particle_edit.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c4
-rw-r--r--source/blender/editors/space_view3d/view3d_snap.c12
-rw-r--r--source/blender/editors/transform/transform_manipulator.c2
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c9
-rw-r--r--source/blender/modifiers/intern/MOD_cast.c6
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c7
-rw-r--r--source/blender/render/intern/source/convertblender.c6
-rw-r--r--source/blender/render/intern/source/occlusion.c2
-rw-r--r--source/blender/render/intern/source/rayshade.c4
-rw-r--r--source/blender/render/intern/source/sss.c4
-rw-r--r--source/blender/render/intern/source/strand.c13
-rw-r--r--source/blender/render/intern/source/volume_precache.c2
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp15
36 files changed, 186 insertions, 198 deletions
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 33cb0707316..fe95d15f82e 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -2541,14 +2541,14 @@ int get_selected_defgroups(Object *ob, char *dg_selection, int defbase_tot)
}
/************** Bounding box ********************/
-static int minmax_armature(Object *ob, float min[3], float max[3])
+static int minmax_armature(Object *ob, float r_min[3], float r_max[3])
{
bPoseChannel *pchan;
/* For now, we assume BKE_pose_where_is has already been called (hence we have valid data in pachan). */
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
- DO_MINMAX(pchan->pose_head, min, max);
- DO_MINMAX(pchan->pose_tail, min, max);
+ minmax_v3v3_v3(r_min, r_max, pchan->pose_head);
+ minmax_v3v3_v3(r_min, r_max, pchan->pose_tail);
}
return (ob->pose->chanbase.first != NULL);
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c
index 3ef2ce56cd6..afbabd8d3e5 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -177,7 +177,7 @@ static void cdDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3])
if (dm->numVertData) {
for (i = 0; i < dm->numVertData; i++) {
- DO_MINMAX(cddm->mvert[i].co, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, cddm->mvert[i].co);
}
}
else {
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index d5dfcda77ce..54bc4c742fb 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -393,7 +393,7 @@ void BKE_curve_texspace_calc(Curve *cu)
if (tot) doit = 1;
fp = dl->verts;
while (tot--) {
- DO_MINMAX(fp, min, max);
+ minmax_v3v3_v3(min, max, fp);
fp += 3;
}
dl = dl->next;
@@ -598,9 +598,9 @@ void BKE_nurb_minmax(Nurb *nu, float min[3], float max[3])
a = nu->pntsu;
bezt = nu->bezt;
while (a--) {
- DO_MINMAX(bezt->vec[0], min, max);
- DO_MINMAX(bezt->vec[1], min, max);
- DO_MINMAX(bezt->vec[2], min, max);
+ minmax_v3v3_v3(min, max, bezt->vec[0]);
+ minmax_v3v3_v3(min, max, bezt->vec[1]);
+ minmax_v3v3_v3(min, max, bezt->vec[2]);
bezt++;
}
}
@@ -608,7 +608,7 @@ void BKE_nurb_minmax(Nurb *nu, float min[3], float max[3])
a = nu->pntsu * nu->pntsv;
bp = nu->bp;
while (a--) {
- DO_MINMAX(bp->vec, min, max);
+ minmax_v3v3_v3(min, max, bp->vec);
bp++;
}
}
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index 0154a2fa1e5..17c65856dd6 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -1606,19 +1606,13 @@ static void boundbox_displist(Object *ob)
if (cu->bb == NULL) cu->bb = MEM_callocN(sizeof(BoundBox), "boundbox");
bb = cu->bb;
- dl = ob->disp.first;
-
- while (dl) {
- if (dl->type == DL_INDEX3) tot = dl->nr;
- else tot = dl->nr * dl->parts;
-
+ for (dl = ob->disp.first; dl; dl = dl->next) {
+ tot = (dl->type == DL_INDEX3) ? dl->nr : dl->nr * dl->parts;
vert = dl->verts;
for (a = 0; a < tot; a++, vert += 3) {
- doit = 1;
- DO_MINMAX(vert, min, max);
+ minmax_v3v3_v3(min, max, vert);
}
-
- dl = dl->next;
+ doit = (tot != 0);
}
if (!doit) {
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c
index f480f881a8d..585e0e1c745 100644
--- a/source/blender/blenkernel/intern/editderivedmesh.c
+++ b/source/blender/blenkernel/intern/editderivedmesh.c
@@ -1229,12 +1229,12 @@ static void emDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3])
if (bmdm->tc->bm->totvert) {
if (bmdm->vertexCos) {
BM_ITER_MESH_INDEX (eve, &iter, bmdm->tc->bm, BM_VERTS_OF_MESH, i) {
- DO_MINMAX(bmdm->vertexCos[i], min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, bmdm->vertexCos[i]);
}
}
else {
BM_ITER_MESH (eve, &iter, bmdm->tc->bm, BM_VERTS_OF_MESH) {
- DO_MINMAX(eve->co, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, eve->co);
}
}
}
diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c
index c6f2bb75858..6a69ffb474a 100644
--- a/source/blender/blenkernel/intern/lattice.c
+++ b/source/blender/blenkernel/intern/lattice.c
@@ -701,7 +701,7 @@ void curve_deform_verts(Scene *scene, Object *cuOb, Object *target,
if (defvert_find_weight(dvert, index) > 0.0f) {
mul_m4_v3(cd.curvespace, vertexCos[a]);
- DO_MINMAX(vertexCos[a], cd.dmin, cd.dmax);
+ minmax_v3v3_v3(cd.dmin, cd.dmax, vertexCos[a]);
}
}
@@ -736,7 +736,7 @@ void curve_deform_verts(Scene *scene, Object *cuOb, Object *target,
for (a = 0; a < numVerts; a++) {
mul_m4_v3(cd.curvespace, vertexCos[a]);
- DO_MINMAX(vertexCos[a], cd.dmin, cd.dmax);
+ minmax_v3v3_v3(cd.dmin, cd.dmax, vertexCos[a]);
}
for (a = 0; a < numVerts; a++) {
diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c
index 8075aaa21d3..7da0661fef6 100644
--- a/source/blender/blenkernel/intern/mball.c
+++ b/source/blender/blenkernel/intern/mball.c
@@ -368,7 +368,7 @@ void BKE_mball_texspace_calc(Object *ob)
data = dl->verts;
while (tot--) {
/* Also weird... but longer. From utildefines. */
- DO_MINMAX(data, min, max);
+ minmax_v3v3_v3(min, max, data);
data += 3;
}
dl = dl->next;
@@ -2397,7 +2397,7 @@ int BKE_mball_minmax(MetaBall *mb, float min[3], float max[3])
INIT_MINMAX(min, max);
for (ml = mb->elems.first; ml; ml = ml->next) {
- DO_MINMAX(&ml->x, min, max);
+ minmax_v3v3_v3(min, max, &ml->x);
}
return (mb->elems.first != NULL);
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 16e75fff702..537c64a4dbc 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -3017,7 +3017,7 @@ int BKE_mesh_minmax(Mesh *me, float r_min[3], float r_max[3])
int i = me->totvert;
MVert *mvert;
for (mvert = me->mvert; i--; mvert++) {
- DO_MINMAX(mvert->co, r_min, r_max);
+ minmax_v3v3_v3(r_min, r_max, mvert->co);
}
return (me->totvert != 0);
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index e43c0999698..2ea832eebaa 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -2259,7 +2259,7 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3])
for (a = 0; a < 8; a++) {
mul_m4_v3(ob->obmat, bb.vec[a]);
- DO_MINMAX(bb.vec[a], min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, bb.vec[a]);
}
change = TRUE;
}
@@ -2274,7 +2274,7 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3])
for (v = 0; v < lt->pntsv; v++) {
for (u = 0; u < lt->pntsu; u++, bp++) {
mul_v3_m4v3(vec, ob->obmat, bp->vec);
- DO_MINMAX(vec, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, vec);
}
}
}
@@ -2286,9 +2286,9 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3])
bPoseChannel *pchan;
for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) {
mul_v3_m4v3(vec, ob->obmat, pchan->pose_head);
- DO_MINMAX(vec, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, vec);
mul_v3_m4v3(vec, ob->obmat, pchan->pose_tail);
- DO_MINMAX(vec, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, vec);
}
change = TRUE;
}
@@ -2302,7 +2302,7 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3])
for (a = 0; a < 8; a++) {
mul_m4_v3(ob->obmat, bb.vec[a]);
- DO_MINMAX(bb.vec[a], min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, bb.vec[a]);
}
change = TRUE;
}
@@ -2311,15 +2311,15 @@ void BKE_object_minmax(Object *ob, float min_r[3], float max_r[3])
}
if (change == FALSE) {
- DO_MINMAX(ob->obmat[3], min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, ob->obmat[3]);
copy_v3_v3(vec, ob->obmat[3]);
add_v3_v3(vec, ob->size);
- DO_MINMAX(vec, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, vec);
copy_v3_v3(vec, ob->obmat[3]);
sub_v3_v3(vec, ob->size);
- DO_MINMAX(vec, min_r, max_r);
+ minmax_v3v3_v3(min_r, max_r, vec);
}
}
@@ -2343,7 +2343,7 @@ int BKE_object_minmax_dupli(Scene *scene, Object *ob, float r_min[3], float r_ma
for (i = 0; i < 8; i++) {
float vec[3];
mul_v3_m4v3(vec, dob->mat, bb->vec[i]);
- DO_MINMAX(vec, r_min, r_max);
+ minmax_v3v3_v3(r_min, r_max, vec);
}
ok = 1;
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index 26971368aea..2a92992cb9f 100644
--- a/source/blender/blenkernel/intern/subsurf_ccg.c
+++ b/source/blender/blenkernel/intern/subsurf_ccg.c
@@ -414,9 +414,7 @@ static void set_subsurf_uv(CCGSubSurf *ss, DerivedMesh *dm, DerivedMesh *result,
/* make a map from original faces to CCGFaces */
faceMap = MEM_mallocN(totface * sizeof(*faceMap), "facemapuv");
-
- fi = ccgSubSurf_getFaceIterator(uvss);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(uvss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
faceMap[GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(f))] = f;
}
@@ -664,9 +662,9 @@ static void ccgDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3])
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
- CCGVertIterator *vi = ccgSubSurf_getVertIterator(ss);
- CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
- CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
+ CCGVertIterator *vi;
+ CCGEdgeIterator *ei;
+ CCGFaceIterator *fi;
CCGKey key;
int i, edgeSize = ccgSubSurf_getEdgeSize(ss);
int gridSize = ccgSubSurf_getGridSize(ss);
@@ -676,22 +674,24 @@ static void ccgDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3])
if (!ccgSubSurf_getNumVerts(ss))
min_r[0] = min_r[1] = min_r[2] = max_r[0] = max_r[1] = max_r[2] = 0.0;
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
float *co = ccgSubSurf_getVertData(ss, v);
minmax_v3_v3v3(co, min_r, max_r);
}
+ ccgVertIterator_free(vi);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
CCGElem *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
for (i = 0; i < edgeSize; i++)
minmax_v3_v3v3(CCG_elem_offset_co(&key, edgeData, i), min_r, max_r);
}
+ ccgEdgeIterator_free(ei);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(ss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
int S, x, y, numVerts = ccgSubSurf_getFaceNumVerts(f);
@@ -703,10 +703,7 @@ static void ccgDM_getMinMax(DerivedMesh *dm, float min_r[3], float max_r[3])
minmax_v3_v3v3(CCG_grid_elem_co(&key, faceGridData, x, y), min_r, max_r);
}
}
-
ccgFaceIterator_free(fi);
- ccgEdgeIterator_free(ei);
- ccgVertIterator_free(vi);
}
static int ccgDM_getNumVerts(DerivedMesh *dm)
@@ -1399,8 +1396,7 @@ static void ccgdm_getVertCos(DerivedMesh *dm, float (*cos)[3])
totvert = ccgSubSurf_getNumVerts(ss);
vertMap2 = MEM_mallocN(totvert * sizeof(*vertMap2), "vertmap");
- vi = ccgSubSurf_getVertIterator(ss);
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
vertMap2[GET_INT_FROM_POINTER(ccgSubSurf_getVertVertHandle(v))] = v;
@@ -1409,8 +1405,7 @@ static void ccgdm_getVertCos(DerivedMesh *dm, float (*cos)[3])
totedge = ccgSubSurf_getNumEdges(ss);
edgeMap2 = MEM_mallocN(totedge * sizeof(*edgeMap2), "edgemap");
- ei = ccgSubSurf_getEdgeIterator(ss);
- for (i = 0; !ccgEdgeIterator_isStopped(ei); i++, ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss), i = 0; !ccgEdgeIterator_isStopped(ei); i++, ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
edgeMap2[GET_INT_FROM_POINTER(ccgSubSurf_getEdgeEdgeHandle(e))] = e;
@@ -1418,8 +1413,7 @@ static void ccgdm_getVertCos(DerivedMesh *dm, float (*cos)[3])
totface = ccgSubSurf_getNumFaces(ss);
faceMap2 = MEM_mallocN(totface * sizeof(*faceMap2), "facemap");
- fi = ccgSubSurf_getFaceIterator(ss);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(ss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
faceMap2[GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(f))] = f;
@@ -1473,11 +1467,11 @@ static void ccgDM_foreachMappedVert(
void *userData)
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
- CCGVertIterator *vi = ccgSubSurf_getVertIterator(ccgdm->ss);
+ CCGVertIterator *vi;
CCGKey key;
CCG_key_top_level(&key, ccgdm->ss);
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ccgdm->ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
CCGElem *vd = ccgSubSurf_getVertData(ccgdm->ss, v);
int index = ccgDM_getVertMapIndex(ccgdm->ss, v);
@@ -1496,13 +1490,13 @@ static void ccgDM_foreachMappedEdge(
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
- CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
+ CCGEdgeIterator *ei;
CCGKey key;
int i, edgeSize = ccgSubSurf_getEdgeSize(ss);
CCG_key_top_level(&key, ss);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
CCGElem *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
int index = ccgDM_getEdgeMapIndex(ss, e);
@@ -1527,15 +1521,13 @@ static void ccgDM_drawVerts(DerivedMesh *dm)
CCGFaceIterator *fi;
glBegin(GL_POINTS);
- vi = ccgSubSurf_getVertIterator(ss);
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
glVertex3fv(ccgSubSurf_getVertData(ss, v));
}
ccgVertIterator_free(vi);
- ei = ccgSubSurf_getEdgeIterator(ss);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
int x;
@@ -1544,8 +1536,7 @@ static void ccgDM_drawVerts(DerivedMesh *dm)
}
ccgEdgeIterator_free(ei);
- fi = ccgSubSurf_getFaceIterator(ss);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(ss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
int x, y, S, numVerts = ccgSubSurf_getFaceNumVerts(f);
@@ -1805,25 +1796,26 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm,
doDraw = 0;
matnr = -1;
-#define PASSATTRIB(dx, dy, vert) { \
- if (attribs.totorco) { \
- index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \
- glVertexAttrib3fvARB(attribs.orco.gl_index, attribs.orco.array[index]); \
- } \
- for (b = 0; b < attribs.tottface; b++) { \
- MTFace *tf = &attribs.tface[b].array[a]; \
- glVertexAttrib2fvARB(attribs.tface[b].gl_index, tf->uv[vert]); \
- } \
- for (b = 0; b < attribs.totmcol; b++) { \
- MCol *cp = &attribs.mcol[b].array[a * 4 + vert]; \
- GLubyte col[4]; \
- col[0] = cp->b; col[1] = cp->g; col[2] = cp->r; col[3] = cp->a; \
- glVertexAttrib4ubvARB(attribs.mcol[b].gl_index, col); \
- } \
- if (attribs.tottang) { \
- float *tang = attribs.tang.array[a * 4 + vert]; \
- glVertexAttrib4fvARB(attribs.tang.gl_index, tang); \
- } \
+#define PASSATTRIB(dx, dy, vert) { \
+ if (attribs.totorco) { \
+ index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \
+ glVertexAttrib3fvARB(attribs.orco.gl_index, \
+ attribs.orco.array[index]); \
+ } \
+ for (b = 0; b < attribs.tottface; b++) { \
+ MTFace *tf = &attribs.tface[b].array[a]; \
+ glVertexAttrib2fvARB(attribs.tface[b].gl_index, tf->uv[vert]); \
+ } \
+ for (b = 0; b < attribs.totmcol; b++) { \
+ MCol *cp = &attribs.mcol[b].array[a * 4 + vert]; \
+ GLubyte col[4]; \
+ col[0] = cp->b; col[1] = cp->g; col[2] = cp->r; col[3] = cp->a; \
+ glVertexAttrib4ubvARB(attribs.mcol[b].gl_index, col); \
+ } \
+ if (attribs.tottang) { \
+ float *tang = attribs.tang.array[a * 4 + vert]; \
+ glVertexAttrib4fvARB(attribs.tang.gl_index, tang); \
+ } \
}
totface = ccgSubSurf_getNumFaces(ss);
@@ -1934,7 +1926,9 @@ static void ccgDM_drawFacesGLSL(DerivedMesh *dm, DMSetMaterial setMaterial)
}
/* Only used by non-editmesh types */
-static void ccgDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *userData, int, void *attribs), int (*setFace)(void *userData, int index), void *userData)
+static void ccgDM_drawMappedFacesMat(DerivedMesh *dm,
+ void (*setMaterial)(void *userData, int, void *attribs),
+ int (*setFace)(void *userData, int index), void *userData)
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
@@ -1952,31 +1946,32 @@ static void ccgDM_drawMappedFacesMat(DerivedMesh *dm, void (*setMaterial)(void *
matnr = -1;
-#define PASSATTRIB(dx, dy, vert) { \
- if (attribs.totorco) { \
- index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \
- if (attribs.orco.gl_texco) \
- glTexCoord3fv(attribs.orco.array[index]); \
- else \
- glVertexAttrib3fvARB(attribs.orco.gl_index, attribs.orco.array[index]); \
- } \
- for (b = 0; b < attribs.tottface; b++) { \
- MTFace *tf = &attribs.tface[b].array[a]; \
- if (attribs.tface[b].gl_texco) \
- glTexCoord2fv(tf->uv[vert]); \
- else \
- glVertexAttrib2fvARB(attribs.tface[b].gl_index, tf->uv[vert]); \
- } \
- for (b = 0; b < attribs.totmcol; b++) { \
- MCol *cp = &attribs.mcol[b].array[a * 4 + vert]; \
- GLubyte col[4]; \
- col[0] = cp->b; col[1] = cp->g; col[2] = cp->r; col[3] = cp->a; \
- glVertexAttrib4ubvARB(attribs.mcol[b].gl_index, col); \
- } \
- if (attribs.tottang) { \
- float *tang = attribs.tang.array[a * 4 + vert]; \
- glVertexAttrib4fvARB(attribs.tang.gl_index, tang); \
- } \
+#define PASSATTRIB(dx, dy, vert) { \
+ if (attribs.totorco) { \
+ index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \
+ if (attribs.orco.gl_texco) \
+ glTexCoord3fv(attribs.orco.array[index]); \
+ else \
+ glVertexAttrib3fvARB(attribs.orco.gl_index, \
+ attribs.orco.array[index]); \
+ } \
+ for (b = 0; b < attribs.tottface; b++) { \
+ MTFace *tf = &attribs.tface[b].array[a]; \
+ if (attribs.tface[b].gl_texco) \
+ glTexCoord2fv(tf->uv[vert]); \
+ else \
+ glVertexAttrib2fvARB(attribs.tface[b].gl_index, tf->uv[vert]); \
+ } \
+ for (b = 0; b < attribs.totmcol; b++) { \
+ MCol *cp = &attribs.mcol[b].array[a * 4 + vert]; \
+ GLubyte col[4]; \
+ col[0] = cp->b; col[1] = cp->g; col[2] = cp->r; col[3] = cp->a; \
+ glVertexAttrib4ubvARB(attribs.mcol[b].gl_index, col); \
+ } \
+ if (attribs.tottang) { \
+ float *tang = attribs.tang.array[a * 4 + vert]; \
+ glVertexAttrib4fvARB(attribs.tang.gl_index, tang); \
+ } \
}
totface = ccgSubSurf_getNumFaces(ss);
@@ -2422,14 +2417,14 @@ static void ccgDM_drawMappedEdges(DerivedMesh *dm,
{
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
- CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
+ CCGEdgeIterator *ei;
CCGKey key;
int i, useAging, edgeSize = ccgSubSurf_getEdgeSize(ss);
CCG_key_top_level(&key, ss);
ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
CCGElem *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
int index = ccgDM_getEdgeMapIndex(ss, e);
@@ -2460,13 +2455,13 @@ static void ccgDM_drawMappedEdgesInterp(DerivedMesh *dm,
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
CCGKey key;
- CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss);
+ CCGEdgeIterator *ei;
int i, useAging, edgeSize = ccgSubSurf_getEdgeSize(ss);
CCG_key_top_level(&key, ss);
ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
CCGElem *edgeData = ccgSubSurf_getEdgeDataArray(ss, e);
int index = ccgDM_getEdgeMapIndex(ss, e);
@@ -2498,11 +2493,11 @@ static void ccgDM_foreachMappedFaceCenter(
CCGDerivedMesh *ccgdm = (CCGDerivedMesh *) dm;
CCGSubSurf *ss = ccgdm->ss;
CCGKey key;
- CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss);
+ CCGFaceIterator *fi;
CCG_key_top_level(&key, ss);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(ss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
int index = ccgDM_getFaceMapIndex(ss, f);
@@ -3168,8 +3163,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
totvert = ccgSubSurf_getNumVerts(ss);
ccgdm->vertMap = MEM_mallocN(totvert * sizeof(*ccgdm->vertMap), "vertMap");
- vi = ccgSubSurf_getVertIterator(ss);
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
ccgdm->vertMap[GET_INT_FROM_POINTER(ccgSubSurf_getVertVertHandle(v))].vert = v;
@@ -3178,8 +3172,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
totedge = ccgSubSurf_getNumEdges(ss);
ccgdm->edgeMap = MEM_mallocN(totedge * sizeof(*ccgdm->edgeMap), "edgeMap");
- ei = ccgSubSurf_getEdgeIterator(ss);
- for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
+ for (ei = ccgSubSurf_getEdgeIterator(ss); !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) {
CCGEdge *e = ccgEdgeIterator_getCurrent(ei);
ccgdm->edgeMap[GET_INT_FROM_POINTER(ccgSubSurf_getEdgeEdgeHandle(e))].edge = e;
@@ -3187,8 +3180,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
totface = ccgSubSurf_getNumFaces(ss);
ccgdm->faceMap = MEM_mallocN(totface * sizeof(*ccgdm->faceMap), "faceMap");
- fi = ccgSubSurf_getFaceIterator(ss);
- for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
+ for (fi = ccgSubSurf_getFaceIterator(ss); !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) {
CCGFace *f = ccgFaceIterator_getCurrent(fi);
ccgdm->faceMap[GET_INT_FROM_POINTER(ccgSubSurf_getFaceFaceHandle(f))].face = f;
@@ -3237,7 +3229,7 @@ static CCGDerivedMesh *getCCGDerivedMesh(CCGSubSurf *ss,
has_edge_origindex = CustomData_has_layer(&ccgdm->dm.edgeData, CD_ORIGINDEX);
- loopindex = loopindex2 = 0; //current loop index
+ loopindex = loopindex2 = 0; /* current loop index */
for (index = 0; index < totface; index++) {
CCGFace *f = ccgdm->faceMap[index].face;
int numVerts = ccgSubSurf_getFaceNumVerts(f);
@@ -3587,8 +3579,7 @@ void subsurf_calculate_limit_positions(Mesh *me, float (*positions_r)[3])
ss_sync_from_derivedmesh(ss, dm, NULL, 0);
- vi = ccgSubSurf_getVertIterator(ss);
- for (; !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
+ for (vi = ccgSubSurf_getVertIterator(ss); !ccgVertIterator_isStopped(vi); ccgVertIterator_next(vi)) {
CCGVert *v = ccgVertIterator_getCurrent(vi);
int idx = GET_INT_FROM_POINTER(ccgSubSurf_getVertVertHandle(v));
int N = ccgSubSurf_getVertNumEdges(v);
@@ -3596,8 +3587,8 @@ void subsurf_calculate_limit_positions(Mesh *me, float (*positions_r)[3])
float *co;
int i;
- edge_sum[0] = edge_sum[1] = edge_sum[2] = 0.0;
- face_sum[0] = face_sum[1] = face_sum[2] = 0.0;
+ zero_v3(edge_sum);
+ zero_v3(face_sum);
for (i = 0; i < N; i++) {
CCGEdge *e = ccgSubSurf_getVertEdge(v, i);
diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h
index d0f883e1c99..374da46a686 100644
--- a/source/blender/blenlib/BLI_math_vector.h
+++ b/source/blender/blenlib/BLI_math_vector.h
@@ -118,6 +118,8 @@ MINLINE void negate_v3_v3(float r[3], const float a[3]);
MINLINE void negate_v4(float r[4]);
MINLINE void negate_v4_v4(float r[4], const float a[3]);
+MINLINE void negate_v3_short(short r[3]);
+
MINLINE float dot_v2v2(const float a[2], const float b[2]);
MINLINE float dot_v3v3(const float a[3], const float b[3]);
diff --git a/source/blender/blenlib/intern/math_geom.c b/source/blender/blenlib/intern/math_geom.c
index 5f5321162c9..3962f53862d 100644
--- a/source/blender/blenlib/intern/math_geom.c
+++ b/source/blender/blenlib/intern/math_geom.c
@@ -2323,7 +2323,7 @@ void box_minmax_bounds_m4(float min[3], float max[3], float boundbox[2][3], floa
vec[2] = (a & 4) ? boundbox[0][2] : boundbox[1][2];
mul_m4_v3(mat, vec);
- DO_MINMAX(vec, mn, mx);
+ minmax_v3v3_v3(mn, mx, vec);
}
copy_v3_v3(min, mn);
diff --git a/source/blender/blenlib/intern/math_vector_inline.c b/source/blender/blenlib/intern/math_vector_inline.c
index ef8f26e3780..56188048c02 100644
--- a/source/blender/blenlib/intern/math_vector_inline.c
+++ b/source/blender/blenlib/intern/math_vector_inline.c
@@ -458,6 +458,14 @@ MINLINE void negate_v4_v4(float r[4], const float a[4])
r[3] = -a[3];
}
+/* could add more... */
+MINLINE void negate_v3_short(short r[3])
+{
+ r[0] = -r[0];
+ r[1] = -r[1];
+ r[2] = -r[2];
+}
+
MINLINE float dot_v2v2(const float a[2], const float b[2])
{
return a[0] * b[0] + a[1] * b[1];
diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c
index d80f90ec41a..73a90fa53a0 100644
--- a/source/blender/blenlib/intern/pbvh.c
+++ b/source/blender/blenlib/intern/pbvh.c
@@ -1090,11 +1090,8 @@ static void pbvh_update_normals(PBVH *bvh, PBVHNode **nodes,
copy_v3_v3(no, vnor[v]);
normalize_v3(no);
-
- mvert->no[0] = (short)(no[0] * 32767.0f);
- mvert->no[1] = (short)(no[1] * 32767.0f);
- mvert->no[2] = (short)(no[2] * 32767.0f);
-
+ normal_float_to_short_v3(mvert->no, no);
+
mvert->flag &= ~ME_VERT_PBVH_UPDATE;
}
}
diff --git a/source/blender/bmesh/intern/bmesh_polygon.c b/source/blender/bmesh/intern/bmesh_polygon.c
index fbfc253c364..6f6db3ce239 100644
--- a/source/blender/bmesh/intern/bmesh_polygon.c
+++ b/source/blender/bmesh/intern/bmesh_polygon.c
@@ -213,7 +213,7 @@ void BM_face_calc_center_bounds(BMFace *f, float r_cent[3])
l_iter = l_first = BM_FACE_FIRST_LOOP(f);
do {
- DO_MINMAX(l_iter->v->co, min, max);
+ minmax_v3v3_v3(min, max, l_iter->v->co);
} while ((l_iter = l_iter->next) != l_first);
mid_v3_v3v3(r_cent, min, max);
diff --git a/source/blender/bmesh/operators/bmo_removedoubles.c b/source/blender/bmesh/operators/bmo_removedoubles.c
index 8060c3b5142..52c693efc84 100644
--- a/source/blender/bmesh/operators/bmo_removedoubles.c
+++ b/source/blender/bmesh/operators/bmo_removedoubles.c
@@ -396,8 +396,8 @@ void bmo_collapse_exec(BMesh *bm, BMOperator *op)
BLI_array_grow_one(edges);
edges[tot] = e;
- DO_MINMAX(e->v1->co, min, max);
- DO_MINMAX(e->v2->co, min, max);
+ minmax_v3v3_v3(min, max, e->v1->co);
+ minmax_v3v3_v3(min, max, e->v2->co);
}
add_v3_v3v3(min, min, max);
diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c
index f698153eb7f..8e2dfb72703 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -569,8 +569,8 @@ void docenter_armature(Scene *scene, Object *ob, float cursor[3], int centermode
float min[3], max[3];
INIT_MINMAX(min, max);
for (ebone = arm->edbo->first; ebone; ebone = ebone->next) {
- DO_MINMAX(ebone->head, min, max);
- DO_MINMAX(ebone->tail, min, max);
+ minmax_v3v3_v3(min, max, ebone->head);
+ minmax_v3v3_v3(min, max, ebone->tail);
}
mid_v3_v3v3(cent, min, max);
}
diff --git a/source/blender/editors/armature/meshlaplacian.c b/source/blender/editors/armature/meshlaplacian.c
index ccba3599318..b975d156868 100644
--- a/source/blender/editors/armature/meshlaplacian.c
+++ b/source/blender/editors/armature/meshlaplacian.c
@@ -451,11 +451,11 @@ static void heat_ray_tree_create(LaplacianSystem *sys)
float bb[6];
INIT_MINMAX(bb, bb + 3);
- DO_MINMAX(verts[mf->v1], bb, bb + 3);
- DO_MINMAX(verts[mf->v2], bb, bb + 3);
- DO_MINMAX(verts[mf->v3], bb, bb + 3);
+ minmax_v3v3_v3(bb, bb + 3, verts[mf->v1]);
+ minmax_v3v3_v3(bb, bb + 3, verts[mf->v2]);
+ minmax_v3v3_v3(bb, bb + 3, verts[mf->v3]);
if (mf->v4) {
- DO_MINMAX(verts[mf->v4], bb, bb + 3);
+ minmax_v3v3_v3(bb, bb + 3, verts[mf->v4]);
}
BLI_bvhtree_insert(sys->heat.bvhtree, a, bb, 2);
@@ -1753,7 +1753,7 @@ static void harmonic_coordinates_bind(Scene *UNUSED(scene), MeshDeformModifierDa
INIT_MINMAX(mdb->min, mdb->max);
for (a = 0; a < mdb->totcagevert; a++)
- DO_MINMAX(mdb->cagecos[a], mdb->min, mdb->max);
+ minmax_v3v3_v3(mdb->min, mdb->max, mdb->cagecos[a]);
/* allocate memory */
mdb->size = (2 << (mmd->gridsize - 1)) + 2;
diff --git a/source/blender/editors/mesh/editface.c b/source/blender/editors/mesh/editface.c
index 5f6384d6b24..63704f5b8e6 100644
--- a/source/blender/editors/mesh/editface.c
+++ b/source/blender/editors/mesh/editface.c
@@ -427,7 +427,7 @@ int paintface_minmax(Object *ob, float r_min[3], float r_max[3])
copy_v3_v3(vec, (mvert[ml->v].co));
mul_m3_v3(bmat, vec);
add_v3_v3v3(vec, vec, ob->obmat[3]);
- DO_MINMAX(vec, r_min, r_max);
+ minmax_v3v3_v3(r_min, r_max, vec);
}
ok = TRUE;
diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c
index 2f317ed87c2..9be71218da0 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -734,7 +734,7 @@ static int edbm_dupli_extrude_cursor_invoke(bContext *C, wmOperator *op, wmEvent
BM_ITER_MESH (v1, &iter, vc.em->bm, BM_VERTS_OF_MESH) {
if (BM_elem_flag_test(v1, BM_ELEM_SELECT)) {
- DO_MINMAX(v1->co, min, max);
+ minmax_v3v3_v3(min, max, v1->co);
done = 1;
}
}
diff --git a/source/blender/editors/mesh/meshtools.c b/source/blender/editors/mesh/meshtools.c
index aa89eaa0c6d..989f1a36f99 100644
--- a/source/blender/editors/mesh/meshtools.c
+++ b/source/blender/editors/mesh/meshtools.c
@@ -806,7 +806,7 @@ intptr_t mesh_octree_table(Object *ob, BMEditMesh *em, const float co[3], char m
BMVert *eve;
BM_ITER_MESH (eve, &iter, em->bm, BM_VERTS_OF_MESH) {
- DO_MINMAX(eve->co, min, max);
+ minmax_v3v3_v3(min, max, eve->co);
}
}
else {
@@ -814,19 +814,17 @@ intptr_t mesh_octree_table(Object *ob, BMEditMesh *em, const float co[3], char m
int a;
for (a = 0, mvert = me->mvert; a < me->totvert; a++, mvert++)
- DO_MINMAX(mvert->co, min, max);
+ minmax_v3v3_v3(min, max, mvert->co);
}
/* for quick unit coordinate calculus */
copy_v3_v3(MeshOctree.offs, min);
- MeshOctree.offs[0] -= MOC_THRESH; /* we offset it 1 threshold unit extra */
- MeshOctree.offs[1] -= MOC_THRESH;
- MeshOctree.offs[2] -= MOC_THRESH;
+ /* we offset it 1 threshold unit extra */
+ add_v3_fl(MeshOctree.offs, -MOC_THRESH);
sub_v3_v3v3(MeshOctree.div, max, min);
- MeshOctree.div[0] += 2 * MOC_THRESH; /* and divide with 2 threshold unit more extra (try 8x8 unit grid on paint) */
- MeshOctree.div[1] += 2 * MOC_THRESH;
- MeshOctree.div[2] += 2 * MOC_THRESH;
+ /* and divide with 2 threshold unit more extra (try 8x8 unit grid on paint) */
+ add_v3_fl(MeshOctree.div, 2.0f * MOC_THRESH);
mul_v3_fl(MeshOctree.div, 1.0f / MOC_RES);
if (MeshOctree.div[0] == 0.0f) MeshOctree.div[0] = 1.0f;
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index 34395163ad3..9c58717ec53 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -697,7 +697,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
mul_v3_fl(cent, 1.0f / (float)total);
}
else {
- DO_MINMAX(eve->co, min, max);
+ minmax_v3v3_v3(min, max, eve->co);
mid_v3_v3v3(cent, min, max);
}
}
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 64f4ffe4881..9f5e700616e 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -3100,8 +3100,8 @@ static int particle_intersect_dm(Scene *scene, Object *ob, DerivedMesh *dm,
if (pa_minmax==0) {
INIT_MINMAX(p_min, p_max);
- DO_MINMAX(co1, p_min, p_max);
- DO_MINMAX(co2, p_min, p_max);
+ minmax_v3v3_v3(p_min, p_max, co1);
+ minmax_v3v3_v3(p_min, p_max, co2);
}
else {
copy_v3_v3(p_min, pa_minmax);
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index bfd293ee5b6..e35c0e1c654 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -2189,9 +2189,9 @@ static int viewselected_exec(bContext *C, wmOperator *UNUSED(op))
bPoseChannel *pchan_tx = pchan->custom_tx ? pchan->custom_tx : pchan;
ok = 1;
mul_v3_m4v3(vec, ob->obmat, pchan_tx->pose_head);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
mul_v3_m4v3(vec, ob->obmat, pchan_tx->pose_tail);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
}
}
}
diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c
index dfb3714948b..5af1829af5a 100644
--- a/source/blender/editors/space_view3d/view3d_snap.c
+++ b/source/blender/editors/space_view3d/view3d_snap.c
@@ -501,7 +501,7 @@ static void make_trans_verts(Object *obedit, float min[3], float max[3], int mod
if (tv->flag & SELECT) {
add_v3_v3(centroid, tv->oldloc);
total += 1.0f;
- DO_MINMAX(tv->oldloc, min, max);
+ minmax_v3v3_v3(min, max, tv->oldloc);
}
}
if (total != 0.0f) {
@@ -856,7 +856,7 @@ static void bundle_midpoint(Scene *scene, Object *ob, float vec[3])
if ((track->flag & TRACK_HAS_BUNDLE) && TRACK_SELECTED(track)) {
ok = 1;
mul_v3_m4v3(pos, obmat, track->bundle_pos);
- DO_MINMAX(pos, min, max);
+ minmax_v3v3_v3(min, max, pos);
}
track = track->next;
@@ -898,7 +898,7 @@ static int snap_curs_to_sel(bContext *C, wmOperator *UNUSED(op))
mul_m3_v3(bmat, vec);
add_v3_v3(vec, obedit->obmat[3]);
add_v3_v3(centroid, vec);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
}
if (v3d->around == V3D_CENTROID) {
@@ -923,7 +923,7 @@ static int snap_curs_to_sel(bContext *C, wmOperator *UNUSED(op))
copy_v3_v3(vec, pchan->pose_head);
mul_m4_v3(obact->obmat, vec);
add_v3_v3(centroid, vec);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
count++;
}
}
@@ -943,7 +943,7 @@ static int snap_curs_to_sel(bContext *C, wmOperator *UNUSED(op))
}
add_v3_v3(centroid, vec);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
count++;
}
CTX_DATA_END;
@@ -1082,7 +1082,7 @@ int ED_view3d_minmax_verts(Object *obedit, float min[3], float max[3])
mul_m3_v3(bmat, vec);
add_v3_v3(vec, obedit->obmat[3]);
add_v3_v3(centroid, vec);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
}
MEM_freeN(transvmain);
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 94f6640ca5b..a869af56537 100644
--- a/source/blender/editors/transform/transform_manipulator.c
+++ b/source/blender/editors/transform/transform_manipulator.c
@@ -114,7 +114,7 @@ static void calc_tw_center(Scene *scene, float *co)
float *min= scene->twmin;
float *max= scene->twmax;
- DO_MINMAX(co, min, max);
+ minmax_v3v3_v3(min, max, co);
add_v3_v3(twcent, co);
}
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index 6b03b5a1a8a..e504e37cb20 100644
--- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c
+++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
@@ -870,13 +870,12 @@ static void uv_map_transform_center(Scene *scene, View3D *v3d, float *result,
switch (around) {
case V3D_CENTER: /* bounding box center */
- min[0] = min[1] = min[2] = 1e20f;
- max[0] = max[1] = max[2] = -1e20f;
+ INIT_MINMAX(min, max);
BM_ITER_MESH (efa, &iter, em->bm, BM_FACES_OF_MESH) {
if (BM_elem_flag_test(efa, BM_ELEM_SELECT)) {
BM_ITER_ELEM (l, &liter, efa, BM_LOOPS_OF_FACE) {
- DO_MINMAX(l->v->co, min, max);
+ minmax_v3v3_v3(min, max, l->v->co);
}
}
}
@@ -886,9 +885,7 @@ static void uv_map_transform_center(Scene *scene, View3D *v3d, float *result,
case V3D_CURSOR: /*cursor center*/
cursx = give_cursor(scene, v3d);
/* shift to objects world */
- result[0] = cursx[0] - ob->obmat[3][0];
- result[1] = cursx[1] - ob->obmat[3][1];
- result[2] = cursx[2] - ob->obmat[3][2];
+ sub_v3_v3v3(result, cursx, ob->obmat[3]);
break;
case V3D_LOCAL: /*object center*/
diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c
index c4772895b03..5e791a9f748 100644
--- a/source/blender/modifiers/intern/MOD_cast.c
+++ b/source/blender/modifiers/intern/MOD_cast.c
@@ -367,16 +367,16 @@ static void cuboid_do(
float vec[3];
/* let the center of the ctrl_ob be part of the bound box: */
- DO_MINMAX(center, min, max);
+ minmax_v3v3_v3(min, max, center);
for (i = 0; i < numVerts; i++) {
sub_v3_v3v3(vec, vertexCos[i], center);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
}
}
else {
for (i = 0; i < numVerts; i++) {
- DO_MINMAX(vertexCos[i], min, max);
+ minmax_v3v3_v3(min, max, vertexCos[i]);
}
}
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 264d84af81e..0ca4d8dcd4f 100644
--- a/source/blender/modifiers/intern/MOD_solidify.c
+++ b/source/blender/modifiers/intern/MOD_solidify.c
@@ -558,9 +558,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* flip vertex normals for copied verts */
mv = mvert + numVerts;
for (i = 0; i < numVerts; i++, mv++) {
- mv->no[0] = -mv->no[0];
- mv->no[1] = -mv->no[1];
- mv->no[2] = -mv->no[2];
+ negate_v3_short(mv->no);
}
if (smd->flag & MOD_SOLIDIFY_RIM) {
@@ -692,7 +690,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
#ifdef SOLIDIFY_SIDE_NORMALS
- normal_quad_v3(nor, mvert[ml[j - 4].v].co,
+ normal_quad_v3(nor,
+ mvert[ml[j - 4].v].co,
mvert[ml[j - 3].v].co,
mvert[ml[j - 2].v].co,
mvert[ml[j - 1].v].co);
diff --git a/source/blender/render/intern/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index 1fd10f83389..b69f9518c1a 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -4331,7 +4331,7 @@ static void finalize_render_object(Render *re, ObjectRen *obr, int timeoffset)
if ((a & 255)==0) ver= obr->vertnodes[a>>8].vert;
else ver++;
- DO_MINMAX(ver->co, min, max);
+ minmax_v3v3_v3(min, max, ver->co);
}
if (obr->strandbuf) {
@@ -4357,8 +4357,8 @@ static void finalize_render_object(Render *re, ObjectRen *obr, int timeoffset)
copy_v3_v3(sbound->boundbox[0], smin);
copy_v3_v3(sbound->boundbox[1], smax);
- DO_MINMAX(smin, min, max);
- DO_MINMAX(smax, min, max);
+ minmax_v3v3_v3(min, max, smin);
+ minmax_v3v3_v3(min, max, smax);
}
}
diff --git a/source/blender/render/intern/source/occlusion.c b/source/blender/render/intern/source/occlusion.c
index 03767dfa391..21e4e216063 100644
--- a/source/blender/render/intern/source/occlusion.c
+++ b/source/blender/render/intern/source/occlusion.c
@@ -402,7 +402,7 @@ static int occ_find_bbox_axis(OcclusionTree *tree, int begin, int end, float *mi
INIT_MINMAX(min, max);
for (a = begin; a < end; a++) {
- DO_MINMAX(tree->co[a], min, max);
+ minmax_v3v3_v3(min, max, tree->co[a]);
}
for (a=0; a<3; a++) {
diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c
index c68fb578d4c..f550cd82061 100644
--- a/source/blender/render/intern/source/rayshade.c
+++ b/source/blender/render/intern/source/rayshade.c
@@ -2234,8 +2234,8 @@ static void ray_shadow_qmc(ShadeInput *shi, LampRen *lar, const float lampco[3],
QMC_initPixel(qsa, shi->thread);
INIT_MINMAX(min, max);
- for (i=0; i<totjitco; i++) {
- DO_MINMAX(jitco[i], min, max);
+ for (i = 0; i < totjitco; i++) {
+ minmax_v3v3_v3(min, max, jitco[i]);
}
RE_rayobject_hint_bb(R.raytree, &bb_hint, min, max);
diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c
index cbcc63148e9..c8a37998169 100644
--- a/source/blender/render/intern/source/sss.c
+++ b/source/blender/render/intern/source/sss.c
@@ -762,8 +762,8 @@ ScatterTree *scatter_tree_new(ScatterSettings *ss[3], float scale, float error,
points[i].area= fabsf(area[i])/(tree->scale*tree->scale);
points[i].back= (area[i] < 0.0f);
- mul_v3_fl(points[i].co, 1.0f/tree->scale);
- DO_MINMAX(points[i].co, tree->min, tree->max);
+ mul_v3_fl(points[i].co, 1.0f / tree->scale);
+ minmax_v3v3_v3(tree->min, tree->max, points[i].co);
refpoints[i]= points + i;
}
diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c
index cc824087c87..6690425967c 100644
--- a/source/blender/render/intern/source/strand.c
+++ b/source/blender/render/intern/source/strand.c
@@ -1063,18 +1063,19 @@ void free_strand_surface(Render *re)
void strand_minmax(StrandRen *strand, float min[3], float max[3], const float width)
{
StrandVert *svert;
- float vec[3], width2= 2.0f*width;
+ const float width2 = width * 2.0f;
+ float vec[3];
int a;
for (a=0, svert=strand->vert; a<strand->totvert; a++, svert++) {
copy_v3_v3(vec, svert->co);
- DO_MINMAX(vec, min, max);
+ minmax_v3v3_v3(min, max, vec);
if (width!=0.0f) {
- vec[0]+= width; vec[1]+= width; vec[2]+= width;
- DO_MINMAX(vec, min, max);
- vec[0]-= width2; vec[1]-= width2; vec[2]-= width2;
- DO_MINMAX(vec, min, max);
+ add_v3_fl(vec, width);
+ minmax_v3v3_v3(min, max, vec);
+ add_v3_fl(vec, -width2);
+ minmax_v3v3_v3(min, max, vec);
}
}
}
diff --git a/source/blender/render/intern/source/volume_precache.c b/source/blender/render/intern/source/volume_precache.c
index ff715eeca07..ea6b9b890ac 100644
--- a/source/blender/render/intern/source/volume_precache.c
+++ b/source/blender/render/intern/source/volume_precache.c
@@ -150,7 +150,7 @@ void global_bounds_obi(Render *re, ObjectInstanceRen *obi, float *bbmin, float *
/* convert to global space */
mul_m4_v3(re->viewinv, co);
- DO_MINMAX(co, vp->bbmin, vp->bbmax);
+ minmax_v3v3_v3(vp->bbmin, vp->bbmax, co);
}
copy_v3_v3(bbmin, vp->bbmin);
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 14362cd8f06..196f032e584 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -1375,16 +1375,17 @@ static float my_boundbox_mesh(Mesh *me, float *loc, float *size)
if (!size) size= msize;
mvert= me->mvert;
- for (a=0; a<me->totvert; a++, mvert++) {
- co= mvert->co;
+ for (a = 0; a<me->totvert; a++, mvert++) {
+ co = mvert->co;
/* bounds */
- DO_MINMAX(co, min, max);
+ minmax_v3v3_v3(min, max, co);
/* radius */
- vert_radius= co[0]*co[0] + co[1]*co[1] + co[2]*co[2];
+
+ vert_radius = len_squared_v3(co);
if (vert_radius > radius)
- radius= vert_radius;
+ radius = vert_radius;
}
if (me->totvert) {
@@ -1432,8 +1433,8 @@ static void my_tex_space_mesh(Mesh *me)
INIT_MINMAX(min, max);
fp= (float *)kb->data;
- for (a=0; a<kb->totelem; a++, fp+=3) {
- DO_MINMAX(fp, min, max);
+ for (a=0; a<kb->totelem; a++, fp += 3) {
+ minmax_v3v3_v3(min, max, fp);
}
if (kb->totelem) {
loc[0]= (min[0]+max[0])/2.0f; loc[1]= (min[1]+max[1])/2.0f; loc[2]= (min[2]+max[2])/2.0f;