From 31f978c8efdfd88d2cf2b5d9ae7c5d91c81e13d3 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sun, 30 Dec 2012 18:26:11 +0000 Subject: Move layer displacements from SculptUndoNode to PBVHNode * This doesn't make much difference for regular mesh/multires sculpting, but for dynamic topology sculpting the undo stack isn't split up by PBVH nodes, so it's more convenient to store the layer data in PBVH nodes. * Note that the life cycle of the layer displacement data is unchanged -- it's only valid during a stroke with the layer brush, gets free'd when the undo step ends. --- source/blender/blenkernel/BKE_pbvh.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'source/blender/blenkernel/BKE_pbvh.h') diff --git a/source/blender/blenkernel/BKE_pbvh.h b/source/blender/blenkernel/BKE_pbvh.h index 302de593963..5b6acdb9752 100644 --- a/source/blender/blenkernel/BKE_pbvh.h +++ b/source/blender/blenkernel/BKE_pbvh.h @@ -156,6 +156,14 @@ void BLI_pbvh_grids_update(PBVH *bvh, struct CCGElem **grid_elems, struct DMGridAdjacency *gridadj, void **gridfaces, struct DMFlagMat *flagmats, unsigned int **grid_hidden); +/* Layer displacement */ + +/* Get the node's displacement layer, creating it if necessary */ +float *BLI_pbvh_node_layer_disp_get(PBVH *pbvh, PBVHNode *node); + +/* If the node has a displacement layer, free it and set to null */ +void BLI_pbvh_node_layer_disp_free(PBVHNode *node); + /* vertex deformer */ float (*BLI_pbvh_get_vertCos(struct PBVH *pbvh))[3]; void BLI_pbvh_apply_vertCos(struct PBVH *pbvh, float (*vertCos)[3]); -- cgit v1.2.3