Merge pull request #242 from Selmar/some_empty_array_fixes

Some empty array fixes
This commit is contained in:
Syoyo Fujita 2020-01-29 01:27:44 +09:00 committed by GitHub
commit eaa25a307a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7010,6 +7010,7 @@ static void SerializeGltfTexture(Texture &texture, json &o) {
/// ///
static void SerializeGltfModel(Model *model, json &o) { static void SerializeGltfModel(Model *model, json &o) {
// ACCESSORS // ACCESSORS
if (model->accessors.size()) {
json accessors; json accessors;
JsonReserveArray(accessors, model->accessors.size()); JsonReserveArray(accessors, model->accessors.size());
for (unsigned int i = 0; i < model->accessors.size(); ++i) { for (unsigned int i = 0; i < model->accessors.size(); ++i) {
@ -7018,6 +7019,7 @@ static void SerializeGltfModel(Model *model, json &o) {
JsonPushBack(accessors, std::move(accessor)); JsonPushBack(accessors, std::move(accessor));
} }
JsonAddMember(o, "accessors", std::move(accessors)); JsonAddMember(o, "accessors", std::move(accessors));
}
// ANIMATIONS // ANIMATIONS
if (model->animations.size()) { if (model->animations.size()) {
@ -7040,6 +7042,7 @@ static void SerializeGltfModel(Model *model, json &o) {
JsonAddMember(o, "asset", std::move(asset)); JsonAddMember(o, "asset", std::move(asset));
// BUFFERVIEWS // BUFFERVIEWS
if(model->bufferViews.size()) {
json bufferViews; json bufferViews;
JsonReserveArray(bufferViews, model->bufferViews.size()); JsonReserveArray(bufferViews, model->bufferViews.size());
for (unsigned int i = 0; i < model->bufferViews.size(); ++i) { for (unsigned int i = 0; i < model->bufferViews.size(); ++i) {
@ -7048,6 +7051,7 @@ static void SerializeGltfModel(Model *model, json &o) {
JsonPushBack(bufferViews, std::move(bufferView)); JsonPushBack(bufferViews, std::move(bufferView));
} }
JsonAddMember(o, "bufferViews", std::move(bufferViews)); JsonAddMember(o, "bufferViews", std::move(bufferViews));
}
// Extensions used // Extensions used
if (model->extensionsUsed.size()) { if (model->extensionsUsed.size()) {
@ -7311,8 +7315,8 @@ bool TinyGLTF::WriteGltfSceneToStream(Model *model, std::ostream &stream,
SerializeGltfModel(model, output); SerializeGltfModel(model, output);
// BUFFERS // BUFFERS
std::vector<std::string> usedUris;
std::vector<unsigned char> binBuffer; std::vector<unsigned char> binBuffer;
if(model->buffers.size()) {
json buffers; json buffers;
JsonReserveArray(buffers, model->buffers.size()); JsonReserveArray(buffers, model->buffers.size());
for (unsigned int i = 0; i < model->buffers.size(); ++i) { for (unsigned int i = 0; i < model->buffers.size(); ++i) {
@ -7325,6 +7329,7 @@ bool TinyGLTF::WriteGltfSceneToStream(Model *model, std::ostream &stream,
JsonPushBack(buffers, std::move(buffer)); JsonPushBack(buffers, std::move(buffer));
} }
JsonAddMember(output, "buffers", std::move(buffers)); JsonAddMember(output, "buffers", std::move(buffers));
}
// IMAGES // IMAGES
if (model->images.size()) { if (model->images.size()) {
@ -7378,6 +7383,7 @@ bool TinyGLTF::WriteGltfSceneToFile(Model *model, const std::string &filename,
// BUFFERS // BUFFERS
std::vector<std::string> usedUris; std::vector<std::string> usedUris;
std::vector<unsigned char> binBuffer; std::vector<unsigned char> binBuffer;
if (model->buffers.size()) {
json buffers; json buffers;
JsonReserveArray(buffers, model->buffers.size()); JsonReserveArray(buffers, model->buffers.size());
for (unsigned int i = 0; i < model->buffers.size(); ++i) { for (unsigned int i = 0; i < model->buffers.size(); ++i) {
@ -7416,6 +7422,7 @@ bool TinyGLTF::WriteGltfSceneToFile(Model *model, const std::string &filename,
JsonPushBack(buffers, std::move(buffer)); JsonPushBack(buffers, std::move(buffer));
} }
JsonAddMember(output, "buffers", std::move(buffers)); JsonAddMember(output, "buffers", std::move(buffers));
}
// IMAGES // IMAGES
if (model->images.size()) { if (model->images.size()) {