[Bf-committers] Re: [Bf-blender-cvs] CVS commit:
blender/source/blender/include BIF_editmesh.h
blender/source/blender/src editmesh_tools.c editobject.c
Brecht Van Lommel
brechtvanlommel at pandora.be
Wed Mar 8 10:05:23 CET 2006
Hey Geoffrey,
Geoffrey Bantle wrote:
> Log:
> -> Path Select Tool
Nice tool.
> The tool uses a straightforward implementation of Dijsktra's algorithm
> and may be a bit slow on extremely large meshes. As a speedup you can
> hide the parts of the mesh that you are not working on and they will
> not be searched.
It seems to get fairly slow on even reasonably large meshes (5k vertices).
This is time complexity working against you. There's two problems in the
code:
The first is when creating the PathEdges. You loop over all nodes edges
and then all vertices / nodes. It's probably better to store a PathNode
pointer in that eve->tmp, and store whatever is in there in the PathNode.
Extract_Min also loops over all nodes. It's best to use a priority queue /
heap for this lookup. I added BLI_heap for shortest path seam cutting
about a month ago. Allows insert/remove/extract_min all in log(n) time.
Brecht.
More information about the Bf-committers
mailing list