diff options
author | Ton Roosendaal <ton@blender.org> | 2004-10-19 02:47:26 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-10-19 02:47:26 +0400 |
commit | 4c827e73e2714404a6066fd6f031811d3867e179 (patch) | |
tree | 5f0de1e217b2642a2aedeea7e6e0502c210accb3 /source/blender/src/drawobject.c | |
parent | 295f11ea70ad6f08f273418a9831e052b9bcbbd5 (diff) |
Four new extrude possibilities;
- Individual faces
Keeps Mesh manifold, so removes old faces always. Also uses a
transform based on different vectors per vertex.
- Only edges
Just extrudes the edges (not really 'individual', the edges still
share the vertices. Uses same transform as normal extrude for that
reason
- Only Vertices
Uses normal transform after extrude
Also changed code a bit, to detect whether to call a normal-based
transform after extrude, or whether to call normal grabber. For example
when you just extrude 1 edge, it uses normal grabber.
Note; extruding an entire sphere goes OK with 'individual faces'. for
other extrudes you should press 's key' when in transform. Just cannot
predict (yet) when one method has preference over another.
Diffstat (limited to 'source/blender/src/drawobject.c')
-rw-r--r-- | source/blender/src/drawobject.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c index cc1a6c7e792..d4e31e1a288 100644 --- a/source/blender/src/drawobject.c +++ b/source/blender/src/drawobject.c @@ -2544,10 +2544,12 @@ static void drawmeshwire_wirextra(DispListMesh *dlm, int optimal, char alpha) } else { /* draw faces twice, to have selected ones on top */ + /* we draw unselected the edges though, so they show in face mode */ glColor4ubv(wire); - for(efa= em->faces.first; efa; efa= efa->next) { - if(efa->h==0 && (efa->f & SELECT)==0) { - glVertex_efa_edges(efa); + for(eed= em->edges.first; eed; eed= eed->next) { + if(eed->h==0) { + glVertex3fv(eed->v1->co); + glVertex3fv(eed->v2->co); } } glColor4ubv(sel); |