transformAllPoints method

void transformAllPoints([
  1. Vec3? offset,
  2. Quaternion? quat
])

Transform all local points. Will change the .vertices

Implementation

void transformAllPoints([Vec3? offset, Quaternion? quat]) {
  int n = vertices.length;
  final verts = vertices;

  // Apply rotation
  if (quat != null) {
    // Rotate vertices
    for (int i = 0; i < n; i++) {
      final v = verts[i];
      quat.vmult(v, v);
    }
    // Rotate face normals
    for (int i = 0; i < faceNormals.length; i++) {
      final v = faceNormals[i]!;
      quat.vmult(v, v);
    }

    // Rotate edges
    // for(int i=0; i< uniqueEdges.length; i++){
    //   final v = uniqueEdges[i];
    //   quat.vmult(v,v);
    // }
  }

  // // Apply offset
  if (offset != null) {
    for (int i = 0; i < n; i++) {
      final v = verts[i];
      v.vadd(offset, v);
    }
  }
}