Delgine 3D Tools & Content DeleD Community Edition
Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Deletion of Edges and a Redo Button

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DeleD Community Edition Forum Index -> DeleD Feature Requests
View previous topic :: View next topic  
Author Message
Vijchti
Member


Joined: 16 Aug 2006
Posts: 250

PostPosted: Sun Oct 01, 2006 9:22 pm    Post subject: Deletion of Edges and a Redo Button Reply with quote

Exactly what it says. I often connect vertices in complicated objects, rearrange the vertices, and then realize that I have funky shapes because of the way I connected them. It would just be nice if I could delete edges so that I could fix any problems in the way vertices are connected without having to hit the undo button several times.

Also, it would be nice if I could redo what I've just undone -- there are many times when I go through several steps of undoing only to realize that the way I just had it was already perfect...but I have to do all of the work over again instead of being able to hit a redo button a few times.
_________________

"Psst, Here's a secret...Your last mortal thought will be,
'Why did I take so many days - just like today - for granted?'"
Back to top
View user's profile Send private message
Prime_8
DeleD PRO user


Joined: 11 Sep 2006
Posts: 34

PostPosted: Mon Oct 02, 2006 7:19 am    Post subject: Reply with quote

I second this one . Wink
_________________
old fart coder
Back to top
View user's profile Send private message Visit poster's website
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5332
Location: The Netherlands

PostPosted: Mon Oct 02, 2006 6:50 pm    Post subject: Reply with quote

Thanks for the suggestions. Although we cannot implement each suggestion, please keep 'm coming!

Delete edge: I think that should be part of the lowpoly routines indeed. Adding it to the list!

Redo: I admit a Redo function would be cool. It is also pretty hard and time-consuming to implement, at least right now. It is on our list but I fear it will be a while before it gets implemented as it is not very high on our priority list. Hope you understand!
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vijchti
Member


Joined: 16 Aug 2006
Posts: 250

PostPosted: Tue Oct 03, 2006 1:28 am    Post subject: Reply with quote

Yeah, 's no big deal. I just figure that the more things I point out, the better DeleD will be.
_________________

"Psst, Here's a secret...Your last mortal thought will be,
'Why did I take so many days - just like today - for granted?'"
Back to top
View user's profile Send private message
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5332
Location: The Netherlands

PostPosted: Tue Oct 03, 2006 6:19 am    Post subject: Reply with quote

Very Happy
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jwatte
DeleD PRO user


Joined: 26 Apr 2006
Posts: 513

PostPosted: Tue Oct 03, 2006 5:50 pm    Post subject: Reply with quote

Quote:
I admit a Redo function would be cool. It is also pretty hard and time-consuming to implement, at least right now.


Why would Redo be any harder to implement than Undo? Just use your Undo system, going the other direction.

In general, when you implement an Undo system, you package all state modifying operations into a Command object. The Command object has two methods: Do, and Undo (plus methods like "MemoryUsage" and "Name" to manage the Undo queue/menu). The Command object collects necessary state (user parameters like selection, and the current state of the affected object) on creation. The Undo queue then immediately calls Do on it, to actually perform the action.

Undo/Redo just steps back/forward in the queue. When you have stepped back, and then do some new operation (instead of redo), you delete the available redo objects, and create a new Command for the new operation.

It sounds to me as if DeleD is not structured like this, internally. However, it's been my experience that you can actually factor it into this way without too much work, because you already have all the code pieces: the pieces that know how to actually do stuff, and the pieces that decode menus and clicks to call the do-stuff functions.

For interactive commands (click-move, say), the Command object would capture undo state on creation, and then be updated with "Do" state as the user moves the mouse; it might even own the mouse until mouse-up. After that, it's the same treatment as "immediate" or dialog-induced commands.

I'm not trying to dis DeleD or anything; I'm just trying to say that it's been my experience that moving to this kind of structure isn't as hard as it might initially seem, and it gives you full undo/redo. What's more -- it gives you an excellent hook where to drop in scripting! (hint, hint :-)
Back to top
View user's profile Send private message
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5332
Location: The Netherlands

PostPosted: Sun Apr 01, 2007 10:05 am    Post subject: Re: Deletion of Edges and a Redo Button Reply with quote

Vijchti wrote:
Exactly what it says. I often connect vertices in complicated objects, rearrange the vertices, and then realize that I have funky shapes because of the way I connected them. It would just be nice if I could delete edges so that I could fix any problems in the way vertices are connected without having to hit the undo button several times.


I'm busy determining a workload for the next release (1.62) and am thinking of implementing "Delete Edge" functionality.

