diff options
author | Syoyo Fujita <syoyo@lighttransport.com> | 2017-07-17 17:21:39 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-17 17:21:39 +0900 |
commit | a86b78386b20eedee8f861bd82124c4a8326db92 (patch) | |
tree | 3f1be7a574680962a75e2da52726c3840883304c | |
parent | 8e7da8285275d41ebca3f9e747d5129a12b22d88 (diff) | |
parent | e3508c3ca3f3d02f0718df890d9aa3486d5ca8c0 (diff) | |
download | tinyobjloader-a86b78386b20eedee8f861bd82124c4a8326db92.tar.gz |
Merge pull request #132 from chrisliebert/master
Added Python mapping from material ID to material name (#131)
-rw-r--r-- | python/main.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/python/main.cpp b/python/main.cpp index 82ecd25..9e266c1 100644 --- a/python/main.cpp +++ b/python/main.cpp @@ -29,7 +29,7 @@ PyObject* pyTupleFromfloat3(float array[3]) { extern "C" { static PyObject* pyLoadObj(PyObject* self, PyObject* args) { - PyObject *rtndict, *pyshapes, *pymaterials, *attribobj, *current, *meshobj; + PyObject *rtndict, *pyshapes, *pymaterials, *pymaterial_indices, *attribobj, *current, *meshobj; char const* current_name; char const* filename; @@ -48,6 +48,7 @@ static PyObject* pyLoadObj(PyObject* self, PyObject* args) { pyshapes = PyDict_New(); pymaterials = PyDict_New(); + pymaterial_indices = PyDict_New(); rtndict = PyDict_New(); attribobj = PyDict_New(); @@ -123,6 +124,7 @@ static PyObject* pyLoadObj(PyObject* self, PyObject* args) { PyDict_SetItemString(pyshapes, (*shape).name.c_str(), meshobj); } + long material_index = 0; for (std::vector<tinyobj::material_t>::iterator mat = materials.begin(); mat != materials.end(); mat++) { PyObject* matobj = PyDict_New(); @@ -168,10 +170,12 @@ static PyObject* pyLoadObj(PyObject* self, PyObject* args) { PyDict_SetItemString(matobj, "unknown_parameter", unknown_parameter); PyDict_SetItemString(pymaterials, (*mat).name.c_str(), matobj); + PyDict_SetItemString(pymaterial_indices, PyLong_FromLong(material_index++), (*mat).name.c_str()); } PyDict_SetItemString(rtndict, "shapes", pyshapes); PyDict_SetItemString(rtndict, "materials", pymaterials); + PyDict_SetItemString(rtndict, "material_indices", pymaterial_indices); PyDict_SetItemString(rtndict, "attribs", attribobj); return rtndict; |