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:
authorLukas Tönne <lukas.toenne@gmail.com>2017-08-28 10:21:57 +0300
committerLukas Tönne <lukas.toenne@gmail.com>2017-08-28 10:21:57 +0300
commitfb7c003e9927c44cb8f05376555fd65cae86d379 (patch)
tree479356d22bfb7ae9d0ea8710dcbf4d2b7ccd3e3e /tests/gtests/blenkernel/BKE_mesh_test_util.cc
parentcaded470a6d0a9e002451ef1050032c4b882379d (diff)
Simple CSV mesh loading for tests.strand_editmode
File paths are crude and preliminary.
Diffstat (limited to 'tests/gtests/blenkernel/BKE_mesh_test_util.cc')
-rw-r--r--tests/gtests/blenkernel/BKE_mesh_test_util.cc43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/gtests/blenkernel/BKE_mesh_test_util.cc b/tests/gtests/blenkernel/BKE_mesh_test_util.cc
index f72ee7c74d0..6dbed2c4533 100644
--- a/tests/gtests/blenkernel/BKE_mesh_test_util.cc
+++ b/tests/gtests/blenkernel/BKE_mesh_test_util.cc
@@ -1,5 +1,6 @@
/* Apache License, Version 2.0 */
+#include <fstream>
#include <iostream>
#include <iomanip>
@@ -212,6 +213,48 @@ Mesh* BKE_mesh_test_from_data(
return me;
}
+Mesh* BKE_mesh_test_from_csv(const char *filename)
+{
+ std::ifstream ifs (filename, std::ifstream::in);
+
+ char delim;
+
+ int numverts, numloops, numfaces;
+ float (*verts)[3] = NULL;
+ int *loops = NULL;
+ int *face_lengths = NULL;
+
+ ifs >> numverts;
+ ifs >> delim;
+ verts = (float (*)[3])MEM_mallocN(sizeof(float[3]) * numverts, "verts");
+ for (int i = 0; i < numverts; ++i) {
+ ifs >> verts[i][0];
+ ifs >> delim;
+ ifs >> verts[i][1];
+ ifs >> delim;
+ ifs >> verts[i][2];
+ ifs >> delim;
+ }
+
+ ifs >> numloops;
+ ifs >> delim;
+ loops = (int *)MEM_mallocN(sizeof(int) * numloops, "loops");
+ for (int i = 0; i < numloops; ++i) {
+ ifs >> loops[i];
+ ifs >> delim;
+ }
+
+ ifs >> numfaces;
+ ifs >> delim;
+ face_lengths = (int *)MEM_mallocN(sizeof(int) * numfaces, "face_lengths");
+ for (int i = 0; i < numfaces; ++i) {
+ ifs >> face_lengths[i];
+ ifs >> delim;
+ }
+
+ return BKE_mesh_test_from_data(verts, numverts, NULL, 0, loops, face_lengths, numfaces);
+}
+
void BKE_mesh_test_dump_verts(Mesh *me, std::ostream &str)
{
int numverts = me->totvert;