Commit: 60822ec183a514f38f478ec3f3a167f59865f027
Author: Campbell Barton
Date:   Thu Jul 23 13:20:34 2015 +1000
Branches: master
https://developer.blender.org/rB60822ec183a514f38f478ec3f3a167f59865f027

Use looptri for BVH raycast (simple cases)

===================================================================

M       source/blender/blenkernel/intern/constraint.c
M       source/blender/blenkernel/intern/shrinkwrap.c
M       source/blender/editors/transform/transform_snap.c
M       source/blender/modifiers/intern/MOD_surface.c
M       source/blender/modifiers/intern/MOD_weightvgproximity.c

===================================================================

diff --git a/source/blender/blenkernel/intern/constraint.c 
b/source/blender/blenkernel/intern/constraint.c
index 4f08643..be466c2 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -3438,7 +3438,7 @@ static void shrinkwrap_get_tarmat(bConstraint *con, 
bConstraintOb *cob, bConstra
                                        if (scon->shrinkType == 
MOD_SHRINKWRAP_NEAREST_VERTEX)
                                                
bvhtree_from_mesh_verts(&treeData, target, 0.0, 2, 6);
                                        else
-                                               
bvhtree_from_mesh_faces(&treeData, target, 0.0, 2, 6);
+                                               
bvhtree_from_mesh_looptri(&treeData, target, 0.0, 2, 6);
                                        
                                        if (treeData.tree == NULL) {
                                                fail = true;
@@ -3490,7 +3490,7 @@ static void shrinkwrap_get_tarmat(bConstraint *con, 
bConstraintOb *cob, bConstra
                                                break;
                                        }
 
-                                       bvhtree_from_mesh_faces(&treeData, 
target, scon->dist, 4, 6);
+                                       bvhtree_from_mesh_looptri(&treeData, 
target, scon->dist, 4, 6);
                                        if (treeData.tree == NULL) {
                                                fail = true;
                                                break;
@@ -4107,7 +4107,7 @@ static void followtrack_evaluate(bConstraint *con, 
bConstraintOb *cob, ListBase
 
                                        sub_v3_v3v3(ray_nor, ray_end, 
ray_start);
 
-                                       bvhtree_from_mesh_faces(&treeData, 
target, 0.0f, 4, 6);
+                                       bvhtree_from_mesh_looptri(&treeData, 
target, 0.0f, 4, 6);
 
                                        hit.dist = FLT_MAX;
                                        hit.index = -1;
diff --git a/source/blender/blenkernel/intern/shrinkwrap.c 
b/source/blender/blenkernel/intern/shrinkwrap.c
index 2ff81cd..5ecd2fc 100644
--- a/source/blender/blenkernel/intern/shrinkwrap.c
+++ b/source/blender/blenkernel/intern/shrinkwrap.c
@@ -279,8 +279,8 @@ static void 
shrinkwrap_calc_normal_projection(ShrinkwrapCalcData *calc, bool for
        }
 
        /* After sucessufuly build the trees, start projection vertexs */
-       if (bvhtree_from_mesh_faces(&treeData, calc->target, 0.0, 4, 6) &&
-           (auxMesh == NULL || bvhtree_from_mesh_faces(&auxData, auxMesh, 0.0, 
4, 6)))
+       if (bvhtree_from_mesh_looptri(&treeData, calc->target, 0.0, 4, 6) &&
+           (auxMesh == NULL || bvhtree_from_mesh_looptri(&auxData, auxMesh, 
0.0, 4, 6)))
        {
 
 #ifndef __APPLE__
@@ -381,7 +381,7 @@ static void 
shrinkwrap_calc_nearest_surface_point(ShrinkwrapCalcData *calc)
        BVHTreeNearest nearest  = NULL_BVHTreeNearest;
 
        /* Create a bvh-tree of the given target */
-       bvhtree_from_mesh_faces(&treeData, calc->target, 0.0, 2, 6);
+       bvhtree_from_mesh_looptri(&treeData, calc->target, 0.0, 2, 6);
        if (treeData.tree == NULL) {
                OUT_OF_MEMORY();
                return;
diff --git a/source/blender/editors/transform/transform_snap.c 
b/source/blender/editors/transform/transform_snap.c
index d1cd33b..3b488fd 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -1533,7 +1533,7 @@ static bool snapDerivedMesh(short snap_mode, ARegion *ar, 
Object *ob, DerivedMes
                        len_diff = 0.0f;  /* In case BVHTree would fail for 
some reason... */
 
                        treeData.em_evil = em;
-                       bvhtree_from_mesh_faces(&treeData, dm, 0.0f, 2, 6);
+                       bvhtree_from_mesh_looptri(&treeData, dm, 0.0f, 2, 6);
                        if (treeData.tree != NULL) {
                                nearest.index = -1;
                                nearest.dist_sq = FLT_MAX;
@@ -1575,7 +1575,7 @@ static bool snapDerivedMesh(short snap_mode, ARegion *ar, 
Object *ob, DerivedMes
                                }
 
                                treeData.em_evil = em;
-                               bvhtree_from_mesh_faces(&treeData, dm, 0.0f, 4, 
6);
+                               bvhtree_from_mesh_looptri(&treeData, dm, 0.0f, 
4, 6);
 
                                hit.index = -1;
                                hit.dist = *r_depth;
diff --git a/source/blender/modifiers/intern/MOD_surface.c 
b/source/blender/modifiers/intern/MOD_surface.c
index 3d998f2..abb652c 100644
--- a/source/blender/modifiers/intern/MOD_surface.c
+++ b/source/blender/modifiers/intern/MOD_surface.c
@@ -159,7 +159,7 @@ static void deformVerts(ModifierData *md, Object *ob,
                        surmd->bvhtree = MEM_callocN(sizeof(BVHTreeFromMesh), 
"BVHTreeFromMesh");
 
                if (surmd->dm->getNumTessFaces(surmd->dm))
-                       bvhtree_from_mesh_faces(surmd->bvhtree, surmd->dm, 0.0, 
2, 6);
+                       bvhtree_from_mesh_looptri(surmd->bvhtree, surmd->dm, 
0.0, 2, 6);
                else
                        bvhtree_from_mesh_edges(surmd->bvhtree, surmd->dm, 0.0, 
2, 6);
        }
diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c 
b/source/blender/modifiers/intern/MOD_weightvgproximity.c
index 8d71ddf..08d7d77 100644
--- a/source/blender/modifiers/intern/MOD_weightvgproximity.c
+++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c
@@ -98,7 +98,7 @@ static void get_vert2geom_distance(int numVerts, float 
(*v_cos)[3],
        }
        if (dist_f) {
                /* Create a bvh-tree of the given target's faces. */
-               bvhtree_from_mesh_faces(&treeData_f, target, 0.0, 2, 6);
+               bvhtree_from_mesh_looptri(&treeData_f, target, 0.0, 2, 6);
                if (treeData_f.tree == NULL) {
                        OUT_OF_MEMORY();
                        return;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to