The Ogre API doesn't tell much information:
For which cases indexStart is larger than 0?index in the buffer to start from for this operation
Can this also happen for meshes, which are loaded from file?
Maybe it's just aimed for manipulation after loading mesh files?
Or (independent of meshes) for operations if somebody generates/manipulates 3D objects by direct index/vertex buffer access?
Currently I write a new method for Raycasting to the polygon level, because I recognized, that the code from the wiki can cause crashes. (Details I wrote in this forum topic.)
How should I handle/interpret the indices when indexStart is not 0?
For example when indexStart == 10 and operation type is triangle fan.
Does it mean that the "clamped vertex" is referenced by element 10 of the index buffer? (Instead of element 0.)
If OperationType is triangle list (3 indices per triangle), then the amount of indices in the index buffer is 3*n.
So the indexStart should to contain a value be divisible by 3.
If not, I suppose the index buffer content is mismatch. (Because the resulting positions are not divisible by 3.)