Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/io/wavefront_obj/importer/obj_import_objects.hh')
-rw-r--r--source/blender/io/wavefront_obj/importer/obj_import_objects.hh25
1 files changed, 16 insertions, 9 deletions
diff --git a/source/blender/io/wavefront_obj/importer/obj_import_objects.hh b/source/blender/io/wavefront_obj/importer/obj_import_objects.hh
index c6ce7d3c434..b67ba46af03 100644
--- a/source/blender/io/wavefront_obj/importer/obj_import_objects.hh
+++ b/source/blender/io/wavefront_obj/importer/obj_import_objects.hh
@@ -8,6 +8,7 @@
#include "BKE_lib_id.h"
+#include "BLI_map.hh"
#include "BLI_math_vec_types.hh"
#include "BLI_vector.hh"
#include "BLI_vector_set.hh"
@@ -61,10 +62,11 @@ struct PolyCorner {
};
struct PolyElem {
- std::string vertex_group;
- std::string material_name;
+ int vertex_group_index = -1;
+ int material_index = -1;
bool shaded_smooth = false;
- Vector<PolyCorner> face_corners;
+ int start_index_ = 0;
+ int corner_count_ = 0;
};
/**
@@ -93,15 +95,20 @@ enum eGeometryType {
struct Geometry {
eGeometryType geom_type_ = GEOM_MESH;
std::string geometry_name_;
- VectorSet<std::string> material_names_;
- /**
- * Indices in the vector range from zero to total vertices in a geometry.
- * Values range from zero to total coordinates in the global list.
- */
- Vector<int> vertex_indices_;
+ Map<std::string, int> group_indices_;
+ Vector<std::string> group_order_;
+ Map<std::string, int> material_indices_;
+ Vector<std::string> material_order_;
+
+ int vertex_start_ = 0;
+ int vertex_count_ = 0;
/** Edges written in the file in addition to (or even without polygon) elements. */
Vector<MEdge> edges_;
+
+ Vector<PolyCorner> face_corners_;
Vector<PolyElem> face_elements_;
+
+ bool has_invalid_polys_ = false;
bool has_vertex_normals_ = false;
bool use_vertex_groups_ = false;
NurbsElement nurbs_element_;