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:
authorGaia Clary <gaia.clary@machinimatrix.org>2012-06-07 21:55:26 +0400
committerGaia Clary <gaia.clary@machinimatrix.org>2012-06-07 21:55:26 +0400
commit49a5141cded6db36642461dc24064e6b695609af (patch)
treead64c8dc797a2cefd8218f8aadd68489994a5590 /source/blender/collada/GeometryExporter.cpp
parent64c45caff963c30cb9d4f6c0e94036ffa8363882 (diff)
[#31739] Collada: New Export selections 'Include Armatures'
Diffstat (limited to 'source/blender/collada/GeometryExporter.cpp')
-rw-r--r--source/blender/collada/GeometryExporter.cpp29
1 files changed, 9 insertions, 20 deletions
diff --git a/source/blender/collada/GeometryExporter.cpp b/source/blender/collada/GeometryExporter.cpp
index 6df16165e4b..53d7f1e6449 100644
--- a/source/blender/collada/GeometryExporter.cpp
+++ b/source/blender/collada/GeometryExporter.cpp
@@ -49,6 +49,7 @@ extern "C" {
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "collada_internal.h"
+#include "collada_utils.h"
// TODO: optimize UV sets by making indexed list with duplicates removed
GeometryExporter::GeometryExporter(COLLADASW::StreamWriter *sw, const ExportSettings *export_settings) : COLLADASW::LibraryGeometries(sw), export_settings(export_settings) {}
@@ -65,25 +66,6 @@ void GeometryExporter::exportGeom(Scene *sce)
closeLibrary();
}
-Mesh * GeometryExporter::get_mesh(Object *ob, int apply_modifiers)
-{
- Mesh *tmpmesh;
- if (!apply_modifiers)
- {
- tmpmesh = (Mesh*)ob->data;
- }
- else
- {
- CustomDataMask mask = CD_MASK_MESH;
- DerivedMesh *dm = mesh_create_derived_view(mScene, ob, mask);
- tmpmesh = BKE_mesh_add("ColladaMesh"); // name is not important here
- DM_to_mesh(dm, tmpmesh, ob);
- dm->release(dm);
- }
- BKE_mesh_tessface_ensure(tmpmesh);
- return tmpmesh;
-}
-
void GeometryExporter::operator()(Object *ob)
{
// XXX don't use DerivedMesh, Mesh instead?
@@ -93,7 +75,14 @@ void GeometryExporter::operator()(Object *ob)
#endif
bool use_instantiation = this->export_settings->use_object_instantiation;
- Mesh *me = get_mesh(ob, this->export_settings->apply_modifiers);
+ Mesh *me;
+ if ( this->export_settings->apply_modifiers ) {
+ me = bc_to_mesh_apply_modifiers(mScene, ob);
+ }
+ else {
+ me = (Mesh*)ob->data;
+ }
+ BKE_mesh_tessface_ensure(me);
std::string geom_id = get_geometry_id(ob, use_instantiation);
std::vector<Normal> nor;