void RawModel::TransformGeometry()

in src/raw/RawModel.cpp [410:435]


void RawModel::TransformGeometry(ComputeNormalsOption normals) {
  switch (normals) {
    case ComputeNormalsOption::NEVER:
      break;
    case ComputeNormalsOption::MISSING:
      if ((vertexAttributes & RAW_VERTEX_ATTRIBUTE_NORMAL) != 0) {
        break;
      }
      // otherwise fall through
    case ComputeNormalsOption::BROKEN:
    case ComputeNormalsOption::ALWAYS:
      size_t computedNormalsCount = this->CalculateNormals(normals == ComputeNormalsOption::BROKEN);
      vertexAttributes |= RAW_VERTEX_ATTRIBUTE_NORMAL;

      if (verboseOutput) {
        if (normals == ComputeNormalsOption::BROKEN) {
          if (computedNormalsCount > 0) {
            fmt::printf("Repaired %lu empty normals.\n", computedNormalsCount);
          }
        } else {
          fmt::printf("Computed %lu normals.\n", computedNormalsCount);
        }
      }
      break;
  }
}