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:
Diffstat (limited to 'source/blender/blenkernel/intern/object_dupli.cc')
-rw-r--r--source/blender/blenkernel/intern/object_dupli.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/object_dupli.cc b/source/blender/blenkernel/intern/object_dupli.cc
index 54a26a897d8..2979a3cf1ff 100644
--- a/source/blender/blenkernel/intern/object_dupli.cc
+++ b/source/blender/blenkernel/intern/object_dupli.cc
@@ -67,6 +67,7 @@
#include "RNA_types.h"
using blender::Array;
+using blender::float2;
using blender::float3;
using blender::float4x4;
using blender::Span;
@@ -1043,7 +1044,7 @@ struct FaceDupliData_Mesh {
const MLoop *mloop;
const MVert *mvert;
const float (*orco)[3];
- const MLoopUV *mloopuv;
+ const float2 *mloopuv;
};
struct FaceDupliData_EditMesh {
@@ -1193,7 +1194,7 @@ static void make_child_duplis_faces_from_mesh(const DupliContext *ctx,
const MLoop *mloop = fdd->mloop;
const MVert *mvert = fdd->mvert;
const float(*orco)[3] = fdd->orco;
- const MLoopUV *mloopuv = fdd->mloopuv;
+ const float2 *mloopuv = fdd->mloopuv;
const int totface = fdd->totface;
const bool use_scale = fdd->params.use_scale;
int a;
@@ -1218,7 +1219,7 @@ static void make_child_duplis_faces_from_mesh(const DupliContext *ctx,
}
if (mloopuv) {
for (int j = 0; j < mp->totloop; j++) {
- madd_v2_v2fl(dob->uv, mloopuv[mp->loopstart + j].uv, w);
+ madd_v2_v2fl(dob->uv, mloopuv[mp->loopstart + j], w);
}
}
}
@@ -1278,7 +1279,7 @@ static void make_duplis_faces(const DupliContext *ctx)
FaceDupliData_Params fdd_params = {ctx, (parent->transflag & OB_DUPLIFACES_SCALE) != 0};
if (em != nullptr) {
- const int uv_idx = CustomData_get_render_layer(&em->bm->ldata, CD_MLOOPUV);
+ const int uv_idx = CustomData_get_render_layer(&em->bm->ldata, CD_PROP_FLOAT2);
FaceDupliData_EditMesh fdd{};
fdd.params = fdd_params;
fdd.em = em;
@@ -1286,20 +1287,20 @@ static void make_duplis_faces(const DupliContext *ctx)
fdd.has_orco = (vert_coords != nullptr);
fdd.has_uvs = (uv_idx != -1);
fdd.cd_loop_uv_offset = (uv_idx != -1) ?
- CustomData_get_n_offset(&em->bm->ldata, CD_MLOOPUV, uv_idx) :
+ CustomData_get_n_offset(&em->bm->ldata, CD_PROP_FLOAT2, uv_idx) :
-1;
make_child_duplis(ctx, &fdd, make_child_duplis_faces_from_editmesh);
}
else {
- const int uv_idx = CustomData_get_render_layer(&me_eval->ldata, CD_MLOOPUV);
+ const int uv_idx = CustomData_get_render_layer(&me_eval->ldata, CD_PROP_FLOAT2);
FaceDupliData_Mesh fdd{};
fdd.params = fdd_params;
fdd.totface = me_eval->totpoly;
fdd.mpoly = me_eval->polys().data();
fdd.mloop = me_eval->loops().data();
fdd.mvert = me_eval->verts().data();
- fdd.mloopuv = (uv_idx != -1) ? (const MLoopUV *)CustomData_get_layer_n(
- &me_eval->ldata, CD_MLOOPUV, uv_idx) :
+ fdd.mloopuv = (uv_idx != -1) ? (const float2 *)CustomData_get_layer_n(
+ &me_eval->ldata, CD_PROP_FLOAT2, uv_idx) :
nullptr;
fdd.orco = (const float(*)[3])CustomData_get_layer(&me_eval->vdata, CD_ORCO);