forked from bartvdbraak/blender
Code cleanup to use array.data() rather than &array[0]
(Now without the build errors)
This commit is contained in:
parent
7baf93c711
commit
e8b5e66db1
@ -298,17 +298,17 @@ int Mesh::split_vertex(int vertex)
|
|||||||
|
|
||||||
foreach(Attribute& attr, attributes.attributes) {
|
foreach(Attribute& attr, attributes.attributes) {
|
||||||
if(attr.element == ATTR_ELEMENT_VERTEX) {
|
if(attr.element == ATTR_ELEMENT_VERTEX) {
|
||||||
vector<char> tmp(attr.data_sizeof());
|
array<char> tmp(attr.data_sizeof());
|
||||||
memcpy(&tmp[0], attr.data() + tmp.size()*vertex, tmp.size());
|
memcpy(tmp.data(), attr.data() + tmp.size()*vertex, tmp.size());
|
||||||
attr.add(&tmp[0]);
|
attr.add(tmp.data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(Attribute& attr, subd_attributes.attributes) {
|
foreach(Attribute& attr, subd_attributes.attributes) {
|
||||||
if(attr.element == ATTR_ELEMENT_VERTEX) {
|
if(attr.element == ATTR_ELEMENT_VERTEX) {
|
||||||
vector<char> tmp(attr.data_sizeof());
|
array<char> tmp(attr.data_sizeof());
|
||||||
memcpy(&tmp[0], attr.data() + tmp.size()*vertex, tmp.size());
|
memcpy(tmp.data(), attr.data() + tmp.size()*vertex, tmp.size());
|
||||||
attr.add(&tmp[0]);
|
attr.add(tmp.data());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ void Mesh::add_face_normals()
|
|||||||
bool flip = transform_negative_scaled;
|
bool flip = transform_negative_scaled;
|
||||||
|
|
||||||
if(triangles_size) {
|
if(triangles_size) {
|
||||||
float3 *verts_ptr = &verts[0];
|
float3 *verts_ptr = verts.data();
|
||||||
|
|
||||||
for(size_t i = 0; i < triangles_size; i++) {
|
for(size_t i = 0; i < triangles_size; i++) {
|
||||||
fN[i] = compute_face_normal(get_triangle(i), verts_ptr);
|
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;
|
bool last_smooth = false;
|
||||||
|
|
||||||
size_t triangles_size = num_triangles();
|
size_t triangles_size = num_triangles();
|
||||||
int *shader_ptr = (shader.size())? &shader[0]: NULL;
|
int *shader_ptr = shader.data();
|
||||||
|
|
||||||
bool do_transform = transform_applied;
|
bool do_transform = transform_applied;
|
||||||
Transform ntfm = transform_normal;
|
Transform ntfm = transform_normal;
|
||||||
@ -608,7 +608,7 @@ void Mesh::pack_verts(const vector<uint>& tri_prim_index,
|
|||||||
size_t verts_size = verts.size();
|
size_t verts_size = verts.size();
|
||||||
|
|
||||||
if(verts_size && subd_faces.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++) {
|
for(size_t i = 0; i < verts_size; i++) {
|
||||||
tri_patch_uv[i] = vert_patch_uv_ptr[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 */
|
/* pack curve keys */
|
||||||
if(curve_keys_size) {
|
if(curve_keys_size) {
|
||||||
float3 *keys_ptr = &curve_keys[0];
|
float3 *keys_ptr = curve_keys.data();
|
||||||
float *radius_ptr = &curve_radius[0];
|
float *radius_ptr = curve_radius.data();
|
||||||
|
|
||||||
for(size_t i = 0; i < curve_keys_size; i++)
|
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]);
|
curve_key_co[i] = make_float4(keys_ptr[i].x, keys_ptr[i].y, keys_ptr[i].z, radius_ptr[i]);
|
||||||
|
@ -45,7 +45,7 @@ namespace Far {
|
|||||||
setNumBaseVertices(refiner, mesh.verts.size());
|
setNumBaseVertices(refiner, mesh.verts.size());
|
||||||
setNumBaseFaces(refiner, mesh.subd_faces.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++) {
|
for(int i = 0; i < mesh.subd_faces.size(); i++, face++) {
|
||||||
setNumBaseFaceVertices(refiner, i, face->num_corners);
|
setNumBaseFaceVertices(refiner, i, face->num_corners);
|
||||||
@ -57,7 +57,7 @@ namespace Far {
|
|||||||
template<>
|
template<>
|
||||||
bool TopologyRefinerFactory<ccl::Mesh>::assignComponentTopology(TopologyRefiner& refiner, ccl::Mesh const& mesh)
|
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++) {
|
for(int i = 0; i < mesh.subd_faces.size(); i++, face++) {
|
||||||
IndexArray face_verts = getBaseFaceVertices(refiner, i);
|
IndexArray face_verts = getBaseFaceVertices(refiner, i);
|
||||||
@ -195,7 +195,7 @@ public:
|
|||||||
verts[i].value = mesh->verts[i];
|
verts[i].value = mesh->verts[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
OsdValue<float3>* src = &verts[0];
|
OsdValue<float3>* src = verts.data();
|
||||||
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
|
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
|
||||||
OsdValue<float3>* dest = src + refiner->GetLevel(i).GetNumVertices();
|
OsdValue<float3>* dest = src + refiner->GetLevel(i).GetNumVertices();
|
||||||
Far::PrimvarRefiner(*refiner).Interpolate(i+1, src, dest);
|
Far::PrimvarRefiner(*refiner).Interpolate(i+1, src, dest);
|
||||||
@ -219,7 +219,7 @@ public:
|
|||||||
attr.resize(num_refiner_verts + num_local_points);
|
attr.resize(num_refiner_verts + num_local_points);
|
||||||
attr.flags |= ATTR_FINAL_SIZE;
|
attr.flags |= ATTR_FINAL_SIZE;
|
||||||
|
|
||||||
char* src = &attr.buffer[0];
|
char* src = attr.buffer.data();
|
||||||
|
|
||||||
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
|
for(int i = 0; i < refiner->GetMaxLevel(); i++) {
|
||||||
char* dest = src + refiner->GetLevel(i).GetNumVertices() * attr.data_sizeof();
|
char* dest = src + refiner->GetLevel(i).GetNumVertices() * attr.data_sizeof();
|
||||||
|
@ -57,7 +57,7 @@ void EdgeDice::reserve(int num_verts)
|
|||||||
|
|
||||||
Attribute *attr_vN = mesh->attributes.add(ATTR_STD_VERTEX_NORMAL);
|
Attribute *attr_vN = mesh->attributes.add(ATTR_STD_VERTEX_NORMAL);
|
||||||
|
|
||||||
mesh_P = &mesh->verts[0];
|
mesh_P = mesh->verts.data();
|
||||||
mesh_N = attr_vN->data_float3();
|
mesh_N = attr_vN->data_float3();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,7 +214,7 @@ void PackedPatchTable::pack(Far::PatchTable* patch_table, int offset)
|
|||||||
}
|
}
|
||||||
|
|
||||||
table.resize(total_size());
|
table.resize(total_size());
|
||||||
uint* data = &table[0];
|
uint* data = table.data();
|
||||||
|
|
||||||
uint* array = data;
|
uint* array = data;
|
||||||
uint* index = array + num_arrays * PATCH_ARRAY_SIZE;
|
uint* index = array + num_arrays * PATCH_ARRAY_SIZE;
|
||||||
@ -259,7 +259,7 @@ void PackedPatchTable::pack(Far::PatchTable* patch_table, int offset)
|
|||||||
|
|
||||||
void PackedPatchTable::copy_adjusting_offsets(uint* dest, int doffset)
|
void PackedPatchTable::copy_adjusting_offsets(uint* dest, int doffset)
|
||||||
{
|
{
|
||||||
uint* src = &table[0];
|
uint* src = table.data();
|
||||||
|
|
||||||
/* arrays */
|
/* arrays */
|
||||||
for(int i = 0; i < num_arrays; i++) {
|
for(int i = 0; i < num_arrays; i++) {
|
||||||
|
@ -43,7 +43,7 @@ namespace Far { struct PatchTable; }
|
|||||||
#define PATCH_NODE_SIZE 1
|
#define PATCH_NODE_SIZE 1
|
||||||
|
|
||||||
struct PackedPatchTable {
|
struct PackedPatchTable {
|
||||||
vector<uint> table;
|
array<uint> table;
|
||||||
|
|
||||||
size_t num_arrays;
|
size_t num_arrays;
|
||||||
size_t num_indices;
|
size_t num_indices;
|
||||||
|
Loading…
Reference in New Issue
Block a user