void ModelBaker::handleModelNetworkReply() { auto requestReply = qobject_cast<QNetworkReply*>(sender()); if (requestReply->error() == QNetworkReply::NoError) { qCDebug(model_baking) << "Downloaded" << _modelURL; // grab the contents of the reply and make a copy in the output folder QFile copyOfOriginal(_originalOutputModelPath); qDebug(model_baking) << "Writing copy of original model file to" << _originalOutputModelPath << copyOfOriginal.fileName(); if (!copyOfOriginal.open(QIODevice::WriteOnly)) { // add an error to the error list for this model stating that a duplicate of the original model could not be made handleError("Could not create copy of " + _modelURL.toString() + " (Failed to open " + _originalOutputModelPath + ")"); return; } if (copyOfOriginal.write(requestReply->readAll()) == -1) { handleError("Could not create copy of " + _modelURL.toString() + " (Failed to write)"); return; } // close that file now that we are done writing to it copyOfOriginal.close(); // emit our signal to start the import of the model source copy emit modelLoaded(); } else { // add an error to our list stating that the model could not be downloaded handleError("Failed to download " + _modelURL.toString()); } }
void OBJBaker::handleOBJNetworkReply() { auto requestReply = qobject_cast<QNetworkReply*>(sender()); if (requestReply->error() == QNetworkReply::NoError) { qCDebug(model_baking) << "Downloaded" << _modelURL; // grab the contents of the reply and make a copy in the output folder QFile copyOfOriginal(_originalModelFilePath); qDebug(model_baking) << "Writing copy of original obj to" << _originalModelFilePath << copyOfOriginal.fileName(); if (!copyOfOriginal.open(QIODevice::WriteOnly)) { // add an error to the error list for this obj stating that a duplicate of the original obj could not be made handleError("Could not create copy of " + _modelURL.toString() + " (Failed to open " + _originalModelFilePath + ")"); return; } if (copyOfOriginal.write(requestReply->readAll()) == -1) { handleError("Could not create copy of " + _modelURL.toString() + " (Failed to write)"); return; } // close that file now that we are done writing to it copyOfOriginal.close(); if (!_originalOutputDir.isEmpty()) { copyOfOriginal.copy(_originalOutputDir + "/" + _modelURL.fileName()); } // remote OBJ is loaded emit signal to trigger its baking emit OBJLoaded(); } else { // add an error to our list stating that the OBJ could not be downloaded handleError("Failed to download " + _modelURL.toString()); } }