From 822362189badefd6c0014f608d36d98e8ab57282 Mon Sep 17 00:00:00 2001 From: Gaia Clary Date: Sat, 26 May 2012 22:46:28 +0000 Subject: [#31607] Collada: (Exporter) Implementation of 'use Object Instantiation' Option --- source/blender/collada/GeometryExporter.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'source/blender/collada/GeometryExporter.cpp') diff --git a/source/blender/collada/GeometryExporter.cpp b/source/blender/collada/GeometryExporter.cpp index f92ee1a2b79..6df16165e4b 100644 --- a/source/blender/collada/GeometryExporter.cpp +++ b/source/blender/collada/GeometryExporter.cpp @@ -92,16 +92,20 @@ void GeometryExporter::operator()(Object *ob) DerivedMesh *dm = mesh_get_derived_final(mScene, ob, CD_MASK_BAREMESH); #endif + bool use_instantiation = this->export_settings->use_object_instantiation; Mesh *me = get_mesh(ob, this->export_settings->apply_modifiers); - std::string geom_id = get_geometry_id(ob); - std::string geom_name = id_name(ob->data); + std::string geom_id = get_geometry_id(ob, use_instantiation); std::vector nor; std::vector norind; // Skip if linked geometry was already exported from another reference - if (exportedGeometry.find(geom_id) != exportedGeometry.end()) + if (use_instantiation && + exportedGeometry.find(geom_id) != exportedGeometry.end()) return; + + std::string geom_name = (use_instantiation) ? id_name(ob->data) : id_name(ob); + exportedGeometry.insert(geom_id); bool has_color = (bool)CustomData_has_layer(&me->fdata, CD_MCOL); -- cgit v1.2.3