In python, you cannot do pointer arithmetic. What you are trying to do works only for C / C ++.
With a regular Python list:
>>> array = [1, 2, 3, 4] >>> array [1, 2, 3, 4] >>> array + 2 Traceback (most recent call last): File "<input>", line 1, in <module> TypeError: can only concatenate list (not "int") to list
With numpy arrays:
>>> import numpy >>> a = numpy.array([1, 2, 3]) >>> a + 2 array([3, 4, 5])
See how and what you want: starting the array at a specific position.
I think you have basically two options:
- Do not use striped arrays. This has one advantage: when you only need to update the vertices (for example, in the bone animation), you do not need to update the texture coordinates.
- Using slices may work for you.
Like this:
>>> a = numpy.array(range(10)) >>> a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> a[3:] array([3, 4, 5, 6, 7, 8, 9])
Combine this with the right step, you can make it work.