Some array types are iterable - MDoubleArray, for instance. And, really, since they've implemented __getitem__, all they really need is __len__ - which would just be a straight wrap of length() - and it would work beautifully...
I guess I should just resign myself to always writing c-code in python when it comes to the API... but every so often, I try to do something pythonic, and it works, and I get all excited, and start trying other crazy things! - Paul On Thu, Oct 1, 2009 at 3:41 PM, Chad Vernon <[email protected]> wrote: > You can't iterate API array types like normal Python iterables. > You have to do: > > for dag in range(dagArray.length()): > # blah > > On Thu, Oct 1, 2009 at 3:38 PM, barnabas79 <[email protected]> wrote: >> >> The subject says it all... >> >> import maya.OpenMaya as om >> sel = om.MSelectionList() >> sel.append('persp') >> sel.add('persp') >> dag = om.MDagPath() >> comp = om.MObject() >> sel.getDagPath(0, dag, comp) >> dagArray = om.MDagPathArray() >> dagArray.append(dag) >> dagArray.append(dag) >> >> numElements = 0 >> for dag in dagArray: >> numElements += 1 >> if numElements > 10: >> print "Oh noes!" >> break >> > > > > > --~--~---------~--~----~------------~-------~--~----~ http://groups.google.com/group/python_inside_maya -~----------~----~----~----~------~----~------~--~---
