[Tutor] sorting objects with embedded data
Doug Stanfield
DOUGS@oceanic.com
Tue, 15 Aug 2000 08:08:10 -1000
I can give part of a possible answer. I'd point you in the direction of
setting up a subclass for the cube object. You might explore if the work is
already done or being done, but it would make sense that there was a __cmp__
method of the object that would rank two cubes correctly. You probably also
have to implement some of the other magic methods (gurus please pipe up
here) such as __getattr__.
If subclassing 'cube' isn't working, creating a 'cubes' class that would
encapsulate the sort behaviour probably is the way to go. Maybe subclassing
UserList as a start.
Hope this helps,
-Doug-
> -----Original Message-----
> From: michaelbaker@operamail.com [mailto:michaelbaker@operamail.com]
> Sent: Tuesday, August 15, 2000 7:36 AM
> To: tutor@python.org
> Subject: [Tutor] sorting objects with embedded data
>
>
> I'm using python with blender (http://www.blender.nl) - an
> amazing freeware
> 3d modeling and animation package. I'm trying to sort a bunch
> of objects
> based on their positions in the Z axis direction.
>
> example:
>
> cubes=[[cube.001],[cube.002],[cube.003],[cube.004],[cube.005]]
>
> # each cube object contains coordinate data accessible through 3
> # methods? LocX, LocY, LocZ - these correspond to the x, y and
> # z axes respectively. Here's what I've got:
>
> buffer=[]
>
> for a in cubes:
> buffer.append(a.LocZ)
>
> buffer.sort()
>
> # this returns a sorted list of z coordinate values - great, but I
> # need to access the x and y coordinate data based on the sorted z
> # data - now I need to sort the cubes list based on the sorting
> # of the buffer list.
>
> # Is it possible to sort the cubes list in-place based on the
> # embedded LocZ numerical data?
>
> thanks in advance - check out blender, it's amazing.
>
> _______________________________________________
> Tutor maillist - Tutor@python.org
> http://www.python.org/mailman/listinfo/tutor
>