diff options
author | Daniel Dunbar <daniel@zuster.org> | 2005-08-18 15:31:20 +0400 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2005-08-18 15:31:20 +0400 |
commit | 8c41c00ff7b67f885f67af835f1228f0ba42a455 (patch) | |
tree | ad280f23e68ed054559e447e311c044d313f8da5 /source/blender/blenkernel/intern/CCGSubSurf.c | |
parent | b774712d80c8901041282544c5dd6a9b3b0bbecf (diff) |
- added DerivedMesh.drawUVEdges function & implementations
- removed DerivedMesh.drawLooseEdges and replaced with much more
general drawEdgesFlag function that draws based edge flags.
- switch DerivedMesh.drawFacesTex to give user control over which
faces are drawn
- added object_uvs_changed and object_tface_flags_changed functions
to do object recalc flag flush/redraw queueing and added calls
in appropriate places
- added various edge flags to mark TFace information. This is used
by the drawEdgesFlag routine and was the best way I could come
up with to deal with drawing TFace information from modifier stack.
Unfortunate side effects are (1) uses a lot of MEdge flags (although
not needed in file so thats fine) and (2) requires recalculation
of modifier stack on UV selection changes. #2 is disappointing
but I could not find a better solution.
- update UV mesh shadow drawing to use modifier result. At the moment
just uses the final result but probably should be integrated with
the editmode cage option.
- convert draw_tfaces3D to use drawEdgesFlag routine which cleaned
up the code quite a bit.
- convert draw_tface_mesh to draw using result of modifier stack.
Same comment about which result actually gets draw in FACESELECT
mode as for UV editor shadow drawing applies.
There is a still a bug in that selection is using the wrong
mesh to draw.
Diffstat (limited to 'source/blender/blenkernel/intern/CCGSubSurf.c')
-rw-r--r-- | source/blender/blenkernel/intern/CCGSubSurf.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/CCGSubSurf.c b/source/blender/blenkernel/intern/CCGSubSurf.c index bec741c64e6..2ed7d60e57e 100644 --- a/source/blender/blenkernel/intern/CCGSubSurf.c +++ b/source/blender/blenkernel/intern/CCGSubSurf.c @@ -2129,6 +2129,15 @@ CCGEdge *ccgSubSurf_getFaceEdge(CCGSubSurf *ss, CCGFace *f, int index) { return FACE_getEdges(f)[index]; } } +int ccgSubSurf_getFaceEdgeIndex(CCGSubSurf *ss, CCGFace *f, CCGEdge *e) { + int i; + + for (i=0; i<f->numVerts; i++) + if (FACE_getEdges(f)[i]==e) + return i; + + return -1; +} void *ccgSubSurf_getFaceCenterData(CCGSubSurf *ss, CCGFace *f) { return FACE_getCenterData(f); } |