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/io/alembic/intern/abc_reader_mesh.cc')
-rw-r--r--source/blender/io/alembic/intern/abc_reader_mesh.cc16
1 files changed, 7 insertions, 9 deletions
diff --git a/source/blender/io/alembic/intern/abc_reader_mesh.cc b/source/blender/io/alembic/intern/abc_reader_mesh.cc
index 2531bd62609..58b7a28c419 100644
--- a/source/blender/io/alembic/intern/abc_reader_mesh.cc
+++ b/source/blender/io/alembic/intern/abc_reader_mesh.cc
@@ -122,31 +122,30 @@ struct AbcMeshData {
UInt32ArraySamplePtr uvs_indices;
};
-static void read_mverts_interp(MVert *mverts,
+static void read_mverts_interp(float3 *mesh_positions,
const P3fArraySamplePtr &positions,
const P3fArraySamplePtr &ceil_positions,
const double weight)
{
float tmp[3];
for (int i = 0; i < positions->size(); i++) {
- MVert &mvert = mverts[i];
const Imath::V3f &floor_pos = (*positions)[i];
const Imath::V3f &ceil_pos = (*ceil_positions)[i];
interp_v3_v3v3(tmp, floor_pos.getValue(), ceil_pos.getValue(), float(weight));
- copy_zup_from_yup(mvert.co, tmp);
+ copy_zup_from_yup(mesh_positions[i], tmp);
}
}
static void read_mverts(CDStreamConfig &config, const AbcMeshData &mesh_data)
{
- MVert *mverts = config.mvert;
+ float3 *mesh_positions = config.positions;
const P3fArraySamplePtr &positions = mesh_data.positions;
if (config.use_vertex_interpolation && config.weight != 0.0f &&
mesh_data.ceil_positions != nullptr &&
mesh_data.ceil_positions->size() == positions->size()) {
- read_mverts_interp(mverts, positions, mesh_data.ceil_positions, config.weight);
+ read_mverts_interp(mesh_positions, positions, mesh_data.ceil_positions, config.weight);
return;
}
@@ -155,12 +154,11 @@ static void read_mverts(CDStreamConfig &config, const AbcMeshData &mesh_data)
void read_mverts(Mesh &mesh, const P3fArraySamplePtr positions, const N3fArraySamplePtr normals)
{
- MutableSpan<MVert> verts = mesh.verts_for_write();
+ MutableSpan<float3> mesh_positions = mesh.positions_for_write();
for (int i = 0; i < positions->size(); i++) {
- MVert &mvert = verts[i];
Imath::V3f pos_in = (*positions)[i];
- copy_zup_from_yup(mvert.co, pos_in.getValue());
+ copy_zup_from_yup(mesh_positions[i], pos_in.getValue());
}
if (normals) {
float(*vert_normals)[3] = BKE_mesh_vertex_normals_for_write(&mesh);
@@ -517,7 +515,7 @@ CDStreamConfig get_config(Mesh *mesh, const bool use_vertex_interpolation)
{
CDStreamConfig config;
config.mesh = mesh;
- config.mvert = mesh->verts_for_write().data();
+ config.positions = mesh->positions_for_write().data();
config.mloop = mesh->loops_for_write().data();
config.mpoly = mesh->polys_for_write().data();
config.totvert = mesh->totvert;