private static Vector3 readVector3(ExportOptions exportOptions, Int32 offset, Mesh.VertexStream vertexStream, Int32 index)
{
Vector3 vector3 = new Vector3();
switch (exportOptions.LeftAxis)
{
case Axes.X:
vector3.X = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 0);
break;
case Axes.Y:
vector3.Y = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 0);
break;
case Axes.Z:
vector3.Z = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 0);
break;
}
switch (exportOptions.UpAxis)
{
case Axes.X:
vector3.X = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 4);
break;
case Axes.Y:
vector3.Y = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 4);
break;
case Axes.Z:
vector3.Z = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 4);
break;
}
Axes forwardAxis = getForwardAxis(exportOptions.LeftAxis, exportOptions.UpAxis);
switch (forwardAxis)
{
case Axes.X:
vector3.X = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 8);
break;
case Axes.Y:
vector3.Y = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 8);
break;
case Axes.Z:
vector3.Z = BitConverter.ToSingle(vertexStream.Data, (vertexStream.BytesPerVertex * index) + offset + 8);
break;
}
return vector3;
}