[Bf-blender-cvs] [152ec791ad1] master: Alembic: use typedefs to make it easier to handle maps/vectors

Sybren A. Stüvel noreply at git.blender.org
Thu Apr 6 16:52:02 CEST 2017


Commit: 152ec791ad1ec932760bc168d3f803c4da451ac4
Author: Sybren A. Stüvel
Date:   Tue Feb 21 15:02:17 2017 +0100
Branches: master
https://developer.blender.org/rB152ec791ad1ec932760bc168d3f803c4da451ac4

Alembic: use typedefs to make it easier to handle maps/vectors

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

M	source/blender/alembic/intern/abc_exporter.cc
M	source/blender/alembic/intern/abc_exporter.h

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

diff --git a/source/blender/alembic/intern/abc_exporter.cc b/source/blender/alembic/intern/abc_exporter.cc
index 64e6e2ef79a..592678f5db8 100644
--- a/source/blender/alembic/intern/abc_exporter.cc
+++ b/source/blender/alembic/intern/abc_exporter.cc
@@ -154,13 +154,16 @@ AbcExporter::AbcExporter(Scene *scene, const char *filename, ExportSettings &set
 
 AbcExporter::~AbcExporter()
 {
-	std::map<std::string, AbcTransformWriter*>::iterator it, e;
-	for (it = m_xforms.begin(), e = m_xforms.end(); it != e; ++it) {
-		delete it->second;
+	/* Free xforms map */
+	m_xforms_type::iterator it_x, e_x;
+	for (it_x = m_xforms.begin(), e_x = m_xforms.end(); it_x != e_x; ++it_x) {
+		delete it_x->second;
 	}
 
-	for (int i = 0, e = m_shapes.size(); i != e; ++i) {
-		delete m_shapes[i];
+	/* Free shapes vector */
+	m_shapes_type::iterator it_s, e_s;
+	for (it_s = m_shapes.begin(), e_s = m_shapes.end(); it_s != e_s; ++it_s) {
+		delete *it_s;
 	}
 
 	delete m_writer;
@@ -314,8 +317,9 @@ void AbcExporter::operator()(Main *bmain, float &progress, bool &was_canceled)
 		setCurrentFrame(bmain, frame - m_settings.frame_start);
 
 		if (shape_frames.count(frame) != 0) {
-			for (int i = 0, e = m_shapes.size(); i != e; ++i) {
-				m_shapes[i]->write();
+			m_shapes_type::iterator xit, xe;
+			for (xit = m_shapes.begin(), xe = m_shapes.end(); xit != xe; ++xit) {
+				(*xit)->write();
 			}
 		}
 
@@ -323,7 +327,7 @@ void AbcExporter::operator()(Main *bmain, float &progress, bool &was_canceled)
 			continue;
 		}
 
-		std::map<std::string, AbcTransformWriter *>::iterator xit, xe;
+		m_xforms_type::iterator xit, xe;
 		for (xit = m_xforms.begin(), xe = m_xforms.end(); xit != xe; ++xit) {
 			xit->second->write();
 		}
diff --git a/source/blender/alembic/intern/abc_exporter.h b/source/blender/alembic/intern/abc_exporter.h
index 485d75ef7fe..f87347758b9 100644
--- a/source/blender/alembic/intern/abc_exporter.h
+++ b/source/blender/alembic/intern/abc_exporter.h
@@ -89,8 +89,12 @@ class AbcExporter {
 
 	ArchiveWriter *m_writer;
 
-	std::map<std::string, AbcTransformWriter *> m_xforms;
-	std::vector<AbcObjectWriter *> m_shapes;
+	/* mapping from name to transform writer */
+	typedef std::map<std::string, AbcTransformWriter *> m_xforms_type;
+	m_xforms_type m_xforms;
+
+	typedef std::vector<AbcObjectWriter *> m_shapes_type;
+	m_shapes_type m_shapes;
 
 public:
 	AbcExporter(Scene *scene, const char *filename, ExportSettings &settings);




More information about the Bf-blender-cvs mailing list