Question: how would this work? I see two possible ways here:

- deleting an edge simply deletes its 2 vertices.
- deleting an edge merges the polygons using that edge; note: this probably means an edge can only be deleted if the polygons using that edge are coplanar.

What would you expect?

P.s I'm also thinking about implementing Redo. More on that later. Wink
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vijchti
Member


Joined: 16 Aug 2006
Posts: 250

PostPosted: Sun Apr 01, 2007 6:05 pm    Post subject: Reply with quote

The way I see it working is that the edge itself is deleted first (you'll basically disconnect the two vertices regardless of whether the polygons are coplanar or not), then you may consider having DeleD select the vertices that it connected so that you can delete those as well if you want.
_________________

"Psst, Here's a secret...Your last mortal thought will be,
'Why did I take so many days - just like today - for granted?'"
Back to top
View user's profile Send private message
Mr.Fletcher
DeleD PRO user


Joined: 07 Aug 2004
Posts: 1772
Location: Germany

PostPosted: Thu Apr 05, 2007 8:35 pm    Post subject: Reply with quote

I'd say delete the one or two (or more) polygons that share the edge.
_________________
Behold! The DeleD Wiki! Please help us expanding it Smile
DeleD on IRC
Back to top
View user's profile Send private message
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5332
Location: The Netherlands

PostPosted: Fri Apr 06, 2007 1:45 pm    Post subject: Reply with quote

A few remarks:

- if I do not take the coplanarity of the polygons sharing the edge in question into account, deleting that edge might result in bad geometry. For example, deleting an edge of a cube would then result in one polygon that "goes around a corner" so to speak, and I think most people do not want that to happen. On the other hand, if you delete an edge which is shared by 2 coplanar polygons, the result is one big polygon that is on a plane. Perfectly allright to me, I'd say.

- deleting all polygons sharing the edge in question... is that what you would expect when deleting an edge? For example: imagine a grid (as DeleD can create those). All polygons on a plane, and there you are selecting and deleting one edge. You then see 2 polygons deleted, so a gap is created in the grid. Is that what you wanted to achieve? I think not. If I want a gap, I delete those 2 polygons by hand myself. Instead, I want to remove an edge which, I think, should result in the 2 polygons being merged.

It is very important to get the definition of deleting an edge straight. The way I see things right now is that if you want to delete an edge, the polygons using that edge will be merged if they are coplanar. All comments appreciated! Smile
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Mr.Fletcher
DeleD PRO user


Joined: 07 Aug 2004
Posts: 1772
Location: Germany

PostPosted: Fri Apr 06, 2007 2:35 pm    Post subject: Reply with quote

That's okay, but what if not? I think it should rather delete the polygons instead of doing nothing if they are not coplanar, which should be the most of the cases.
_________________
Behold! The DeleD Wiki! Please help us expanding it Smile
DeleD on IRC
Back to top
View user's profile Send private message
Jeroen
Site Admin


Joined: 07 Aug 2004
Posts: 5332
Location: The Netherlands

PostPosted: Fri Apr 06, 2007 4:44 pm    Post subject: Reply with quote

Mr.Fletcher wrote:
That's okay, but what if not? I think it should rather delete the polygons instead of doing nothing if they are not coplanar, which should be the most of the cases.


The question still stands though: do you expect the "Delete Edge" command to actually delete polygons? Appearantly, you do but I'm still not convinced this is the right way to do things.

Hmm.. I wonder how other applications do this? Silo seems to just merge the polygons whether they are coplanar or not. It also seems to delete vertices (and thus parts of polygons) if the vertices in question are no longer used by other parts of the geometry after the edge has been deleted. I could implement this behaviour in DeleD, although I do not agree with leaving the coplanarity out of the algorithm.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Vijchti
Member


Joined: 16 Aug 2006
Posts: 250

PostPosted: Sat Apr 07, 2007 2:19 am    Post subject: Reply with quote

Jeroen wrote:
The question still stands though: do you expect the "Delete Edge" command to actually delete polygons? Appearantly, you do but I'm still not convinced this is the right way to do things.


I would expect it do delete the vertices that create it, just as deleting the vertices that create and edge deletes that edge. However, I'm not entirely sure that's the right way to do it either.

Unfortunately, my computer died a while back and now I have no other 3D editing programs to test this out on. Sad
_________________

"Psst, Here's a secret...Your last mortal thought will be,
'Why did I take so many days - just like today - for granted?'"
Back to top
View user's profile Send private message
Display posts from previous:   
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    DeleD Community Edition Forum Index -> DeleD Feature Requests All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum