diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-08-07 06:30:29 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-08-07 06:30:29 +0400 |
commit | 8da5df8887a315a9c92168c8dd81f11b6ee0b29b (patch) | |
tree | 2215d2dc26fe4fa4e006f414be78663099c4b59f /source/blender/blenkernel/BKE_DerivedMesh.h | |
parent | f17a9a1d3dec63bbf7da592616736212315a057a (diff) |
- add allowShared argument to DerivedMesh.convertToDispListMesh to allow returned
DLM to share data from DerivedMesh (reduces some copying/memory allocation)
- added displistmesh_copyShared function to copy a DLM but not duplicate any
internal data
- changed crease drawing to use DerivedMesh functions... this means varying
edge width style of creases had to go, I replaced by using varying color to
show crease weight instead. Don't think this is a big loss since the subsurf
result gives you a much better indication of the crease weight anyway.
- bug fix in mirror modifier, didn't copy edge creases from editmesh correctly
Diffstat (limited to 'source/blender/blenkernel/BKE_DerivedMesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_DerivedMesh.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index 7a44f9de9f9..6350332fd66 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -65,8 +65,14 @@ struct DerivedMesh { void (*getMappedVertCoEM)(DerivedMesh *dm, void *vert, float co_r[3]); - /* Convert to new DispListMesh, should be free'd by caller */ - struct DispListMesh* (*convertToDispListMesh)(DerivedMesh *dm); + /* Convert to new DispListMesh, should be free'd by caller. + * + * If allowShared is true then the caller is committing to not free'ng + * the DerivedMesh before free'ng the DispListMesh, which means that + * certain fields of the returned DispListMesh can safely be share with + * the DerivedMesh's internal data. + */ + struct DispListMesh* (*convertToDispListMesh)(DerivedMesh *dm, int allowShared); /* Iterate over all vertex points, calling DO_MINMAX with given args. * |