diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-07-31 07:00:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-07-31 07:00:07 +0300 |
commit | c582e186d90291a19a4e404111c492f1fd2c41a4 (patch) | |
tree | 09d74b019c1b6dd6bd1ea46b0cd02f8086370d4f /source/blender/blenkernel/intern/DerivedMesh.c | |
parent | 6b7313be94b15441426abd9af12d0a97f05217ba (diff) |
Replace MFace w/ vert-tri's for collision modifier
Note that the collision modifier doesn't have any use for Loop indices,
so to avoid duplicating the loop array too,
MVertTri has been added which simply stores vertex indices (runtime only).
Diffstat (limited to 'source/blender/blenkernel/intern/DerivedMesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/DerivedMesh.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 3156eb391b8..25f409b037c 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -493,6 +493,16 @@ void DM_ensure_looptri(DerivedMesh *dm) } } +void DM_verttri_from_looptri(MVertTri *verttri, const MLoop *mloop, const MLoopTri *looptri, int looptri_num) +{ + int i; + for (i = 0; i < looptri_num; i++) { + verttri[i].tri[0] = mloop[looptri[i].tri[0]].v; + verttri[i].tri[1] = mloop[looptri[i].tri[1]].v; + verttri[i].tri[2] = mloop[looptri[i].tri[2]].v; + } +} + /* Update tessface CD data from loop/poly ones. Needed when not retessellating after modstack evaluation. */ /* NOTE: Assumes dm has valid tessellated data! */ void DM_update_tessface_data(DerivedMesh *dm) |