diff options
author | Jacques Lucke <jacques@blender.org> | 2022-07-25 12:42:27 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2022-07-25 12:42:27 +0300 |
commit | 1c05f30e4dcbf05a7dc1a700cd76dc8c3d70601d (patch) | |
tree | 7d56406f87484b007abdf4d6b2906f139de0ba63 /source/blender/geometry/intern/add_curves_on_mesh.cc | |
parent | 53113a2e571972e835f43217fea217066892e435 (diff) |
Curves: add warning when invalid uv map is used when adding curves
UV maps that are used for surface attachment must not have overlapping
uv islands, because then the same uv coordinate would correspond to
multiple surface positions.
Ref T99936.
Diffstat (limited to 'source/blender/geometry/intern/add_curves_on_mesh.cc')
-rw-r--r-- | source/blender/geometry/intern/add_curves_on_mesh.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/geometry/intern/add_curves_on_mesh.cc b/source/blender/geometry/intern/add_curves_on_mesh.cc index aa04cedb5c5..7184d774a22 100644 --- a/source/blender/geometry/intern/add_curves_on_mesh.cc +++ b/source/blender/geometry/intern/add_curves_on_mesh.cc @@ -229,8 +229,11 @@ static void interpolate_position_with_interpolation(CurvesGeometry &curves, }); } -void add_curves_on_mesh(CurvesGeometry &curves, const AddCurvesOnMeshInputs &inputs) +AddCurvesOnMeshOutputs add_curves_on_mesh(CurvesGeometry &curves, + const AddCurvesOnMeshInputs &inputs) { + AddCurvesOnMeshOutputs outputs; + const bool use_interpolation = inputs.interpolate_length || inputs.interpolate_point_count || inputs.interpolate_shape; @@ -244,6 +247,7 @@ void add_curves_on_mesh(CurvesGeometry &curves, const AddCurvesOnMeshInputs &inp const float2 &uv = inputs.uvs[i]; const ReverseUVSampler::Result result = inputs.reverse_uv_sampler->sample(uv); if (result.type != ReverseUVSampler::ResultType::Ok) { + outputs.uv_error = true; continue; } const MLoopTri &looptri = *result.looptri; @@ -365,6 +369,8 @@ void add_curves_on_mesh(CurvesGeometry &curves, const AddCurvesOnMeshInputs &inp MutableSpan<int8_t> types_span = curves.curve_types_for_write(); types_span.drop_front(old_curves_num).fill(CURVE_TYPE_CATMULL_ROM); curves.update_curve_types(); + + return outputs; } } // namespace blender::geometry |