diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-07-18 23:58:23 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-07-18 23:58:23 +0400 |
commit | 1e3bd6d45eca5e345b5e5b7022c95c57dc82393f (patch) | |
tree | c1bf6df6e16724c3ff7f829ede2d9ed7bf285abb /source/blender/blenkernel/BKE_DerivedMesh.h | |
parent | 291af7418e122d0b1f4fbf21ba4f7b7ceb26cd10 (diff) |
- added DerivedMesh.getVertCos function and implementations
- added mesh_create_derived_no_deform[_render]
- mesh_create_orco now always goes through a DerivedMesh, some
redundant copying atm but can be fixed (and orco generation is
not a big bottleneck)
New feature: TexMesh (texcomesh) works with subsurf now (are
you listening rob?)
Diffstat (limited to 'source/blender/blenkernel/BKE_DerivedMesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_DerivedMesh.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index 22dfbf3da9b..8b038ed8a5d 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -75,6 +75,9 @@ struct DerivedMesh { /* Get vertex location, undefined if index is not valid */ void (*getVertCo)(DerivedMesh *dm, int index, float co_r[3]); + /* Fill the array (of length .getNumVerts()) with all vertex locations */ + void (*getVertCos)(DerivedMesh *dm, float (*cos_r)[3]); + /* Get vertex normal, undefined if index is not valid */ void (*getVertNo)(DerivedMesh *dm, int index, float no_r[3]); @@ -152,6 +155,9 @@ DerivedMesh *mesh_get_derived_final(struct Object *ob, int *needsFree_r); DerivedMesh *mesh_get_derived_render(struct Object *ob, int *needsFree_r); DerivedMesh *mesh_get_derived_deform(struct Object *ob, int *needsFree_r); +DerivedMesh *mesh_create_derived_no_deform(struct Mesh *me, float (*vertCos)[3]); +DerivedMesh *mesh_create_derived_no_deform_render(struct Mesh *me, float (*vertCos)[3]); + /* IMPORTANT: The functions below do not return "true" DerivedMesh * objects, rather they are just proxies for the mesh or editmesh * objects and are used to keep the drawing code consistent. They |