[Bf-funboard] Feature request about proportional editing

Joe Eagar joeedh at gmail.com
Wed May 30 03:07:45 CEST 2007


Martin Poirier wrote:
> --- Joe Eagar <joeedh at gmail.com> wrote:
>
>   
>> Well it *is* possible with current code. . .it'd
>> just be nasty, 
>> memory-hungry code.  I can give pointers on how to
>> do it with current 
>> editmesh if someone wants to implement it. . .but I
>> doubt any such thing 
>> will make it into svn.  It'd be a local patch.
>>     
>
> Just want to precise what Joe said VS what I said.
> What would be memory hungry is the connectivity
> calculations (which would be hard, as I said). If that
> is out of the way (say, with bmesh), the rest is just
> transform as usual.
>
> Martin
>
>
>   
There is a fast way to create throw-away adjacency info.  Basically you 
create an array of ListBases, one for each vert in the mesh.  Then you 
go through each of the edges, and you add a reference to that edge to 
the ListBase array cell for edge->v1 and edge->v2.  This is somewhat 
memory hungry, but actually is fairly fast, even for large meshes.  At 
this point you can walk the mesh fairly easily.  Me and Geoffry 
discussed this a while ago, and at the time decided that implementing 
such a thing would be piling more bad stuff on top the rotting heap pile 
of editmesh, and that it'd be better to wait for the bmesh refactor.

While the bmesh refactor has started, it's likely going to be months 
before its even close to production ready.  So this method might be 
worth it for the interim.

Joe
P.S.: oh, and as for memory allocation, if you use a MemArena things go 
much easier, since this is a throw-away use-once structure anyway.

!DSPAM:80,465ccf08461321647191259!




More information about the Bf-funboard mailing list