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:
authorNicholas Bishop <nicholasbishop@gmail.com>2009-10-28 09:06:05 +0300
committerNicholas Bishop <nicholasbishop@gmail.com>2009-10-28 09:06:05 +0300
commit243c73e96e18c126227d43728e2d3639c9f7ee41 (patch)
tree7c34c44f28125754586c414a602327d4421e468a /source/blender/blenkernel/BKE_DerivedMesh.h
parent93beb0b85a4a0e301d9bfae9edee1fe7bdabba12 (diff)
Moved the PBVH from sculpt session to DerivedMesh/CDDM.
* Multires sculpting appears to work now * PBVH gets recalculated in some cases where it shouldn't, haven't looked into this yet
Diffstat (limited to 'source/blender/blenkernel/BKE_DerivedMesh.h')
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 75d9ae7f360..d9b0c4bc357 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -59,6 +59,8 @@ struct MCol;
struct ColorBand;
struct GPUVertexAttribs;
struct GPUDrawObject;
+struct ListBase;
+struct PBVH;
/* number of sub-elements each mesh element has (for interpolation) */
#define SUB_ELEMS_VERT 0
@@ -73,6 +75,7 @@ struct DerivedMesh {
int needsFree; /* checked on ->release, is set to 0 for cached results */
int deformedOnly; /* set by modifier stack if only deformed from original */
BVHCache bvhCache;
+
struct GPUDrawObject *drawObject;
/* Misc. Queries */
@@ -180,6 +183,14 @@ struct DerivedMesh {
/* Get vertex normal, undefined if index is not valid */
void (*getVertNo)(DerivedMesh *dm, int index, float no_r[3]);
+ /* Get a map of vertices to faces
+ */
+ struct ListBase *(*getFaceMap)(DerivedMesh *dm);
+
+ /* Get the BVH used for paint modes
+ */
+ struct PBVH *(*getPBVH)(DerivedMesh *dm);
+
/* Drawing Operations */
/* Draw all vertices as bgl points (no options) */
@@ -204,7 +215,7 @@ struct DerivedMesh {
*
* Also called for *final* editmode DerivedMeshes
*/
- void (*drawFacesSolid)(DerivedMesh *dm, void *tree, float (*partial_redraw_planes)[4],
+ void (*drawFacesSolid)(DerivedMesh *dm, float (*partial_redraw_planes)[4],
int (*setMaterial)(int, void *attribs));
/* Draw all faces