[Bf-blender-cvs] [aa9e4b23e5a] soc-2020-io-performance: Cleanup single use variable, comments, formatting

Ankit Meel noreply at git.blender.org
Wed Jul 15 11:09:33 CEST 2020


Commit: aa9e4b23e5abc5f4af6f3bda8a555a9ace11a2e1
Author: Ankit Meel
Date:   Wed Jul 15 14:39:29 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rBaa9e4b23e5abc5f4af6f3bda8a555a9ace11a2e1

Cleanup single use variable, comments, formatting

Also, vert_texture.size() was wrongly compared to 1. It's changed to 2.

===================================================================

M	source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
M	source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.hh
M	source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.cc
M	source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.hh
M	source/blender/io/wavefront_obj/intern/wavefront_obj_importer.cc

===================================================================

diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
index bc708678559..b9774545d0f 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.cc
@@ -73,8 +73,8 @@ void OBJImporter::parse_and_store(Vector<std::unique_ptr<OBJRawObject>> &list_of
   string line;
   /* Non owning raw pointer to the unique_ptr to a raw object.
    * Needed to update object data in the same while loop.
-   * TODO ankitm Try to move the rest of the data parsing code in a conditional depending on a
-   * valid "o" object. */
+   * TODO ankitm Try to move the rest of the data parsing code in a conditional
+   * depending on a valid "o" object. */
   std::unique_ptr<OBJRawObject> *curr_ob;
   while (std::getline(infile_, line)) {
     string line_key = first_word_of_string(line);
@@ -109,26 +109,31 @@ void OBJImporter::parse_and_store(Vector<std::unique_ptr<OBJRawObject>> &list_of
     }
     else if (line_key == "f") {
       OBJFaceElem curr_face;
-      string str_corners_line = s_line.str();
       Vector<string> str_corners_split;
-      split_by_char(str_corners_line, ' ', str_corners_split);
+      split_by_char(s_line.str(), ' ', str_corners_split);
       for (auto str_corner : str_corners_split) {
         OBJFaceCorner corner;
         size_t n_slash = std::count(str_corner.begin(), str_corner.end(), '/');
         if (n_slash == 0) {
+          /* Case: f v1 v2 v3 . */
           corner.vert_index = std::stoi(str_corner);
         }
         else if (n_slash == 1) {
+          /* Case: f v1/vt1 v2/vt2 v3/vt3 . */
           Vector<std::string> vert_texture;
           split_by_char(str_corner, '/', vert_texture);
           corner.vert_index = std::stoi(vert_texture[0]);
-          corner.tex_vert_index = vert_texture.size() >= 1 ? -1 : std::stoi(vert_texture[1]);
+          corner.tex_vert_index = vert_texture.size() >= 2 ? -1 : std::stoi(vert_texture[1]);
         }
         else if (n_slash == 2) {
-          Vector<std::string> vert_normal;
-          split_by_char(str_corner, '/', vert_normal);
-          corner.vert_index = std::stoi(vert_normal[0]);
-          /* Discard normals. They'll be calculated on the basis of smooth shading flag. */
+          /* Case: f v1//vn1 v2//vn2 v3//vn3 . */
+          /* Case: f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 . */
+          Vector<std::string> vert_tex_normal;
+          split_by_char(str_corner, '/', vert_tex_normal);
+          corner.vert_index = std::stoi(vert_tex_normal[0]);
+          corner.tex_vert_index = vert_tex_normal.size() >= 2 ? -1 : std::stoi(vert_tex_normal[1]);
+          /* Discard normals. They'll be calculated on the basis of smooth
+           * shading flag. */
         }
         corner.vert_index -= index_offsets[VERTEX_OFF] + 1;
         corner.tex_vert_index -= index_offsets[UV_VERTEX_OFF] + 1;
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.hh b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.hh
index 8fe4e076818..7fb7f7d6006 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.hh
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_file_reader.hh
@@ -27,22 +27,22 @@
 #include "IO_wavefront_obj.h"
 #include "wavefront_obj_im_objects.hh"
 
-namespace blender::io::obj{
+namespace blender::io::obj {
 class OBJImporter {
-private:
+ private:
   const OBJImportParams &import_params_;
   std::ifstream infile_;
   uint index_offsets[2] = {0, 0};
 
-public:
+ public:
   OBJImporter(const OBJImportParams &import_params);
 
   void parse_and_store(Vector<std::unique_ptr<OBJRawObject>> &list_of_objects);
   void print_obj_data(Vector<std::unique_ptr<OBJRawObject>> &list_of_objects);
   void raw_to_blender_objects(Main *bmain,
-                    Scene *scene,
-                    Vector<std::unique_ptr<OBJRawObject>> &list_of_objects);
+                              Scene *scene,
+                              Vector<std::unique_ptr<OBJRawObject>> &list_of_objects);
 };
 
-}
+}  // namespace blender::io::obj
 #endif
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.cc
index 56ebfcfcbd0..582f4e8b4d9 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.cc
@@ -21,8 +21,8 @@
  * \ingroup obj
  */
 
-#include "BKE_context.h"
 #include "BKE_collection.h"
+#include "BKE_context.h"
 #include "BKE_customdata.h"
 #include "BKE_mesh.h"
 #include "BKE_object.h"
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.hh b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.hh
index d432aca2f51..fd4e13e69d0 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.hh
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_im_objects.hh
@@ -27,8 +27,8 @@
 #include "BLI_string_ref.hh"
 #include "BLI_vector.hh"
 
-#include "DNA_meshdata_types.h"
 #include "DNA_collection_types.h"
+#include "DNA_meshdata_types.h"
 
 #include "wavefront_obj_im_mesh.hh"
 
diff --git a/source/blender/io/wavefront_obj/intern/wavefront_obj_importer.cc b/source/blender/io/wavefront_obj/intern/wavefront_obj_importer.cc
index c563d3bb21f..3db1679332c 100644
--- a/source/blender/io/wavefront_obj/intern/wavefront_obj_importer.cc
+++ b/source/blender/io/wavefront_obj/intern/wavefront_obj_importer.cc
@@ -64,8 +64,8 @@ void OBJImporter::print_obj_data(Vector<std::unique_ptr<OBJRawObject>> &list_of_
 }
 
 void OBJImporter::raw_to_blender_objects(Main *bmain,
-                               Scene *scene,
-                               Vector<std::unique_ptr<OBJRawObject>> &list_of_objects)
+                                         Scene *scene,
+                                         Vector<std::unique_ptr<OBJRawObject>> &list_of_objects)
 {
   OBJParentCollection parent{bmain, scene};
   for (std::unique_ptr<OBJRawObject> &curr_object : list_of_objects) {



More information about the Bf-blender-cvs mailing list