[Bf-python] Last minute addition

Gilbert, Joseph T. jgilbert at tigr.ORG
Wed Jul 5 16:51:08 CEST 2006


Post-issue commentary....

I have to agree with Campbell that Draw is for GUI and that mathutils
was written for the purpose of general math utilities for importers. I
can see that this method was written more for working with geometry
import however.

It was my intention originally to add some math primitives such as
triangle, cube, etc. to allow for some geometric math as well. Because
none of this code was added to mathutils originally we ended up adding
theeth's line intersection code to Mathutils. 

Since we now have a geometry module with a general purpose utility it in
I would feel more comfortable moving it as a submodule of mathutils as
Mathutils.Geometry.  We could then add some objects to represent Line,
Triangle, etc. and some math for boundary checks, and intersections,
etc. while the Geometry module (like mathutils) contains general
geometric utilities for importers/exporters.

Joseph

-----Original Message-----
From: bf-python-bounces at projects.blender.org
[mailto:bf-python-bounces at projects.blender.org] On Behalf Of Campbell
Barton
Sent: Sunday, July 02, 2006 2:00 AM
To: Blender Foundation Python list
Subject: Re: [Bf-python] Last minute addition

All valid points, but your kind of missing some issues that casued me to

add it.
1) Mesh.fill() requires an object and mesh data, cycles editmode on and 
off and is also tagged experemental.
This means that for every fgon in an imported model it needs to go and 
create mesh data, a new object, add the verts then edges, fill in the 
data, get the faces indicies and return them. then clean up the mesh, 
object, restore  editmode data.

2) I have tested 500+ lightwave files out of 1700 that I have to import.

many of these use a lot of fgons  so this function can be called a lot 
for each import. I have tested with .fill() and PolyFill() - polyfill is

of course a lot faster, and dosent make the cursor flicker (seterate 
issue with cycline editmode a lot).

Having good (fast+high quality) importers for blender is important, this

fuction effects Lightwave and Obj.

When testing fill() I kept on finding bugs and fill crashed blender - (3

seperate bugs in fill()) - its good that blenders scanfill is now more 
stable, but directly  accessing the function is much neater.
In exasperation! - (trying to get these importers not to crash with 
blenders fill()), I asked Ton (who fixedall the bugs) if I could  just 
access scanfill directly and add a hook in python. he seemd to think 
this would be okay, and gave me some help adding it in.

The PolyFill Function its self isnt that complex, I have tested on 
importing meny models with no crashes.

If you guys want Ill remove if but Im just putting forward a rationale 
for adding it in the first place, and that I added it when fixing bugs 
in Lightwave importer for release.

Could we move it to BGL? Seems more closly linked to BGL then Draw.

- Cam


Martin Poirier wrote:
> --- Martin Poirier <theeth at yahoo.com> wrote:
>
>   
>> --- Ken Hughes <khughes at pacific.edu> wrote:
>>
>>     
>>> If we need to "kick this idea around" then I have
>>>       
>> to
>>     
>>> ask, why is this 
>>> being added during a CVS freeze?  It doesn't
>>>       
>> really
>>     
>>> fix a bug, and I 
>>> don't think it's filling a hole in the API. I
>>> believe the commit said it 
>>> was to avoid creating a mesh just to fill it, but
>>> that just means this 
>>> is redundant.  This is not coming from me as the
>>> "Mesh API father", it 
>>> just seems rushed.
>>>       
>> I'll second that.
>>
>> Anything concerning the API has to be thought out,
>> because releases are "contracts" with *are* users
>>     
> that
>   
>> about the fonctionality and structure of the API.
>>     
>
> Obviously, that sentence should be read as: ...because
> releases are "contracts" with users, that *are* about
> the fonctionality and structure of the API.
>
> How that "are" moved two words to the left, nobody
> shall every know... :P
>
> Martin
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
> _______________________________________________
> Bf-python mailing list
> Bf-python at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-python
>
>   


-- 
Campbell J Barton

133 Hope Street
Geelong West, Victoria 3218 Australia

URL:    http://www.metavr.com
e-mail: cbarton at metavr.com
phone: AU (03) 5229 0241
_______________________________________________
Bf-python mailing list
Bf-python at projects.blender.org
http://projects.blender.org/mailman/listinfo/bf-python



More information about the Bf-python mailing list