[Bf-blender-cvs] [74e6393] alembic_basic_io: De-duplicate object name creation logic.

Kévin Dietrich noreply at git.blender.org
Wed Apr 6 20:42:09 CEST 2016


Commit: 74e63931ce29c8a6a4fbaae6c183a16ef3395955
Author: Kévin Dietrich
Date:   Wed Apr 6 20:37:06 2016 +0200
Branches: alembic_basic_io
https://developer.blender.org/rB74e63931ce29c8a6a4fbaae6c183a16ef3395955

De-duplicate object name creation logic.

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

M	source/blender/alembic/intern/abc_camera.cc
M	source/blender/alembic/intern/abc_hair.cc
M	source/blender/alembic/intern/abc_mesh.cc
M	source/blender/alembic/intern/abc_nurbs.cc
M	source/blender/alembic/intern/abc_object.cc
M	source/blender/alembic/intern/abc_object.h

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

diff --git a/source/blender/alembic/intern/abc_camera.cc b/source/blender/alembic/intern/abc_camera.cc
index fb5366b..858644c 100644
--- a/source/blender/alembic/intern/abc_camera.cc
+++ b/source/blender/alembic/intern/abc_camera.cc
@@ -57,10 +57,7 @@ AbcCameraWriter::AbcCameraWriter(Scene *scene,
                                  AbcExportOptions &opts)
     : AbcShapeWriter(scene, ob, parent, timeSampling, opts)
 {
-	std::string name = get_object_name(m_object);
-	name.append("Shape");
-
-	OCamera camera(parent->alembicXform(), name, m_time_sampling);
+	OCamera camera(parent->alembicXform(), m_name, m_time_sampling);
 	m_camera_schema = camera.getSchema();
 
 	m_custom_data_container = m_camera_schema.getUserProperties();
diff --git a/source/blender/alembic/intern/abc_hair.cc b/source/blender/alembic/intern/abc_hair.cc
index fec4a93..76bdf93 100644
--- a/source/blender/alembic/intern/abc_hair.cc
+++ b/source/blender/alembic/intern/abc_hair.cc
@@ -51,13 +51,10 @@ AbcHairWriter::AbcHairWriter(Scene *scene,
                              ParticleSystem *psys)
     : AbcShapeWriter(scene, ob, parent, timeSampling, opts)
 {
-	std::string name = get_object_name(m_object);
-	name.append("Hair");
 	m_psys = psys;
-
 	m_is_animated = isAnimated();
 
-	OCurves curves(parent->alembicXform(), name, m_time_sampling);
+	OCurves curves(parent->alembicXform(), m_name, m_time_sampling);
 	m_curves_schema = curves.getSchema();
 }
 
diff --git a/source/blender/alembic/intern/abc_mesh.cc b/source/blender/alembic/intern/abc_mesh.cc
index 94f0ebc..39991fd 100644
--- a/source/blender/alembic/intern/abc_mesh.cc
+++ b/source/blender/alembic/intern/abc_mesh.cc
@@ -93,9 +93,6 @@ AbcMeshWriter::AbcMeshWriter(Scene *scene,
                              AbcExportOptions &opts)
     : AbcShapeWriter(scene, ob, parent, timeSampling, opts)
 {
-	std::string name = get_object_name(m_object);
-	name.append("Shape");
-
 	m_is_animated = isAnimated();
 	m_subsurf_mod = NULL;
 	m_has_per_face_materials = false;
@@ -136,16 +133,16 @@ AbcMeshWriter::AbcMeshWriter(Scene *scene,
 
 	m_is_fluid = (getFluidSimModifier() != NULL);
 
-	while (parent->alembicXform().getChildHeader(name)) {
-		name.append("_");
+	while (parent->alembicXform().getChildHeader(m_name)) {
+		m_name.append("_");
 	}
 
 	if (m_options.use_subdiv_schema && isSubd) {
-		OSubD subd(parent->alembicXform(), name, m_time_sampling);
+		OSubD subd(parent->alembicXform(), m_name, m_time_sampling);
 		m_subdiv_schema = subd.getSchema();
 	}
 	else {
-		OPolyMesh mesh(parent->alembicXform(), name, m_time_sampling);
+		OPolyMesh mesh(parent->alembicXform(), m_name, m_time_sampling);
 		m_mesh_schema = mesh.getSchema();
 
 		OCompoundProperty typeContainer = m_mesh_schema.getUserProperties();
diff --git a/source/blender/alembic/intern/abc_nurbs.cc b/source/blender/alembic/intern/abc_nurbs.cc
index abc2218..82d5ea4 100644
--- a/source/blender/alembic/intern/abc_nurbs.cc
+++ b/source/blender/alembic/intern/abc_nurbs.cc
@@ -81,7 +81,7 @@ AbcNurbsWriter::AbcNurbsWriter(Scene *scene,
 
 	for (size_t i = 0; i < numNurbs; ++i) {
 		std::stringstream str;
-		str << get_object_name(m_object) << "Shape_" << i;
+		str << m_name << '_' << i;
 
 		while (parent->alembicXform().getChildHeader(str.str())) {
 			str << "_";
diff --git a/source/blender/alembic/intern/abc_object.cc b/source/blender/alembic/intern/abc_object.cc
index 896a631..dcc3f80 100644
--- a/source/blender/alembic/intern/abc_object.cc
+++ b/source/blender/alembic/intern/abc_object.cc
@@ -53,7 +53,9 @@ AbcObjectWriter::AbcObjectWriter(Object *obj, AbcExportOptions &opts)
     : m_object(obj)
     , m_options(opts)
     , m_first_frame(true)
-{}
+{
+	m_name = get_object_name(m_object) + "Shape";
+}
 
 AbcObjectWriter::~AbcObjectWriter()
 {}
diff --git a/source/blender/alembic/intern/abc_object.h b/source/blender/alembic/intern/abc_object.h
index 24b62e1..105b3e0 100644
--- a/source/blender/alembic/intern/abc_object.h
+++ b/source/blender/alembic/intern/abc_object.h
@@ -44,6 +44,7 @@ protected:
     std::vector< std::pair<std::string, IDProperty *> > m_props;
 
     bool m_first_frame;
+	std::string m_name;
 
 public:
     AbcObjectWriter(Object *obj, AbcExportOptions &opts);




More information about the Bf-blender-cvs mailing list