From 19d17b217ae0d1a89413e0f3f3b7be16614a535c Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Wed, 15 Jul 2020 16:48:30 +0200 Subject: Particles: use CD_PROP_FLOAT3 instead of CD_LOCATION `CD_LOCATION` was only used temporarily due to the lack of a better alternative. This also removes the name from `CD_LOCATION` again, because at most one layer of this type should exist. --- source/blender/blenkernel/intern/customdata.c | 2 +- source/blender/blenkernel/intern/pointcache.c | 4 ++-- source/blender/blenkernel/intern/simulation.cc | 10 +++++----- source/blender/modifiers/intern/MOD_simulation.cc | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index b3f1fb9d789..30b6ce1bee1 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -1868,7 +1868,7 @@ static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = { /* 42: CD_SCULPT_FACE_SETS */ {sizeof(int), "", 0, NULL, NULL, NULL, NULL, NULL, NULL}, /* 43: CD_LOCATION */ - {sizeof(float[3]), "vec3f", 1, "Location", NULL, NULL, NULL, NULL, NULL}, + {sizeof(float[3]), "vec3f", 1, NULL, NULL, NULL, NULL, NULL, NULL}, /* 44: CD_RADIUS */ {sizeof(float), "MFloatProperty", 1, NULL, NULL, NULL, NULL, NULL, NULL}, /* 45: CD_HAIRCURVE */ diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c index 9a9d8dc215b..aa93c6cb854 100644 --- a/source/blender/blenkernel/intern/pointcache.c +++ b/source/blender/blenkernel/intern/pointcache.c @@ -1900,7 +1900,7 @@ static int ptcache_sim_particle_write(int index, void *state_v, void **data, int ParticleSimulationState *state = (ParticleSimulationState *)state_v; const float *positions = (const float *)CustomData_get_layer_named( - &state->attributes, CD_LOCATION, "Position"); + &state->attributes, CD_PROP_FLOAT3, "Position"); PTCACHE_DATA_FROM(data, BPHYS_DATA_LOCATION, positions + (index * 3)); @@ -1913,7 +1913,7 @@ static void ptcache_sim_particle_read( BLI_assert(index < state->tot_particles); float *positions = (float *)CustomData_get_layer_named( - &state->attributes, CD_LOCATION, "Position"); + &state->attributes, CD_PROP_FLOAT3, "Position"); PTCACHE_DATA_TO(data, BPHYS_DATA_LOCATION, 0, positions + (index * 3)); } diff --git a/source/blender/blenkernel/intern/simulation.cc b/source/blender/blenkernel/intern/simulation.cc index e163bb8da8d..e735c30ffae 100644 --- a/source/blender/blenkernel/intern/simulation.cc +++ b/source/blender/blenkernel/intern/simulation.cc @@ -168,13 +168,13 @@ namespace blender::bke { static void ensure_attributes_exist(ParticleSimulationState *state) { - if (CustomData_get_layer_named(&state->attributes, CD_LOCATION, "Position") == nullptr) { + if (CustomData_get_layer_named(&state->attributes, CD_PROP_FLOAT3, "Position") == nullptr) { CustomData_add_layer_named( - &state->attributes, CD_LOCATION, CD_CALLOC, nullptr, state->tot_particles, "Position"); + &state->attributes, CD_PROP_FLOAT3, CD_CALLOC, nullptr, state->tot_particles, "Position"); } - if (CustomData_get_layer_named(&state->attributes, CD_LOCATION, "Velocity") == nullptr) { + if (CustomData_get_layer_named(&state->attributes, CD_PROP_FLOAT3, "Velocity") == nullptr) { CustomData_add_layer_named( - &state->attributes, CD_LOCATION, CD_CALLOC, nullptr, state->tot_particles, "Velocity"); + &state->attributes, CD_PROP_FLOAT3, CD_CALLOC, nullptr, state->tot_particles, "Velocity"); } if (CustomData_get_layer_named(&state->attributes, CD_PROP_INT32, "ID") == nullptr) { CustomData_add_layer_named( @@ -288,7 +288,7 @@ class CustomDataAttributesRef { builder.add(layer.name, 0); break; } - case CD_LOCATION: { + case CD_PROP_FLOAT3: { builder.add(layer.name, {0, 0, 0}); break; } diff --git a/source/blender/modifiers/intern/MOD_simulation.cc b/source/blender/modifiers/intern/MOD_simulation.cc index 69a7bfd91ac..38dc1546763 100644 --- a/source/blender/modifiers/intern/MOD_simulation.cc +++ b/source/blender/modifiers/intern/MOD_simulation.cc @@ -125,7 +125,7 @@ static PointCloud *modifyPointCloud(ModifierData *md, } const float3 *positions = (const float3 *)CustomData_get_layer_named( - &state->attributes, CD_LOCATION, "Position"); + &state->attributes, CD_PROP_FLOAT3, "Position"); memcpy(pointcloud->co, positions, sizeof(float3) * state->tot_particles); for (int i = 0; i < state->tot_particles; i++) { -- cgit v1.2.3