diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-07-17 05:18:59 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-07-17 05:18:59 +0400 |
commit | 67d58c0f45cd87619bd45fc125b770023e9e5654 (patch) | |
tree | 02c715b1b6f7a7b7f0b4d3efe4a06217834bfadc /source/blender/blenkernel/BKE_DerivedMesh.h | |
parent | 7c9422111bde2d83fed320b78bde55cd9cb2c2ba (diff) |
- added DirectMesh.getVert{Co,No} functions
- added mesh_get_derived_deform function (always returns a DerivedMesh
corresponding to deformed (but not subdivided) mesh). used in places
where original mesh is to be displayed but with deformed coordinates
(vpaint for example).
- added DirectMesh.getVert{Co,No} implementations for MeshDerivedMesh
- updated vpaint to use mesh_get_derived_deform
Diffstat (limited to 'source/blender/blenkernel/BKE_DerivedMesh.h')
-rw-r--r-- | source/blender/blenkernel/BKE_DerivedMesh.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h index 27211ca24ff..756f9051308 100644 --- a/source/blender/blenkernel/BKE_DerivedMesh.h +++ b/source/blender/blenkernel/BKE_DerivedMesh.h @@ -64,6 +64,17 @@ struct DerivedMesh { /* Convert to new DispListMesh, should be free'd by caller */ struct DispListMesh* (*convertToDispListMesh)(DerivedMesh *dm); + + /* Direct Access Operations */ + /* o Can be undefined */ + /* o Must be defined for modifiers that only deform however */ + + /* Get vertex location, undefined if index is not valid */ + void (*getVertCo)(DerivedMesh *dm, int index, float co_r[3]); + + /* Get vertex normal, undefined if index is not valid */ + void (*getVertNo)(DerivedMesh *dm, int index, float no_r[3]); + /* Drawing Operations */ /* Draw all vertices as bgl points (no options) */ @@ -135,6 +146,7 @@ DerivedMesh *derivedmesh_from_displistmesh(struct DispListMesh *dlm); DerivedMesh *mesh_get_derived(struct Object *ob); 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); /* IMPORTANT: The functions below do not return "true" DerivedMesh * objects, rather they are just proxies for the mesh or editmesh |