From 3205a92ad872f918c8322cdcd1434c231a1fd251 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Mon, 17 Feb 2020 18:06:54 -0300 Subject: PoolVector is gone, replaced by Vector Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector`. --- scene/resources/surface_tool.cpp | 136 ++++++++++++++++++--------------------- 1 file changed, 64 insertions(+), 72 deletions(-) (limited to 'scene/resources/surface_tool.cpp') diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index a1e6430255..fc5c906bd4 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -288,9 +288,9 @@ Array SurfaceTool::commit_to_arrays() { case Mesh::ARRAY_VERTEX: case Mesh::ARRAY_NORMAL: { - PoolVector array; + Vector array; array.resize(varr_len); - PoolVector::Write w = array.write(); + Vector3 *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx++) { @@ -307,7 +307,6 @@ Array SurfaceTool::commit_to_arrays() { } } - w.release(); a[i] = array; } break; @@ -315,9 +314,9 @@ Array SurfaceTool::commit_to_arrays() { case Mesh::ARRAY_TEX_UV: case Mesh::ARRAY_TEX_UV2: { - PoolVector array; + Vector array; array.resize(varr_len); - PoolVector::Write w = array.write(); + Vector2 *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx++) { @@ -335,14 +334,13 @@ Array SurfaceTool::commit_to_arrays() { } } - w.release(); a[i] = array; } break; case Mesh::ARRAY_TANGENT: { - PoolVector array; + Vector array; array.resize(varr_len * 4); - PoolVector::Write w = array.write(); + float *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx += 4) { @@ -358,15 +356,14 @@ Array SurfaceTool::commit_to_arrays() { w[idx + 3] = d < 0 ? -1 : 1; } - w.release(); a[i] = array; } break; case Mesh::ARRAY_COLOR: { - PoolVector array; + Vector array; array.resize(varr_len); - PoolVector::Write w = array.write(); + Color *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx++) { @@ -375,14 +372,13 @@ Array SurfaceTool::commit_to_arrays() { w[idx] = v.color; } - w.release(); a[i] = array; } break; case Mesh::ARRAY_BONES: { - PoolVector array; + Vector array; array.resize(varr_len * 4); - PoolVector::Write w = array.write(); + int *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx += 4) { @@ -396,15 +392,14 @@ Array SurfaceTool::commit_to_arrays() { } } - w.release(); a[i] = array; } break; case Mesh::ARRAY_WEIGHTS: { - PoolVector array; + Vector array; array.resize(varr_len * 4); - PoolVector::Write w = array.write(); + float *w = array.ptrw(); int idx = 0; for (List::Element *E = vertex_array.front(); E; E = E->next(), idx += 4) { @@ -418,7 +413,6 @@ Array SurfaceTool::commit_to_arrays() { } } - w.release(); a[i] = array; } break; @@ -426,9 +420,9 @@ Array SurfaceTool::commit_to_arrays() { ERR_CONTINUE(index_array.size() == 0); - PoolVector array; + Vector array; array.resize(index_array.size()); - PoolVector::Write w = array.write(); + int *w = array.ptrw(); int idx = 0; for (List::Element *E = index_array.front(); E; E = E->next(), idx++) { @@ -436,8 +430,6 @@ Array SurfaceTool::commit_to_arrays() { w[idx] = E->get(); } - w.release(); - a[i] = array; } break; @@ -535,14 +527,14 @@ Vector SurfaceTool::create_vertex_array_from_triangle_array Vector ret; - PoolVector varr = p_arrays[VS::ARRAY_VERTEX]; - PoolVector narr = p_arrays[VS::ARRAY_NORMAL]; - PoolVector tarr = p_arrays[VS::ARRAY_TANGENT]; - PoolVector carr = p_arrays[VS::ARRAY_COLOR]; - PoolVector uvarr = p_arrays[VS::ARRAY_TEX_UV]; - PoolVector uv2arr = p_arrays[VS::ARRAY_TEX_UV2]; - PoolVector barr = p_arrays[VS::ARRAY_BONES]; - PoolVector warr = p_arrays[VS::ARRAY_WEIGHTS]; + Vector varr = p_arrays[VS::ARRAY_VERTEX]; + Vector narr = p_arrays[VS::ARRAY_NORMAL]; + Vector tarr = p_arrays[VS::ARRAY_TANGENT]; + Vector carr = p_arrays[VS::ARRAY_COLOR]; + Vector uvarr = p_arrays[VS::ARRAY_TEX_UV]; + Vector uv2arr = p_arrays[VS::ARRAY_TEX_UV2]; + Vector barr = p_arrays[VS::ARRAY_BONES]; + Vector warr = p_arrays[VS::ARRAY_WEIGHTS]; int vc = varr.size(); @@ -550,49 +542,49 @@ Vector SurfaceTool::create_vertex_array_from_triangle_array return ret; int lformat = 0; - PoolVector::Read rv; + const Vector3 *rv; if (varr.size()) { lformat |= VS::ARRAY_FORMAT_VERTEX; - rv = varr.read(); + rv = varr.ptr(); } - PoolVector::Read rn; + const Vector3 *rn; if (narr.size()) { lformat |= VS::ARRAY_FORMAT_NORMAL; - rn = narr.read(); + rn = narr.ptr(); } - PoolVector::Read rt; + const float *rt; if (tarr.size()) { lformat |= VS::ARRAY_FORMAT_TANGENT; - rt = tarr.read(); + rt = tarr.ptr(); } - PoolVector::Read rc; + const Color *rc; if (carr.size()) { lformat |= VS::ARRAY_FORMAT_COLOR; - rc = carr.read(); + rc = carr.ptr(); } - PoolVector::Read ruv; + const Vector2 *ruv; if (uvarr.size()) { lformat |= VS::ARRAY_FORMAT_TEX_UV; - ruv = uvarr.read(); + ruv = uvarr.ptr(); } - PoolVector::Read ruv2; + const Vector2 *ruv2; if (uv2arr.size()) { lformat |= VS::ARRAY_FORMAT_TEX_UV2; - ruv2 = uv2arr.read(); + ruv2 = uv2arr.ptr(); } - PoolVector::Read rb; + const int *rb; if (barr.size()) { lformat |= VS::ARRAY_FORMAT_BONES; - rb = barr.read(); + rb = barr.ptr(); } - PoolVector::Read rw; + const float *rw; if (warr.size()) { lformat |= VS::ARRAY_FORMAT_WEIGHTS; - rw = warr.read(); + rw = warr.ptr(); } for (int i = 0; i < vc; i++) { @@ -640,14 +632,14 @@ Vector SurfaceTool::create_vertex_array_from_triangle_array void SurfaceTool::_create_list_from_arrays(Array arr, List *r_vertex, List *r_index, int &lformat) { - PoolVector varr = arr[VS::ARRAY_VERTEX]; - PoolVector narr = arr[VS::ARRAY_NORMAL]; - PoolVector tarr = arr[VS::ARRAY_TANGENT]; - PoolVector carr = arr[VS::ARRAY_COLOR]; - PoolVector uvarr = arr[VS::ARRAY_TEX_UV]; - PoolVector uv2arr = arr[VS::ARRAY_TEX_UV2]; - PoolVector barr = arr[VS::ARRAY_BONES]; - PoolVector warr = arr[VS::ARRAY_WEIGHTS]; + Vector varr = arr[VS::ARRAY_VERTEX]; + Vector narr = arr[VS::ARRAY_NORMAL]; + Vector tarr = arr[VS::ARRAY_TANGENT]; + Vector carr = arr[VS::ARRAY_COLOR]; + Vector uvarr = arr[VS::ARRAY_TEX_UV]; + Vector uv2arr = arr[VS::ARRAY_TEX_UV2]; + Vector barr = arr[VS::ARRAY_BONES]; + Vector warr = arr[VS::ARRAY_WEIGHTS]; int vc = varr.size(); @@ -655,49 +647,49 @@ void SurfaceTool::_create_list_from_arrays(Array arr, List *r_vertex, Li return; lformat = 0; - PoolVector::Read rv; + const Vector3 *rv; if (varr.size()) { lformat |= VS::ARRAY_FORMAT_VERTEX; - rv = varr.read(); + rv = varr.ptr(); } - PoolVector::Read rn; + const Vector3 *rn; if (narr.size()) { lformat |= VS::ARRAY_FORMAT_NORMAL; - rn = narr.read(); + rn = narr.ptr(); } - PoolVector::Read rt; + const float *rt; if (tarr.size()) { lformat |= VS::ARRAY_FORMAT_TANGENT; - rt = tarr.read(); + rt = tarr.ptr(); } - PoolVector::Read rc; + const Color *rc; if (carr.size()) { lformat |= VS::ARRAY_FORMAT_COLOR; - rc = carr.read(); + rc = carr.ptr(); } - PoolVector::Read ruv; + const Vector2 *ruv; if (uvarr.size()) { lformat |= VS::ARRAY_FORMAT_TEX_UV; - ruv = uvarr.read(); + ruv = uvarr.ptr(); } - PoolVector::Read ruv2; + const Vector2 *ruv2; if (uv2arr.size()) { lformat |= VS::ARRAY_FORMAT_TEX_UV2; - ruv2 = uv2arr.read(); + ruv2 = uv2arr.ptr(); } - PoolVector::Read rb; + const int *rb; if (barr.size()) { lformat |= VS::ARRAY_FORMAT_BONES; - rb = barr.read(); + rb = barr.ptr(); } - PoolVector::Read rw; + const float *rw; if (warr.size()) { lformat |= VS::ARRAY_FORMAT_WEIGHTS; - rw = warr.read(); + rw = warr.ptr(); } for (int i = 0; i < vc; i++) { @@ -742,12 +734,12 @@ void SurfaceTool::_create_list_from_arrays(Array arr, List *r_vertex, Li //indices - PoolVector idx = arr[VS::ARRAY_INDEX]; + Vector idx = arr[VS::ARRAY_INDEX]; int is = idx.size(); if (is) { lformat |= VS::ARRAY_FORMAT_INDEX; - PoolVector::Read iarr = idx.read(); + const int *iarr = idx.ptr(); for (int i = 0; i < is; i++) { r_index->push_back(iarr[i]); } -- cgit v1.2.3