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:
authorDaniel Dunbar <daniel@zuster.org>2005-07-17 05:18:59 +0400
committerDaniel Dunbar <daniel@zuster.org>2005-07-17 05:18:59 +0400
commit67d58c0f45cd87619bd45fc125b770023e9e5654 (patch)
tree02c715b1b6f7a7b7f0b4d3efe4a06217834bfadc /source/blender/blenkernel/BKE_DerivedMesh.h
parent7c9422111bde2d83fed320b78bde55cd9cb2c2ba (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.h12
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