History

Merging back with master

Sam Gateau committed 11 years ago

Commit c37cdce2 parents 4e94464 c4c6e72427 files · +25473 −4250Browse files

Showing the changes to libraries/render-utils/src/GeometryCache.cpp (1 of 427 files). Show all

Unified · Split

libraries/render-utils/src/GeometryCache.cpp+19−17
@@ -1678,15 +1678,15 @@ void GeometryCache::useSimpleDrawPipeline(gpu::Batch& batch, bool noBlend) { · 1677 unmodified lines
16781678 }
16791679 }
16801680
1681−GeometryReader::GeometryReader(const QUrl& url, QNetworkReply* reply, const QVariantHash& mapping) :
1681+GeometryReader::GeometryReader(const QUrl& url, const QByteArray& data, const QVariantHash& mapping) :
16821682 _url(url),
1683− _reply(reply),
1683+ _data(data),
16841684 _mapping(mapping) {
16851685 }
16861686
16871687 void GeometryReader::run() {
16881688 try {
1689− if (!_reply) {
1689+ if (_data.isEmpty()) {
16901690 throw QString("Reply is NULL ?!");
16911691 }
16921692 QString urlname = _url.path().toLower();
@@ -1701,9 +1701,9 @@ void GeometryReader::run() { · 8 unmodified lines
17011701 if (_url.path().toLower().endsWith(".fbx")) {
17021702 const bool grabLightmaps = true;
17031703 const float lightmapLevel = 1.0f;
1704− fbxgeo = readFBX(_reply, _mapping, _url.path(), grabLightmaps, lightmapLevel);
1704+ fbxgeo = readFBX(_data, _mapping, _url.path(), grabLightmaps, lightmapLevel);
17051705 } else if (_url.path().toLower().endsWith(".obj")) {
1706− fbxgeo = OBJReader().readOBJ(_reply, _mapping, &_url);
1706+ fbxgeo = OBJReader().readOBJ(_data, _mapping, _url);
17071707 } else {
17081708 QString errorStr("usupported format");
17091709 emit onError(NetworkGeometry::ModelParseError, errorStr);
@@ -1717,7 +1717,6 @@ void GeometryReader::run() { · 7 unmodified lines
17171717 qCDebug(renderutils) << "Error reading " << _url << ": " << error;
17181718 emit onError(NetworkGeometry::ModelParseError, error);
17191719 }
1720− _reply->deleteLater();
17211720 }
17221721
17231722 NetworkGeometry::NetworkGeometry(const QUrl& url, bool delayLoad, const QVariantHash& mapping, const QUrl& textureBaseUrl) :
@@ -1746,8 +1745,10 @@ void NetworkGeometry::attemptRequest() { · 22 unmodified lines
17461745
17471746 void NetworkGeometry::attemptRequestInternal() {
17481747 if (_url.path().toLower().endsWith(".fst")) {
1748+ _mappingUrl = _url;
17491749 requestMapping(_url);
17501750 } else {
1751+ _modelUrl = _url;
17511752 requestModel(_url);
17521753 }
17531754 }
@@ -1832,8 +1833,8 @@ void NetworkGeometry::requestMapping(const QUrl& url) { · 78 unmodified lines
18321833 _resource->deleteLater();
18331834 }
18341835 _resource = new Resource(url, false);
1835− connect(_resource, SIGNAL(loaded(QNetworkReply&)), SLOT(mappingRequestDone(QNetworkReply&)));
1836− connect(_resource, SIGNAL(failed(QNetworkReply::NetworkError)), SLOT(mappingRequestError(QNetworkReply::NetworkError)));
1836+ connect(_resource, &Resource::loaded, this, &NetworkGeometry::mappingRequestDone);
1837+ connect(_resource, &Resource::failed, this, &NetworkGeometry::mappingRequestError);
18371838 }
18381839
18391840 void NetworkGeometry::requestModel(const QUrl& url) {
@@ -1841,18 +1842,19 @@ void NetworkGeometry::requestModel(const QUrl& url) { · 1 unmodified line
18411842 if (_resource) {
18421843 _resource->deleteLater();
18431844 }
1845+ _modelUrl = url;
18441846 _resource = new Resource(url, false);
1845− connect(_resource, SIGNAL(loaded(QNetworkReply&)), SLOT(modelRequestDone(QNetworkReply&)));
1846− connect(_resource, SIGNAL(failed(QNetworkReply::NetworkError)), SLOT(modelRequestError(QNetworkReply::NetworkError)));
1847+ connect(_resource, &Resource::loaded, this, &NetworkGeometry::modelRequestDone);
1848+ connect(_resource, &Resource::failed, this, &NetworkGeometry::modelRequestError);
18471849 }
18481850
1849−void NetworkGeometry::mappingRequestDone(QNetworkReply& reply) {
1851+void NetworkGeometry::mappingRequestDone(const QByteArray& data) {
18501852 assert(_state == RequestMappingState);
18511853
18521854 // parse the mapping file
1853− _mapping = FSTReader::readMapping(reply.readAll());
1855+ _mapping = FSTReader::readMapping(data);
18541856
1855− QUrl replyUrl = reply.url();
1857+ QUrl replyUrl = _mappingUrl;
18561858 QString modelUrlStr = _mapping.value("filename").toString();
18571859 if (modelUrlStr.isNull()) {
18581860 qCDebug(renderutils) << "Mapping file " << _url << "has no \"filename\" entry";
@@ -1867,8 +1869,8 @@ void NetworkGeometry::mappingRequestDone(QNetworkReply& reply) { · 8 unmodified lines
18671869 _textureBaseUrl = replyUrl.resolved(texdir);
18681870 }
18691871
1870− QUrl modelUrl = replyUrl.resolved(modelUrlStr);
1871− requestModel(modelUrl);
1872+ _modelUrl = replyUrl.resolved(modelUrlStr);
1873+ requestModel(_modelUrl);
18721874 }
18731875 }
18741876
@@ -1878,13 +1880,13 @@ void NetworkGeometry::mappingRequestError(QNetworkReply::NetworkError error) { · 3 unmodified lines
18781880 emit onFailure(*this, MappingRequestError);
18791881 }
18801882
1881−void NetworkGeometry::modelRequestDone(QNetworkReply& reply) {
1883+void NetworkGeometry::modelRequestDone(const QByteArray& data) {
18821884 assert(_state == RequestModelState);
18831885
18841886 _state = ParsingModelState;
18851887
18861888 // asynchronously parse the model file.
1887− GeometryReader* geometryReader = new GeometryReader(reply.url(), &reply, _mapping);
1889+ GeometryReader* geometryReader = new GeometryReader(_modelUrl, data, _mapping);
18881890 connect(geometryReader, SIGNAL(onSuccess(FBXGeometry*)), SLOT(modelParseSuccess(FBXGeometry*)));
18891891 connect(geometryReader, SIGNAL(onError(int, QString)), SLOT(modelParseError(int, QString)));
18901892