Cleanup: Standardize variable names, use spans to pbvh uv islands.
This commit is contained in:
parent
3e1152428d
commit
baf8b3bb88
|
@ -361,8 +361,10 @@ static void update_pixels(PBVH *pbvh, Mesh *mesh, Image *image, ImageUser *image
|
|||
return;
|
||||
}
|
||||
|
||||
uv_islands::MeshData mesh_data(
|
||||
pbvh->looptri, pbvh->totprim, pbvh->totvert, pbvh->mloop, ldata_uv);
|
||||
uv_islands::MeshData mesh_data({pbvh->looptri, pbvh->totprim},
|
||||
{pbvh->mloop, pbvh->totprim},
|
||||
pbvh->totvert,
|
||||
{ldata_uv, pbvh->totprim});
|
||||
uv_islands::UVIslands islands(mesh_data);
|
||||
|
||||
uv_islands::UVIslandsMask uv_masks;
|
||||
|
@ -385,7 +387,7 @@ static void update_pixels(PBVH *pbvh, Mesh *mesh, Image *image, ImageUser *image
|
|||
islands.extend_borders(uv_masks);
|
||||
update_geom_primitives(*pbvh, mesh_data);
|
||||
|
||||
UVPrimitiveLookup uv_primitive_lookup(mesh_data.looptri_len, islands);
|
||||
UVPrimitiveLookup uv_primitive_lookup(mesh_data.looptris.size(), islands);
|
||||
|
||||
EncodePixelsUserData user_data;
|
||||
user_data.pbvh = pbvh;
|
||||
|
|
|
@ -95,8 +95,8 @@ rctf MeshPrimitive::uv_bounds() const
|
|||
|
||||
static void mesh_data_init_vertices(MeshData &mesh_data)
|
||||
{
|
||||
mesh_data.vertices.reserve(mesh_data.vert_len);
|
||||
for (int64_t i = 0; i < mesh_data.vert_len; i++) {
|
||||
mesh_data.vertices.reserve(mesh_data.verts_num);
|
||||
for (int64_t i = 0; i < mesh_data.verts_num; i++) {
|
||||
MeshVertex vert;
|
||||
vert.v = i;
|
||||
mesh_data.vertices.append(vert);
|
||||
|
@ -105,9 +105,9 @@ static void mesh_data_init_vertices(MeshData &mesh_data)
|
|||
|
||||
static void mesh_data_init_primitives(MeshData &mesh_data)
|
||||
{
|
||||
mesh_data.primitives.reserve(mesh_data.looptri_len);
|
||||
for (int64_t i = 0; i < mesh_data.looptri_len; i++) {
|
||||
const MLoopTri &tri = mesh_data.looptri[i];
|
||||
mesh_data.primitives.reserve(mesh_data.looptris.size());
|
||||
for (int64_t i = 0; i < mesh_data.looptris.size(); i++) {
|
||||
const MLoopTri &tri = mesh_data.looptris[i];
|
||||
MeshPrimitive primitive;
|
||||
primitive.index = i;
|
||||
primitive.poly = tri.poly;
|
||||
|
@ -115,7 +115,7 @@ static void mesh_data_init_primitives(MeshData &mesh_data)
|
|||
for (int j = 0; j < 3; j++) {
|
||||
MeshUVVert uv_vert;
|
||||
uv_vert.loop = tri.tri[j];
|
||||
uv_vert.vertex = &mesh_data.vertices[mesh_data.mloop[uv_vert.loop].v];
|
||||
uv_vert.vertex = &mesh_data.vertices[mesh_data.loops[uv_vert.loop].v];
|
||||
uv_vert.uv = mesh_data.mloopuv[uv_vert.loop].uv;
|
||||
primitive.vertices.append(uv_vert);
|
||||
}
|
||||
|
@ -125,14 +125,14 @@ static void mesh_data_init_primitives(MeshData &mesh_data)
|
|||
|
||||
static void mesh_data_init_edges(MeshData &mesh_data)
|
||||
{
|
||||
mesh_data.edges.reserve(mesh_data.looptri_len * 2);
|
||||
EdgeHash *eh = BLI_edgehash_new_ex(__func__, mesh_data.looptri_len * 3);
|
||||
for (int64_t i = 0; i < mesh_data.looptri_len; i++) {
|
||||
const MLoopTri &tri = mesh_data.looptri[i];
|
||||
mesh_data.edges.reserve(mesh_data.looptris.size() * 2);
|
||||
EdgeHash *eh = BLI_edgehash_new_ex(__func__, mesh_data.looptris.size() * 3);
|
||||
for (int64_t i = 0; i < mesh_data.looptris.size(); i++) {
|
||||
const MLoopTri &tri = mesh_data.looptris[i];
|
||||
MeshPrimitive &primitive = mesh_data.primitives[i];
|
||||
for (int j = 0; j < 3; j++) {
|
||||
int v1 = mesh_data.mloop[tri.tri[j]].v;
|
||||
int v2 = mesh_data.mloop[tri.tri[(j + 1) % 3]].v;
|
||||
int v1 = mesh_data.loops[tri.tri[j]].v;
|
||||
int v2 = mesh_data.loops[tri.tri[(j + 1) % 3]].v;
|
||||
|
||||
void **edge_index_ptr;
|
||||
int64_t edge_index;
|
||||
|
@ -215,16 +215,11 @@ static void mesh_data_init(MeshData &mesh_data)
|
|||
mesh_data_init_primitive_uv_island_ids(mesh_data);
|
||||
}
|
||||
|
||||
MeshData::MeshData(const MLoopTri *looptri,
|
||||
const int64_t looptri_len,
|
||||
const int64_t vert_len,
|
||||
const MLoop *mloop,
|
||||
const MLoopUV *mloopuv)
|
||||
: looptri(looptri),
|
||||
looptri_len(looptri_len),
|
||||
vert_len(vert_len),
|
||||
mloop(mloop),
|
||||
mloopuv(mloopuv)
|
||||
MeshData::MeshData(const Span<MLoopTri> looptris,
|
||||
const Span<MLoop> loops,
|
||||
const int verts_num,
|
||||
const Span<MLoopUV> mloopuv)
|
||||
: looptris(looptris), verts_num(verts_num), loops(loops), mloopuv(mloopuv)
|
||||
{
|
||||
mesh_data_init(*this);
|
||||
}
|
||||
|
|
|
@ -92,11 +92,10 @@ struct MeshPrimitive {
|
|||
*/
|
||||
struct MeshData {
|
||||
public:
|
||||
const MLoopTri *looptri;
|
||||
const int64_t looptri_len;
|
||||
const int64_t vert_len;
|
||||
const MLoop *mloop;
|
||||
const MLoopUV *mloopuv;
|
||||
const Span<MLoopTri> looptris;
|
||||
const int64_t verts_num;
|
||||
const Span<MLoop> loops;
|
||||
const Span<MLoopUV> mloopuv;
|
||||
|
||||
Vector<MeshPrimitive> primitives;
|
||||
Vector<MeshEdge> edges;
|
||||
|
@ -105,11 +104,10 @@ struct MeshData {
|
|||
int64_t uv_island_len;
|
||||
|
||||
public:
|
||||
explicit MeshData(const MLoopTri *looptri,
|
||||
const int64_t looptri_len,
|
||||
const int64_t vert_len,
|
||||
const MLoop *mloop,
|
||||
const MLoopUV *mloopuv);
|
||||
explicit MeshData(const Span<MLoopTri> looptris,
|
||||
const Span<MLoop> loops,
|
||||
const int verts_num,
|
||||
const Span<MLoopUV> mloopuv);
|
||||
};
|
||||
|
||||
struct UVVertex {
|
||||
|
|
Loading…
Reference in New Issue