diff options
author | mano-wii <germano.costa@ig.com.br> | 2019-08-24 01:45:09 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2019-08-24 01:51:18 +0300 |
commit | a68e8ac993a169b63365ffc099d3f01581f6ce0b (patch) | |
tree | 78816abea17a1b16d5d8ae666f8d211eb2c0b62e /source/blender/blenkernel/BKE_bvhutils.h | |
parent | 4c353205ea2d15c3cd314eeeaf60edc04f4c06ad (diff) |
BKE bvhutils: create and use new `BKE_bvhtree_from_editmesh_get`
With this function it is easier to create and have control over editmeshes `BHVtree`s.
Diffstat (limited to 'source/blender/blenkernel/BKE_bvhutils.h')
-rw-r--r-- | source/blender/blenkernel/BKE_bvhutils.h | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/source/blender/blenkernel/BKE_bvhutils.h b/source/blender/blenkernel/BKE_bvhutils.h index d010f5dd836..a2d45625f42 100644 --- a/source/blender/blenkernel/BKE_bvhutils.h +++ b/source/blender/blenkernel/BKE_bvhutils.h @@ -93,19 +93,18 @@ typedef struct BVHTreeFromMesh { * * free_bvhtree_from_mesh should be called when the tree is no longer needed. */ -BVHTree *bvhtree_from_editmesh_verts(BVHTreeFromEditMesh *data, - struct BMEditMesh *em, - float epsilon, - int tree_type, - int axis, - BVHCache **bvh_cache); +BVHTree *bvhtree_from_editmesh_verts( + BVHTreeFromEditMesh *data, struct BMEditMesh *em, float epsilon, int tree_type, int axis); + BVHTree *bvhtree_from_editmesh_verts_ex(BVHTreeFromEditMesh *data, struct BMEditMesh *em, const BLI_bitmap *mask, int verts_num_active, float epsilon, int tree_type, - int axis); + int axis, + const int bvh_cache_type, + BVHCache **bvh_cache); BVHTree *bvhtree_from_mesh_verts_ex(struct BVHTreeFromMesh *data, const struct MVert *vert, @@ -119,19 +118,18 @@ BVHTree *bvhtree_from_mesh_verts_ex(struct BVHTreeFromMesh *data, const int bvh_cache_type, BVHCache **bvh_cache); -BVHTree *bvhtree_from_editmesh_edges(BVHTreeFromEditMesh *data, - struct BMEditMesh *em, - float epsilon, - int tree_type, - int axis, - BVHCache **bvh_cache); +BVHTree *bvhtree_from_editmesh_edges( + BVHTreeFromEditMesh *data, struct BMEditMesh *em, float epsilon, int tree_type, int axis); + BVHTree *bvhtree_from_editmesh_edges_ex(BVHTreeFromEditMesh *data, struct BMEditMesh *em, const BLI_bitmap *edges_mask, int edges_num_active, float epsilon, int tree_type, - int axis); + int axis, + const int bvh_cache_type, + BVHCache **bvh_cache); BVHTree *bvhtree_from_mesh_edges_ex(struct BVHTreeFromMesh *data, const struct MVert *vert, @@ -161,12 +159,9 @@ BVHTree *bvhtree_from_mesh_faces_ex(struct BVHTreeFromMesh *data, const int bvh_cache_type, BVHCache **bvh_cache); -BVHTree *bvhtree_from_editmesh_looptri(BVHTreeFromEditMesh *data, - struct BMEditMesh *em, - float epsilon, - int tree_type, - int axis, - BVHCache **bvhCache); +BVHTree *bvhtree_from_editmesh_looptri( + BVHTreeFromEditMesh *data, struct BMEditMesh *em, float epsilon, int tree_type, int axis); + BVHTree *bvhtree_from_editmesh_looptri_ex(BVHTreeFromEditMesh *data, struct BMEditMesh *em, const BLI_bitmap *mask, @@ -174,7 +169,8 @@ BVHTree *bvhtree_from_editmesh_looptri_ex(BVHTreeFromEditMesh *data, float epsilon, int tree_type, int axis, - BVHCache **bvhCache); + const int bvh_cache_type, + BVHCache **bvh_cache); BVHTree *bvhtree_from_mesh_looptri_ex(struct BVHTreeFromMesh *data, const struct MVert *vert, @@ -197,6 +193,12 @@ BVHTree *BKE_bvhtree_from_mesh_get(struct BVHTreeFromMesh *data, const int type, const int tree_type); +BVHTree *BKE_bvhtree_from_editmesh_get(BVHTreeFromEditMesh *data, + struct BMEditMesh *em, + const int tree_type, + const int bvh_cache_type, + BVHCache **bvh_cache); + /** * Frees data allocated by a call to bvhtree_from_mesh_*. */ |