From 05b6de545ac59dfa8487c94c0f2a7e75063fb8b3 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 18 Apr 2015 04:57:23 +1000 Subject: Fix T44390: Clay brush weirdness part-1 Clay brush had a feedback loop with dyntopo, getting the plane from the cursor center didn't support original data. --- source/blender/blenkernel/BKE_pbvh.h | 3 +++ source/blender/blenkernel/intern/pbvh.c | 9 +++++++++ 2 files changed, 12 insertions(+) (limited to 'source/blender/blenkernel') diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h index 035c8aa9515..03ad1765f8d 100644 --- a/source/blender/blenkernel/BKE_pbvh.h +++ b/source/blender/blenkernel/BKE_pbvh.h @@ -334,6 +334,9 @@ void BKE_pbvh_node_get_proxies(PBVHNode *node, PBVHProxyNode **proxies, int *pro void BKE_pbvh_node_free_proxies(PBVHNode *node); PBVHProxyNode *BKE_pbvh_node_add_proxy(PBVH *bvh, PBVHNode *node); void BKE_pbvh_gather_proxies(PBVH *pbvh, PBVHNode ***nodes, int *totnode); +void BKE_pbvh_node_get_bm_orco_data( + PBVHNode *node, + int (**r_orco_tris)[3], int *r_orco_tris_num, float (**r_orco_coords)[3]); //void BKE_pbvh_node_BB_reset(PBVHNode *node); //void BKE_pbvh_node_BB_expand(PBVHNode *node, float co[3]); diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c index e12d685fb67..fdda72e4f7d 100644 --- a/source/blender/blenkernel/intern/pbvh.c +++ b/source/blender/blenkernel/intern/pbvh.c @@ -1430,6 +1430,15 @@ void BKE_pbvh_node_get_proxies(PBVHNode *node, PBVHProxyNode **proxies, int *pro } } +void BKE_pbvh_node_get_bm_orco_data( + PBVHNode *node, + int (**r_orco_tris)[3], int *r_orco_tris_num, float (**r_orco_coords)[3]) +{ + *r_orco_tris = node->bm_ortri; + *r_orco_tris_num = node->bm_tot_ortri; + *r_orco_coords = node->bm_orco; +} + /********************************* Raycast ***********************************/ typedef struct { -- cgit v1.2.3