Vertices.raw constructor

Vertices.raw(VertexMode mode, Float32List positions, { Float32List textureCoordinates, Int32List colors, Uint16List indices })

Implementation

Vertices.raw(
  VertexMode mode,
  Float32List positions, {
  Float32List textureCoordinates,
  Int32List colors,
  Uint16List indices,
}) : assert(mode != null),
     assert(positions != null) {
  if (textureCoordinates != null && textureCoordinates.length != positions.length)
    throw ArgumentError('"positions" and "textureCoordinates" lengths must match.');
  if (colors != null && colors.length * 2 != positions.length)
    throw ArgumentError('"positions" and "colors" lengths must match.');
  if (indices != null && indices.any((int i) => i < 0 || i >= positions.length))
    throw ArgumentError('"indices" values must be valid indices in the positions list.');

  _constructor();
  if (!_init(mode.index, positions, textureCoordinates, colors, indices))
    throw ArgumentError('Invalid configuration for vertices.');
}