From 52295dd4802c6a9ca05026d702cdc146efa6a293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 20 Apr 2017 15:24:48 +0200 Subject: Alembic export: don't show warning for every exported frame The warning about not having a UV map is now only shown once per hair system. --- source/blender/alembic/intern/abc_hair.cc | 11 +++++------ source/blender/alembic/intern/abc_hair.h | 2 ++ 2 files changed, 7 insertions(+), 6 deletions(-) (limited to 'source/blender/alembic') diff --git a/source/blender/alembic/intern/abc_hair.cc b/source/blender/alembic/intern/abc_hair.cc index e328df24e53..9a974273a46 100644 --- a/source/blender/alembic/intern/abc_hair.cc +++ b/source/blender/alembic/intern/abc_hair.cc @@ -56,6 +56,7 @@ AbcHairWriter::AbcHairWriter(Scene *scene, ExportSettings &settings, ParticleSystem *psys) : AbcObjectWriter(scene, ob, time_sampling, settings, parent) + , m_uv_warning_shown(false) { m_psys = psys; @@ -132,8 +133,10 @@ void AbcHairWriter::write_hair_sample(DerivedMesh *dm, MFace *mface = dm->getTessFaceArray(dm); MVert *mverts = dm->getVertArray(dm); - if (!mtface || !mface) { - std::fprintf(stderr, "Warning, no UV set found for underlying geometry.\n"); + if ((!mtface || !mface) && !m_uv_warning_shown) { + std::fprintf(stderr, "Warning, no UV set found for underlying geometry of %s.\n", + m_object->id.name + 2); + m_uv_warning_shown = true; } ParticleData * pa = m_psys->particles; @@ -241,10 +244,6 @@ void AbcHairWriter::write_hair_child_sample(DerivedMesh *dm, MFace *mface = dm->getTessFaceArray(dm); MVert *mverts = dm->getVertArray(dm); - if (!mtface || !mface) { - std::fprintf(stderr, "Warning, no UV set found for underlying geometry.\n"); - } - ParticleCacheKey **cache = m_psys->childcache; ParticleCacheKey *path; diff --git a/source/blender/alembic/intern/abc_hair.h b/source/blender/alembic/intern/abc_hair.h index d132b60be12..61f5fe361f8 100644 --- a/source/blender/alembic/intern/abc_hair.h +++ b/source/blender/alembic/intern/abc_hair.h @@ -37,6 +37,8 @@ class AbcHairWriter : public AbcObjectWriter { Alembic::AbcGeom::OCurvesSchema m_schema; Alembic::AbcGeom::OCurvesSchema::Sample m_sample; + bool m_uv_warning_shown; + public: AbcHairWriter(Scene *scene, Object *ob, -- cgit v1.2.3