[IronPython] XNA and how to specify the type arguments explicitly
Richard Steventon
steventon at gmail.com
Tue Feb 2 16:51:20 CET 2010
Okay, so problem #2.... calling the correct version of the interface
(I think this is the problem?), since I am getting a "violates the
constraint of type 'T'" error.
I set up a XNA VertexBuffer using:
l = Array.CreateInstance(VertexPositionColor,6)
.....
self.vertices = l
Then:
self.VertexBuffer = VertexBuffer(self.graphics.GraphicsDevice, \
len(self.vertices) * VertexPositionColor.SizeInBytes, \
BufferUsage.WriteOnly)
self.VertexBuffer.SetData[Array[VertexPositionColor]](self.vertices)
And I get:
ValueError: GenericArguments[0],
'Microsoft.Xna.Framework.Graphics.VertexPositionColor[]', on 'Void
SetData[T](Int32, T[], Int32, Int32, Int32)' violates the constraint
of type 'T'.
The documentation for the VertexBuffer.SetData method can be found here:
http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.vertexbuffer.setdata.aspx
The methods are:
VertexBuffer.SetData (Int32, T[], Int32, Int32, Int32)
VertexBuffer.SetData (T[])
VertexBuffer.SetData (T[], Int32, Int32)
This works fine in C# with a List of VertexPositionColor objects, so I
assume that Array in IronPython is the equivalent ? So why does it
not work ?
More information about the Ironpython-users
mailing list