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:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2016-08-18 00:49:55 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2016-08-18 03:24:13 +0300
commite8b5e66db18c315970dfcb063bced40264841228 (patch)
treee3c95808bdfed3a8beb5d9d4313a180b38324590 /intern/cycles/render
parent7baf93c711ad1af621b41314f59c1597fbd41ca5 (diff)
Code cleanup to use array.data() rather than &array[0]
(Now without the build errors)
Diffstat (limited to 'intern/cycles/render')
-rw-r--r--intern/cycles/render/mesh.cpp22
-rw-r--r--intern/cycles/render/mesh_subdivision.cpp8
2 files changed, 15 insertions, 15 deletions
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index fcf4e69984d..257e83171e9 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -298,17 +298,17 @@ int Mesh::split_vertex(int vertex)
foreach(Attribute& attr, attributes.attributes) {
if(attr.element == ATTR_ELEMENT_VERTEX) {
- vector<char> tmp(attr.data_sizeof());
- memcpy(&tmp[0], attr.data() + tmp.size()*vertex, tmp.size());
- attr.add(&tmp[0]);
+ array<char> tmp(attr.data_sizeof());
+ memcpy(tmp.data(), attr.data() + tmp.size()*vertex, tmp.size());
+ attr.add(tmp.data());
}
}
foreach(Attribute& attr, subd_attributes.attributes) {
if(attr.element == ATTR_ELEMENT_VERTEX) {
- vector<char> tmp(attr.data_sizeof());
- memcpy(&tmp[0], attr.data() + tmp.size()*vertex, tmp.size());
- attr.add(&tmp[0]);
+ array<char> tmp(attr.data_sizeof());
+ memcpy(tmp.data(), attr.data() + tmp.size()*vertex, tmp.size());
+ attr.add(tmp.data());
}
}
@@ -474,7 +474,7 @@ void Mesh::add_face_normals()
bool flip = transform_negative_scaled;
if(triangles_size) {
- float3 *verts_ptr = &verts[0];
+ float3 *verts_ptr = verts.data();
for(size_t i = 0; i < triangles_size; i++) {
fN[i] = compute_face_normal(get_triangle(i), verts_ptr);
@@ -568,7 +568,7 @@ void Mesh::pack_normals(Scene *scene, uint *tri_shader, float4 *vnormal)
bool last_smooth = false;
size_t triangles_size = num_triangles();
- int *shader_ptr = (shader.size())? &shader[0]: NULL;
+ int *shader_ptr = shader.data();
bool do_transform = transform_applied;
Transform ntfm = transform_normal;
@@ -608,7 +608,7 @@ void Mesh::pack_verts(const vector<uint>& tri_prim_index,
size_t verts_size = verts.size();
if(verts_size && subd_faces.size()) {
- float2 *vert_patch_uv_ptr = &vert_patch_uv[0];
+ float2 *vert_patch_uv_ptr = vert_patch_uv.data();
for(size_t i = 0; i < verts_size; i++) {
tri_patch_uv[i] = vert_patch_uv_ptr[i];
@@ -636,8 +636,8 @@ void Mesh::pack_curves(Scene *scene, float4 *curve_key_co, float4 *curve_data, s
/* pack curve keys */
if(curve_keys_size) {
- float3 *keys_ptr = &curve_keys[0];
- float *radius_ptr = &curve_radius[0];
+ float3 *keys_ptr = curve_keys.data();
+ float *radius_ptr = curve_radius.data();
for(size_t i = 0; i < curve_keys_size; i++)
curve_key_co[i] = make_float4(keys_ptr[i].x, keys_ptr[i].y, keys_ptr[i].z, radius_ptr[i]);
diff --git a/intern/cycles/render/mesh_subdivision.cpp b/intern/cycles/render/mesh_subdivision.cpp
index efb40efbb79..f87425f0042 100644
--- a/intern/cycles/render/mesh_subdivision.cpp
+++ b/intern/cycles/render/mesh_subdivision.cpp
@@ -45,7 +45,7 @@ namespace Far {
setNumBaseVertices(refiner, mesh.verts.size());
setNumBaseFaces(refiner, mesh.subd_faces.size());
- ccl::Mesh::SubdFace* face = &mesh.subd_faces[0];
+ const ccl::Mesh::SubdFace* face = mesh.subd_faces.data();
for(int i = 0; i < mesh.subd_faces.size(); i++, face++) {
setNumBaseFaceVertices(refiner, i, face->num_corners);
@@ -57,7 +57,7 @@ namespace Far {
template<>
bool TopologyRefinerFactory<ccl::Mesh>::assignComponentTopology(TopologyRefiner& refiner, ccl::Mesh const& mesh)
{
- ccl::Mesh::SubdFace* face = &mesh.subd_faces[0];
+ const ccl::Mesh::SubdFace* face = mesh.subd_faces.data();
for(int i = 0; i < mesh.subd_faces.size(); i++, face++) {
IndexArray face_verts = getBaseFaceVertices(refiner, i);
@@ -195,7 +195,7 @@ public:
verts[i].value = mesh->verts[i];
}
- OsdValue<float3>* src = &verts[0];
+ OsdValue<float3>* src = verts.data();
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
OsdValue<float3>* dest = src + refiner->GetLevel(i).GetNumVertices();
Far::PrimvarRefiner(*refiner).Interpolate(i+1, src, dest);
@@ -219,7 +219,7 @@ public:
attr.resize(num_refiner_verts + num_local_points);
attr.flags |= ATTR_FINAL_SIZE;
- char* src = &attr.buffer[0];
+ char* src = attr.buffer.data();
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
char* dest = src + refiner->GetLevel(i).GetNumVertices() * attr.data_sizeof();