generateSideWallUV static method

List<Vector2> generateSideWallUV(
  1. List<double> vertices,
  2. int indexA,
  3. int indexB,
  4. int indexC,
  5. int indexD,
)

Implementation

static List<Vector2> generateSideWallUV(List<double> vertices, int indexA, int indexB, int indexC, int indexD) {
  double aX = vertices[indexA * 3];
  double aY = vertices[indexA * 3 + 1];
  double aZ = vertices[indexA * 3 + 2];
  double bX = vertices[indexB * 3];
  double bY = vertices[indexB * 3 + 1];
  double bZ = vertices[indexB * 3 + 2];
  double cX = vertices[indexC * 3];
  double cY = vertices[indexC * 3 + 1];
  double cZ = vertices[indexC * 3 + 2];
  double dX = vertices[indexD * 3];
  double dY = vertices[indexD * 3 + 1];
  double dZ = vertices[indexD * 3 + 2];

  if ((aY - bY).abs() < (aX - bX).abs()) {
    return [
      Vector2(aX, 1 - aZ),
      Vector2(bX, 1 - bZ),
      Vector2(cX, 1 - cZ),
      Vector2(dX, 1 - dZ)
    ];
  } else {
    return [
      Vector2(aY, 1 - aZ),
      Vector2(bY, 1 - bZ),
      Vector2(cY, 1 - cZ),
      Vector2(dY, 1 - dZ)
    ];
  }
}