Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a20e4ede85 | ||
|
|
1ab0d147cb | ||
|
|
9aee576b99 | ||
|
|
0dcc72239d | ||
|
|
33d5e9aa07 | ||
|
|
e528741a8b | ||
|
|
9c81fcb4cc | ||
|
|
d119dcb976 | ||
|
|
6cdb3ec832 | ||
|
|
1b24514ed9 | ||
|
|
0dd90f853d | ||
|
|
b40e8c9427 | ||
|
|
ad9911ef1b | ||
|
|
d6cd178d6a | ||
|
|
6a25058ef5 | ||
|
|
06acb38847 | ||
|
|
d688bbd910 | ||
|
|
31c6633535 | ||
|
|
bf131698e5 | ||
|
|
f2db18dc53 |
37
.bintray.in
Normal file
37
.bintray.in
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
/* Bintray package information.
|
||||
In case the package already exists on Bintray, only the name, repo and subject
|
||||
fields are mandatory. */
|
||||
|
||||
"package": {
|
||||
"name": "releases", // Bintray package name
|
||||
"repo": "tinyobjloader", // Bintray repository name
|
||||
"subject": "syoyo" // Bintray subject (user or organization)
|
||||
},
|
||||
|
||||
/* Package version information.
|
||||
In case the version already exists on Bintray, only the name fields is mandatory. */
|
||||
|
||||
"version": {
|
||||
"name": "@VERSION@",
|
||||
"desc": "@VERSION@",
|
||||
"released": "@DATE@",
|
||||
"vcs_tag": "@VERSION@",
|
||||
"gpgSign": false
|
||||
},
|
||||
|
||||
/* Configure the files you would like to upload to Bintray and their upload path.
|
||||
You can define one or more groups of patterns.
|
||||
Each group contains three patterns:
|
||||
|
||||
includePattern: Pattern in the form of Ruby regular expression, indicating the path of files to be uploaded to Bintray.
|
||||
excludePattern: Optional. Pattern in the form of Ruby regular expression, indicating the path of files to be removed from the list of files specified by the includePattern.
|
||||
uploadPattern: Upload path on Bintray. The path can contain symbols in the form of $1, $2,... that are replaced with capturing groups defined in the include pattern.
|
||||
|
||||
Note: Regular expressions defined as part of the includePattern property must be wrapped with brackets. */
|
||||
|
||||
"files":
|
||||
[ {"includePattern": "dist/(.*)", "uploadPattern": "$1"} ],
|
||||
"publish": true
|
||||
}
|
||||
|
||||
43
.travis.yml
43
.travis.yml
@@ -15,7 +15,7 @@ matrix:
|
||||
- g++-4.9
|
||||
- clang-3.7
|
||||
compiler: clang
|
||||
env: COMPILER_VERSION=3.7 BUILD_TYPE=Debug
|
||||
env: DEPLOY_BUILD=1 COMPILER_VERSION=3.7 BUILD_TYPE=Debug
|
||||
- addons: *1
|
||||
compiler: clang
|
||||
env: COMPILER_VERSION=3.7 BUILD_TYPE=Release
|
||||
@@ -51,16 +51,35 @@ script:
|
||||
..
|
||||
- ninja
|
||||
- ./test_loader ../cornell_box.obj
|
||||
- if [ -n "$REPORT_COVERAGE" ]; then coveralls -b . -r .. -e examples -e tools -e jni
|
||||
-e python -e images -E ".*CompilerId.*" -E ".*feature_tests.*" ; fi
|
||||
- if [ -n "$REPORT_COVERAGE" ]; then coveralls -b . -r .. -e examples -e tools -e
|
||||
jni -e python -e images -E ".*CompilerId.*" -E ".*feature_tests.*" ; fi
|
||||
- cd ..
|
||||
- rm -rf dist
|
||||
- mkdir dist
|
||||
- cp tiny_obj_loader.h dist/
|
||||
|
||||
before_deploy:
|
||||
- echo "Creating description file for bintray."
|
||||
- ./tools/travis_postbuild.sh
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: AsXameK4GJn6h6wMmDrKTr7q/o9EI7hX7zWg1W6VaFBQKfkBvOmjJolWimjl6HMoRZ1NpMmK5GDm3zBlTUeABtgVBIyNWgE9vWS39ff6D5iQKcgScFsJkyILt0GikBqbN2pLGQ2t/M1Qh6n1sEIfzqekiCcF5Qvy5yYlYvHtaRGV02QeYAej/xx15/9SMuKTncHhjf63ClYPu8ODid7QUegJUvlQUeXoPsBDbaXMH2uDWoBWF7etX7G2Iob4NE8GX+ZP6dj+Ogi7p4HXThK650mzLL/pUl584EjjY/vePqx0cFhtpiRwvrW8SNPI1aJ1Phwa1enLRUgfS3bnkwQAMw/SCXSK2lnCvkUAXyTgpG03HWrZURj4vhEPXc7qHooO+dsfmi+JanYLaSDyrGpgQznLGjCMnVATimry0KxSufUY8Wt72Wh+nf7N0IgTUCjl32sWnQd/MRZPkxFuaf1h7r9RoH9KZY0yIOV09gABEFCGrOIZA2FcyhC2G26Bc4zyNrfMFpZ2DI76qdcWNdJGkRkpxtH9sGU8JgZu6Em2f1e6+SLgkBsPxbhRk5PwdhA9AXE2p9PmQqhO3jJKusGBZSoHAF7TlwagRY2J01yJxF7ge6zG9U8QuBqs1bB1zdnE34fHWOgs4st3inC+oBDOhvnEg1Nm/qeYVWMBzpwclSg=
|
||||
file: tiny_obj_loader.h
|
||||
all_branches: true
|
||||
on:
|
||||
repo: syoyo/tinyobjloader
|
||||
tags: true
|
||||
skip_cleanup: true
|
||||
- provider: bintray
|
||||
file: ".bintray.json"
|
||||
user: "syoyo"
|
||||
key:
|
||||
secure: W4F1VZcDcVOMe8Ymvo0bHery/JSmVhadl1NgAnGus6o7zVw7ChElKA1ho/NtqUbtoW8o1qUKMJdLQeh786jolocZJEJlns9JZ5FCet6H2b3kITfUa4GR5T11V/ZYwL3SajW8vZ1xu5UrpP5HHgFMYtxb1MFrNLDI60sh0RnyV/qFFBnCJGZPagF/M1mzbJeDml5xK5lShH0r8QpH+7MeQ1J8ungEyJ7UCyr1ao8gY9eq1/05IpHR9vri/d48EXQWHbqtI8EwCc7064oCYQGyYcLsD4yPEokwrdelkCvDquSpJLmbJENfZCc4vZGXsykjnQ8+gltJomBAivQFB9vc06ETEJssMzitbrfEZUrqFwZj/HZM7CYGXfGQWltL828SppCjsuWrgQ/VYXM5UgRpmhlxbqnuyxnYvKZ9EDW4+EnMkOmIl7WSDovp8E/4CZ0ghs+YyFS4SrgeqFCXS8bvxrkDUUPSipHuGBOt02fRnccKzU+3zU6Q5fghyLczz4ZtnOdk+Niz/njyF0SZfPYTUgb3GzAJ8Su6kvWJCAGdedON3n1F/TtybCE2dIdATxaO2uFQbwYjSOCiq209oCJ7MrsQZibRsa5a9YXyjlLkPxwOeVwo8wJyJclqWswIkhdSO8xvTnkwESv4yLzLutEOlBVlQbJzpyuS6vx0yHOYkwc=
|
||||
all_branches: true
|
||||
on:
|
||||
repo: syoyo/tinyobjloader
|
||||
condition: -n "$DEPLOY_BUILD"
|
||||
tags: true
|
||||
skip_cleanup: true
|
||||
- provider: releases
|
||||
api_key:
|
||||
secure: AsXameK4GJn6h6wMmDrKTr7q/o9EI7hX7zWg1W6VaFBQKfkBvOmjJolWimjl6HMoRZ1NpMmK5GDm3zBlTUeABtgVBIyNWgE9vWS39ff6D5iQKcgScFsJkyILt0GikBqbN2pLGQ2t/M1Qh6n1sEIfzqekiCcF5Qvy5yYlYvHtaRGV02QeYAej/xx15/9SMuKTncHhjf63ClYPu8ODid7QUegJUvlQUeXoPsBDbaXMH2uDWoBWF7etX7G2Iob4NE8GX+ZP6dj+Ogi7p4HXThK650mzLL/pUl584EjjY/vePqx0cFhtpiRwvrW8SNPI1aJ1Phwa1enLRUgfS3bnkwQAMw/SCXSK2lnCvkUAXyTgpG03HWrZURj4vhEPXc7qHooO+dsfmi+JanYLaSDyrGpgQznLGjCMnVATimry0KxSufUY8Wt72Wh+nf7N0IgTUCjl32sWnQd/MRZPkxFuaf1h7r9RoH9KZY0yIOV09gABEFCGrOIZA2FcyhC2G26Bc4zyNrfMFpZ2DI76qdcWNdJGkRkpxtH9sGU8JgZu6Em2f1e6+SLgkBsPxbhRk5PwdhA9AXE2p9PmQqhO3jJKusGBZSoHAF7TlwagRY2J01yJxF7ge6zG9U8QuBqs1bB1zdnE34fHWOgs4st3inC+oBDOhvnEg1Nm/qeYVWMBzpwclSg=
|
||||
file: tiny_obj_loader.h
|
||||
all_branches: true
|
||||
on:
|
||||
repo: syoyo/tinyobjloader
|
||||
tags: true
|
||||
skip_cleanup: true
|
||||
|
||||
@@ -21,6 +21,7 @@ Tiny but powerful single file wavefront obj loader written in C++. No dependency
|
||||
What's new
|
||||
----------
|
||||
|
||||
* Mar 13, 2016 : Introduce `load_flag_t` and flat normal calculation flag! Thanks Vazquinhos!
|
||||
* Jan 29, 2016 : Support n-polygon(no triangulation) and OpenSubdiv crease tag! Thanks dboogert!
|
||||
* Nov 26, 2015 : Now single-header only!.
|
||||
* Nov 08, 2015 : Improved API.
|
||||
@@ -163,8 +164,8 @@ std::vector<tinyobj::shape_t> shapes;
|
||||
std::vector<tinyobj::material_t> materials;
|
||||
|
||||
std::string err;
|
||||
bool triangulate = false;
|
||||
bool ret = tinyobj::LoadObj(shapes, materials, err, inputfile.c_str(), triangulate);
|
||||
int flags = 1; // see load_flags_t enum for more information.
|
||||
bool ret = tinyobj::LoadObj(shapes, materials, err, inputfile.c_str(), flags);
|
||||
|
||||
if (!err.empty()) { // `err` may contain warning message.
|
||||
std::cerr << err << std::endl;
|
||||
@@ -180,7 +181,7 @@ for (size_t i = 0; i < shapes.size(); i++) {
|
||||
for (size_t n = 0; n < shapes[i].mesh.num_vertices.size(); n++) {
|
||||
int ngon = shapes[i].mesh.num_vertices[n];
|
||||
for (size_t f = 0; f < ngon; f++) {
|
||||
unsigend int v = shapes[i].mesh.indices[indexOffset + f];
|
||||
unsigned int v = shapes[i].mesh.indices[indexOffset + f];
|
||||
printf(" face[%ld] v[%ld] = (%f, %f, %f)\n", n,
|
||||
shapes[i].mesh.positions[3*v+0],
|
||||
shapes[i].mesh.positions[3*v+1],
|
||||
|
||||
9
models/usemtl-issue-68.mtl
Normal file
9
models/usemtl-issue-68.mtl
Normal file
@@ -0,0 +1,9 @@
|
||||
newmtl Material.001
|
||||
Ka 0 0 0
|
||||
Kd 0 0 0
|
||||
Ks 0 0 0
|
||||
|
||||
newmtl Material.003
|
||||
Ka 0 0 0
|
||||
Kd 1 1 1
|
||||
Ks 0 0 0
|
||||
817
models/usemtl-issue-68.obj
Normal file
817
models/usemtl-issue-68.obj
Normal file
@@ -0,0 +1,817 @@
|
||||
# https://github.com/syoyo/tinyobjloader/issues/68
|
||||
# Blender v2.73 (sub 0) OBJ File: 'enemy.blend'
|
||||
# www.blender.org
|
||||
mtllib usemtl-issue-68.mtl
|
||||
o Cube
|
||||
v 1.864151 -1.219172 -5.532511
|
||||
v 0.575869 -0.666304 5.896140
|
||||
v 0.940448 1.000000 -1.971128
|
||||
v 1.620345 1.000000 -5.815706
|
||||
v 1.864152 1.000000 -6.334323
|
||||
v 0.575869 -0.129842 5.896143
|
||||
v 5.440438 -1.462153 -5.818601
|
||||
v 4.896782 -1.462153 -2.744413
|
||||
v 1.000825 -0.677484 1.899605
|
||||
v 5.440438 -1.246362 -5.818600
|
||||
v 1.000825 0.852342 1.899608
|
||||
v 4.896782 -1.246362 -2.744412
|
||||
v 1.160660 -0.450871 -2.356325
|
||||
v 1.704316 -0.450871 -5.430513
|
||||
v 1.000825 -0.351920 -1.293797
|
||||
v 1.000825 1.000000 -1.293794
|
||||
v 1.160660 -0.877888 -2.356326
|
||||
v 1.704316 -0.877888 -5.430514
|
||||
v 1.000825 -1.219172 -1.452514
|
||||
v 1.000825 1.000000 -1.452511
|
||||
v 1.000825 -0.351920 1.759410
|
||||
v 1.000825 1.000000 1.759413
|
||||
v 9.097919 1.221145 -6.212147
|
||||
v 8.356775 1.221145 -2.021231
|
||||
v 1.864151 -0.109586 -6.334325
|
||||
v 0.575869 -0.398073 5.896141
|
||||
v 9.097919 0.943958 -6.212148
|
||||
v 8.356775 0.943958 -2.021233
|
||||
v 1.061916 0.113661 -1.797961
|
||||
v 1.000825 0.161258 1.899606
|
||||
v 1.000825 0.324040 -1.293795
|
||||
v 1.803060 0.113661 -5.988876
|
||||
v 1.000825 -0.109586 -1.452513
|
||||
v 1.061916 0.776753 -1.797960
|
||||
v 1.803061 0.776753 -5.988875
|
||||
v 1.000825 0.324040 1.759412
|
||||
v 0.000825 -1.219172 -5.532512
|
||||
v 0.000825 -0.666304 5.896139
|
||||
v 0.000826 1.000000 -6.334325
|
||||
v 0.000825 -0.129842 5.896140
|
||||
v 0.000825 0.852342 1.899606
|
||||
v 0.000825 -0.677484 1.899604
|
||||
v 0.000825 -0.351920 -1.293797
|
||||
v 0.000825 1.000000 -1.293796
|
||||
v 0.000825 1.000000 -1.452513
|
||||
v 0.000825 -1.219172 -1.452515
|
||||
v 0.000825 -0.351920 1.759409
|
||||
v 0.000825 1.000000 1.759411
|
||||
v 0.000826 -0.109586 -6.334326
|
||||
v 0.000825 -0.398073 5.896140
|
||||
v 0.152918 1.000000 -5.815708
|
||||
v 0.152917 1.000000 -1.971130
|
||||
v 0.940448 1.168419 -1.971128
|
||||
v 1.620345 1.168419 -5.815706
|
||||
v 0.152918 1.168419 -5.815708
|
||||
v 0.152917 1.168419 -1.971130
|
||||
v 0.921118 1.091883 -1.050430
|
||||
v 0.921118 1.091883 1.516050
|
||||
v 0.080533 1.091883 -1.050432
|
||||
v 0.080533 1.091883 1.516048
|
||||
v 0.613003 -0.553430 5.546911
|
||||
v 0.963691 -0.559956 2.248834
|
||||
v 0.613003 -0.396857 5.546912
|
||||
v 0.963691 -0.070362 2.248835
|
||||
v 1.499370 -0.994317 3.966028
|
||||
v 1.850058 -0.997914 0.667950
|
||||
v 1.499370 -0.908021 3.966029
|
||||
v 1.850058 -0.728071 0.667951
|
||||
v 1.601022 0.760960 -6.334324
|
||||
v 1.601021 0.129454 -6.334325
|
||||
v 0.263955 0.760960 -6.334325
|
||||
v 0.263955 0.129454 -6.334325
|
||||
v 1.334809 0.760960 -7.515329
|
||||
v 1.334809 0.129455 -7.515330
|
||||
v 0.530168 0.760960 -7.515330
|
||||
v 0.530168 0.129455 -7.515330
|
||||
v 1.192720 0.649445 -7.515329
|
||||
v 1.192720 0.240971 -7.515330
|
||||
v 0.672258 0.649445 -7.515330
|
||||
v 0.672258 0.240971 -7.515330
|
||||
v 1.192719 0.649444 -6.524630
|
||||
v 1.192719 0.240970 -6.524631
|
||||
v 0.672257 0.649444 -6.524631
|
||||
v 0.672257 0.240970 -6.524631
|
||||
v 3.851026 0.431116 -1.883326
|
||||
v 3.851026 0.946662 -1.883325
|
||||
v 4.592170 0.946662 -6.074241
|
||||
v 4.592169 0.431116 -6.074242
|
||||
v 4.995714 0.561404 -1.918362
|
||||
v 4.995714 1.016394 -1.918360
|
||||
v 5.736857 1.016394 -6.109276
|
||||
v 5.736857 0.561404 -6.109277
|
||||
v 3.975454 0.471731 -2.162156
|
||||
v 3.975454 0.919244 -2.162155
|
||||
v 4.618796 0.919244 -5.800034
|
||||
v 4.618795 0.471730 -5.800035
|
||||
v 4.969088 0.584825 -2.192568
|
||||
v 4.969088 0.979775 -2.192567
|
||||
v 5.612430 0.979775 -5.830446
|
||||
v 5.612429 0.584825 -5.830447
|
||||
v 0.864214 -0.673890 3.184381
|
||||
v 0.864213 0.489129 3.184384
|
||||
v 0.864213 -0.018552 3.184383
|
||||
v 0.000825 0.489129 3.184382
|
||||
v 0.000825 -0.673890 3.184381
|
||||
v 0.850955 -0.557858 3.309075
|
||||
v 0.850955 -0.175321 3.309076
|
||||
v 1.737321 -0.996758 1.728192
|
||||
v 1.737321 -0.785920 1.728193
|
||||
v -1.864151 -1.219172 -5.532511
|
||||
v -0.575869 -0.666304 5.896140
|
||||
v -0.940448 1.000000 -1.971128
|
||||
v -1.620345 1.000000 -5.815706
|
||||
v -1.864152 1.000000 -6.334323
|
||||
v -0.575869 -0.129842 5.896143
|
||||
v -5.440438 -1.462153 -5.818601
|
||||
v -4.896782 -1.462153 -2.744413
|
||||
v -1.000825 -0.677484 1.899605
|
||||
v -5.440438 -1.246362 -5.818600
|
||||
v -1.000825 0.852342 1.899608
|
||||
v -4.896782 -1.246362 -2.744412
|
||||
v -1.160660 -0.450871 -2.356325
|
||||
v -1.704316 -0.450871 -5.430513
|
||||
v -1.000825 -0.351920 -1.293797
|
||||
v -1.000825 1.000000 -1.293794
|
||||
v -1.160660 -0.877888 -2.356326
|
||||
v -1.704316 -0.877888 -5.430514
|
||||
v -1.000825 -1.219172 -1.452514
|
||||
v -1.000825 1.000000 -1.452511
|
||||
v -1.000825 -0.351920 1.759410
|
||||
v -1.000825 1.000000 1.759413
|
||||
v -9.097919 1.221145 -6.212147
|
||||
v -8.356775 1.221145 -2.021231
|
||||
v -1.864151 -0.109586 -6.334325
|
||||
v -0.575869 -0.398073 5.896141
|
||||
v -9.097919 0.943958 -6.212148
|
||||
v -8.356775 0.943958 -2.021233
|
||||
v -1.061916 0.113661 -1.797961
|
||||
v -1.000825 0.161258 1.899606
|
||||
v -1.000825 0.324040 -1.293795
|
||||
v -1.803060 0.113661 -5.988876
|
||||
v -1.000825 -0.109586 -1.452513
|
||||
v -1.061916 0.776753 -1.797960
|
||||
v -1.803061 0.776753 -5.988875
|
||||
v -1.000825 0.324040 1.759412
|
||||
v -0.000825 -1.219172 -5.532512
|
||||
v -0.000825 -0.666304 5.896139
|
||||
v -0.000826 1.000000 -6.334325
|
||||
v -0.000825 -0.129842 5.896140
|
||||
v -0.000825 0.852342 1.899606
|
||||
v -0.000825 -0.677484 1.899604
|
||||
v -0.000825 -0.351920 -1.293797
|
||||
v -0.000825 1.000000 -1.293796
|
||||
v -0.000825 1.000000 -1.452513
|
||||
v -0.000825 -1.219172 -1.452515
|
||||
v -0.000825 -0.351920 1.759409
|
||||
v -0.000825 1.000000 1.759411
|
||||
v -0.000826 -0.109586 -6.334326
|
||||
v -0.000825 -0.398073 5.896140
|
||||
v -0.152918 1.000000 -5.815708
|
||||
v -0.152917 1.000000 -1.971130
|
||||
v -0.940448 1.168419 -1.971128
|
||||
v -1.620345 1.168419 -5.815706
|
||||
v -0.152918 1.168419 -5.815708
|
||||
v -0.152917 1.168419 -1.971130
|
||||
v -0.921118 1.091883 -1.050430
|
||||
v -0.921118 1.091883 1.516050
|
||||
v -0.080533 1.091883 -1.050432
|
||||
v -0.080533 1.091883 1.516048
|
||||
v -0.613003 -0.553430 5.546911
|
||||
v -0.963691 -0.559956 2.248834
|
||||
v -0.613003 -0.396857 5.546912
|
||||
v -0.963691 -0.070362 2.248835
|
||||
v -1.499370 -0.994317 3.966028
|
||||
v -1.850058 -0.997914 0.667950
|
||||
v -1.499370 -0.908021 3.966029
|
||||
v -1.850058 -0.728071 0.667951
|
||||
v -1.601022 0.760960 -6.334324
|
||||
v -1.601021 0.129454 -6.334325
|
||||
v -0.263955 0.760960 -6.334325
|
||||
v -0.263955 0.129454 -6.334325
|
||||
v -1.334809 0.760960 -7.515329
|
||||
v -1.334809 0.129455 -7.515330
|
||||
v -0.530168 0.760960 -7.515330
|
||||
v -0.530168 0.129455 -7.515330
|
||||
v -1.192720 0.649445 -7.515329
|
||||
v -1.192720 0.240971 -7.515330
|
||||
v -0.672258 0.649445 -7.515330
|
||||
v -0.672258 0.240971 -7.515330
|
||||
v -1.192719 0.649444 -6.524630
|
||||
v -1.192719 0.240970 -6.524631
|
||||
v -0.672257 0.649444 -6.524631
|
||||
v -0.672257 0.240970 -6.524631
|
||||
v -3.851026 0.431116 -1.883326
|
||||
v -3.851026 0.946662 -1.883325
|
||||
v -4.592170 0.946662 -6.074241
|
||||
v -4.592169 0.431116 -6.074242
|
||||
v -4.995714 0.561404 -1.918362
|
||||
v -4.995714 1.016394 -1.918360
|
||||
v -5.736857 1.016394 -6.109276
|
||||
v -5.736857 0.561404 -6.109277
|
||||
v -3.975454 0.471731 -2.162156
|
||||
v -3.975454 0.919244 -2.162155
|
||||
v -4.618796 0.919244 -5.800034
|
||||
v -4.618795 0.471730 -5.800035
|
||||
v -4.969088 0.584825 -2.192568
|
||||
v -4.969088 0.979775 -2.192567
|
||||
v -5.612430 0.979775 -5.830446
|
||||
v -5.612429 0.584825 -5.830447
|
||||
v -0.864214 -0.673890 3.184381
|
||||
v -0.864213 0.489129 3.184384
|
||||
v -0.864213 -0.018552 3.184383
|
||||
v -0.000825 0.489129 3.184382
|
||||
v -0.000825 -0.673890 3.184381
|
||||
v -0.850955 -0.557858 3.309075
|
||||
v -0.850955 -0.175321 3.309076
|
||||
v -1.737321 -0.996758 1.728192
|
||||
v -1.737321 -0.785920 1.728193
|
||||
vt 0.135351 -0.558072
|
||||
vt 0.003035 -0.363507
|
||||
vt 0.092282 -0.976844
|
||||
vt -0.081322 0.947351
|
||||
vt 0.100058 1.958891
|
||||
vt 0.050091 1.852185
|
||||
vt -0.092752 1.055565
|
||||
vt -0.251711 1.059474
|
||||
vt 0.075587 0.041384
|
||||
vt -0.086008 0.279003
|
||||
vt -0.086212 0.249830
|
||||
vt -0.276044 1.968137
|
||||
vt -0.246101 1.859467
|
||||
vt 0.009828 1.911388
|
||||
vt -0.133014 1.114769
|
||||
vt 0.413322 1.261595
|
||||
vt 0.299103 0.624605
|
||||
vt 1.243955 0.407183
|
||||
vt 0.515404 1.111487
|
||||
vt 1.358173 1.044173
|
||||
vt -0.081553 0.914324
|
||||
vt 0.080042 0.676706
|
||||
vt 0.401185 0.474498
|
||||
vt 1.295541 0.331328
|
||||
vt 0.365315 1.568841
|
||||
vt 0.299111 1.575740
|
||||
vt 0.143401 0.707357
|
||||
vt 0.629403 1.011947
|
||||
vt 0.449192 0.167251
|
||||
vt 1.409760 0.968317
|
||||
vt 0.986264 1.738667
|
||||
vt 1.573373 1.877873
|
||||
vt 1.417663 1.009490
|
||||
vt 0.237182 -0.196235
|
||||
vt 0.721785 1.030226
|
||||
vt 0.830554 0.870285
|
||||
vt 0.877494 1.898608
|
||||
vt 1.351399 1.106930
|
||||
vt 0.183935 0.557301
|
||||
vt 1.507109 1.975312
|
||||
vt 0.241636 0.439088
|
||||
vt 0.114297 -0.045011
|
||||
vt 0.140593 1.808834
|
||||
vt -0.015118 0.940452
|
||||
vt 0.156405 -1.071134
|
||||
vt 0.164119 -0.998223
|
||||
vt 0.040336 -1.068281
|
||||
vt 0.104459 -1.162571
|
||||
vt -0.165787 1.882802
|
||||
vt -0.014821 1.660811
|
||||
vt -0.287852 0.283965
|
||||
vt -0.293374 0.366508
|
||||
vt -0.289630 0.900550
|
||||
vt 0.035337 -0.191272
|
||||
vt 0.247348 0.172213
|
||||
vt 0.253300 1.021193
|
||||
vt -0.283166 0.952313
|
||||
vt -0.283398 0.919286
|
||||
vt 0.039792 0.444050
|
||||
vt 0.314806 -0.339851
|
||||
vt 0.112962 -0.334889
|
||||
vt -0.288056 0.254793
|
||||
vt -0.023788 -0.973990
|
||||
vt -0.155922 -0.359599
|
||||
vt 0.220528 -1.165425
|
||||
vt 0.108710 -0.748730
|
||||
vt -0.286364 1.918670
|
||||
vt -0.291973 1.118678
|
||||
vt -0.119962 0.896379
|
||||
vt -0.123707 0.362337
|
||||
vt 0.162891 -0.598569
|
||||
vt 0.467532 -0.853353
|
||||
vt 0.201549 -1.053262
|
||||
vt 0.161663 -0.198915
|
||||
vt 0.267667 -0.752638
|
||||
vt 0.278705 -0.371021
|
||||
vt 0.526390 -0.542053
|
||||
vt 0.483821 -0.479457
|
||||
vt 0.488162 -0.883689
|
||||
vt 0.500110 -0.105561
|
||||
vt 0.564618 -0.200418
|
||||
vt -0.110331 2.127229
|
||||
vt 0.040636 1.905238
|
||||
vt -0.010786 1.578087
|
||||
vt 0.104092 1.876168
|
||||
vt 0.255058 1.654176
|
||||
vt -0.054992 2.087323
|
||||
vt 0.203048 1.901245
|
||||
vt 0.052081 2.123235
|
||||
vt 0.042658 1.943733
|
||||
vt -0.056437 1.881175
|
||||
vt 0.147710 1.941151
|
||||
vt 0.050060 2.084741
|
||||
vt 0.146264 1.735002
|
||||
vt 0.041212 1.737584
|
||||
vt 0.048615 1.878591
|
||||
vt 0.663065 1.872485
|
||||
vt 0.786311 1.691257
|
||||
vt 0.507355 1.004102
|
||||
vt 0.630601 0.822874
|
||||
vt 0.955144 1.689498
|
||||
vt 0.860727 1.828333
|
||||
vt 0.725565 1.074543
|
||||
vt 0.819981 0.935708
|
||||
vt 0.674594 1.805657
|
||||
vt 0.539432 1.051867
|
||||
vt 0.646413 0.894554
|
||||
vt 0.781576 1.648344
|
||||
vt 0.240127 -0.712141
|
||||
vn 0.994400 0.000000 0.105700
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn 1.000000 0.000000 0.000000
|
||||
vn 0.984700 0.000000 0.174100
|
||||
vn 0.211800 0.976600 0.037500
|
||||
vn -0.103300 0.000000 -0.994600
|
||||
vn 0.103300 -0.000000 0.994600
|
||||
vn 0.911400 0.378700 0.161200
|
||||
vn -0.157300 -0.987200 -0.027800
|
||||
vn 0.113700 -0.993300 0.020100
|
||||
vn 0.030600 -0.000000 0.999500
|
||||
vn -0.061100 0.998100 -0.010800
|
||||
vn -0.030600 0.000000 -0.999500
|
||||
vn -0.000000 -0.000000 1.000000
|
||||
vn 0.000000 0.000000 -1.000000
|
||||
vn -0.755400 0.655300 0.000000
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
vn -0.000000 -0.180000 0.983700
|
||||
vn 0.000000 -0.395500 -0.918500
|
||||
vn -0.000000 0.688500 0.725200
|
||||
vn 0.000000 -0.585700 -0.810500
|
||||
vn -0.000000 0.974900 0.222500
|
||||
vn -0.000000 -1.000000 0.002800
|
||||
vn -1.000000 0.000000 -0.000000
|
||||
vn -0.000000 0.935500 0.353200
|
||||
vn 0.755400 0.655300 0.000000
|
||||
vn 0.000000 0.935500 -0.353200
|
||||
vn 0.673800 0.724900 0.143400
|
||||
vn 0.872300 -0.000000 0.489100
|
||||
vn -0.872300 0.000000 -0.489100
|
||||
vn -0.518300 -0.853500 -0.054200
|
||||
vn -0.975500 0.000000 -0.219900
|
||||
vn 0.975500 0.000000 -0.219900
|
||||
vn -0.913200 0.000000 -0.407500
|
||||
vn -0.436900 0.896200 -0.077300
|
||||
vn -0.995300 -0.000000 0.096600
|
||||
vn -0.297300 -0.953400 -0.052600
|
||||
vn 0.473900 -0.876600 0.083800
|
||||
vn 0.913200 0.000000 0.407500
|
||||
vn 0.342200 0.937700 0.060500
|
||||
vn 0.995300 -0.000000 -0.096600
|
||||
vn -0.519200 -0.853000 -0.054300
|
||||
vn 0.722400 0.676400 0.143800
|
||||
vn -0.994400 0.000000 0.105700
|
||||
vn -0.984700 0.000000 0.174100
|
||||
vn -0.211800 0.976600 0.037500
|
||||
vn 0.103300 0.000000 -0.994600
|
||||
vn -0.103300 -0.000000 0.994600
|
||||
vn -0.911400 0.378700 0.161200
|
||||
vn 0.157300 -0.987200 -0.027800
|
||||
vn -0.113700 -0.993300 0.020100
|
||||
vn -0.030600 -0.000000 0.999500
|
||||
vn 0.061100 0.998100 -0.010800
|
||||
vn 0.030600 0.000000 -0.999500
|
||||
vn -0.691900 0.713200 0.112500
|
||||
vn -0.872300 -0.000000 0.489100
|
||||
vn 0.872300 0.000000 -0.489100
|
||||
vn 0.518300 -0.853500 -0.054200
|
||||
vn 0.913200 0.000000 -0.407500
|
||||
vn 0.436900 0.896200 -0.077300
|
||||
vn 0.995300 0.000000 0.096600
|
||||
vn 0.297300 -0.953300 -0.052600
|
||||
vn -0.473900 -0.876600 0.083800
|
||||
vn -0.913200 -0.000000 0.407500
|
||||
vn -0.342200 0.937700 0.060500
|
||||
vn -0.995300 -0.000000 -0.096600
|
||||
vn 0.519200 -0.853000 -0.054300
|
||||
vn -0.714800 0.690100 0.113700
|
||||
vn 0.974400 0.089700 0.206200
|
||||
vn 0.870400 0.288400 0.399100
|
||||
vn 0.691900 0.713200 0.112500
|
||||
vn -0.518000 -0.853700 -0.053400
|
||||
vn -0.519700 -0.852700 -0.053600
|
||||
vn 0.714800 0.690100 0.113700
|
||||
vn -0.974400 0.089700 0.206200
|
||||
vn -0.870400 0.288400 0.399100
|
||||
vn -0.673800 0.724900 0.143400
|
||||
vn 0.518000 -0.853700 -0.053400
|
||||
vn 0.297300 -0.953400 -0.052600
|
||||
vn 0.519700 -0.852700 -0.053600
|
||||
vn -0.722400 0.676400 0.143800
|
||||
vn -0.000000 0.962300 0.272000
|
||||
usemtl Material.001
|
||||
s off
|
||||
f 103/1/1 102/2/1 6/3/1
|
||||
f 20/4/2 5/5/2 4/6/2
|
||||
f 20/4/2 3/7/2 52/8/2
|
||||
f 36/9/3 22/10/3 11/11/3
|
||||
f 39/12/2 51/13/2 4/6/2
|
||||
f 4/6/4 54/14/4 53/15/4
|
||||
f 14/16/5 13/17/5 12/18/5
|
||||
f 18/19/6 14/16/6 10/20/6
|
||||
f 20/4/3 16/21/3 31/22/3
|
||||
f 17/23/7 8/24/7 12/18/7
|
||||
f 25/25/4 32/26/4 29/27/4
|
||||
f 10/20/4 12/18/4 8/24/4
|
||||
f 1/28/8 18/19/8 17/23/8
|
||||
f 19/29/4 17/23/4 13/17/4
|
||||
f 25/25/4 14/16/4 18/19/4
|
||||
f 18/19/9 7/30/9 8/24/9
|
||||
f 92/31/10 27/32/10 28/33/10
|
||||
f 16/21/3 22/10/3 36/9/3
|
||||
f 31/22/3 36/9/3 21/34/3
|
||||
f 90/35/11 89/36/11 28/33/11
|
||||
f 91/37/12 90/35/12 24/38/12
|
||||
f 33/39/4 13/17/4 14/16/4
|
||||
f 23/40/4 24/38/4 28/33/4
|
||||
f 33/39/3 31/22/3 15/41/3
|
||||
f 21/34/3 36/9/3 30/42/3
|
||||
f 5/5/4 35/43/4 32/26/4
|
||||
f 5/5/4 20/4/4 34/44/4
|
||||
f 33/39/4 29/27/4 34/44/4
|
||||
f 91/37/13 23/40/13 27/32/13
|
||||
f 103/1/1 26/45/1 63/46/1
|
||||
f 26/45/14 50/47/14 38/48/14
|
||||
f 39/12/15 71/49/15 72/50/15
|
||||
f 48/51/16 60/52/16 59/53/16
|
||||
f 15/41/17 21/34/17 47/54/17
|
||||
f 19/29/17 46/55/17 37/56/17
|
||||
f 39/12/2 45/57/2 52/8/2
|
||||
f 20/4/2 45/57/2 44/58/2
|
||||
f 19/29/18 15/41/18 43/59/18
|
||||
f 9/60/19 42/61/19 47/54/19
|
||||
f 22/10/20 48/51/20 41/62/20
|
||||
f 25/25/21 1/28/21 37/56/21
|
||||
f 6/3/14 40/63/14 50/47/14
|
||||
f 104/64/22 40/63/22 6/3/22
|
||||
f 2/65/23 38/48/23 105/66/23
|
||||
f 55/67/2 56/68/2 53/15/2
|
||||
f 3/7/14 53/15/14 56/68/14
|
||||
f 51/13/15 55/67/15 54/14/15
|
||||
f 52/8/24 56/68/24 55/67/24
|
||||
f 57/69/2 59/53/2 60/52/2
|
||||
f 48/51/25 22/10/25 58/70/25
|
||||
f 16/21/26 57/69/26 58/70/26
|
||||
f 16/21/27 44/58/27 59/53/27
|
||||
f 107/71/28 63/46/28 67/72/28
|
||||
f 26/45/1 2/65/1 61/73/1
|
||||
f 9/60/1 30/42/1 64/74/1
|
||||
f 101/75/1 9/60/1 62/76/1
|
||||
f 108/77/1 109/78/1 67/72/1
|
||||
f 61/73/29 65/79/29 67/72/29
|
||||
f 62/76/30 64/74/30 68/80/30
|
||||
f 62/76/31 66/81/31 108/77/31
|
||||
f 71/49/32 75/82/32 76/83/32
|
||||
f 25/25/15 49/84/15 72/50/15
|
||||
f 5/5/15 69/85/15 71/49/15
|
||||
f 25/25/15 70/86/15 69/85/15
|
||||
f 76/83/15 75/82/15 79/87/15
|
||||
f 72/50/17 76/83/17 74/88/17
|
||||
f 71/49/2 69/85/2 73/89/2
|
||||
f 70/86/33 74/88/33 73/89/33
|
||||
f 80/90/3 79/87/3 83/91/3
|
||||
f 76/83/15 80/90/15 78/92/15
|
||||
f 75/82/15 73/89/15 77/93/15
|
||||
f 74/88/15 78/92/15 77/93/15
|
||||
f 82/94/15 84/95/15 83/91/15
|
||||
f 80/90/2 84/95/2 82/94/2
|
||||
f 77/93/17 81/96/17 83/91/17
|
||||
f 77/93/24 78/92/24 82/94/24
|
||||
f 35/43/13 87/97/13 88/98/13
|
||||
f 35/43/12 34/44/12 86/99/12
|
||||
f 34/44/11 29/27/11 85/100/11
|
||||
f 32/26/10 88/98/10 85/100/10
|
||||
f 92/31/34 100/101/34 99/102/34
|
||||
f 90/35/35 91/37/35 99/102/35
|
||||
f 89/36/36 90/35/36 98/103/36
|
||||
f 89/36/37 97/104/37 100/101/37
|
||||
f 95/105/13 99/102/13 100/101/13
|
||||
f 95/105/12 94/106/12 98/103/12
|
||||
f 94/106/11 93/107/11 97/104/11
|
||||
f 96/108/10 100/101/10 97/104/10
|
||||
f 88/98/38 96/108/38 93/107/38
|
||||
f 86/99/39 85/100/39 93/107/39
|
||||
f 87/97/40 86/99/40 94/106/40
|
||||
f 87/97/41 95/105/41 96/108/41
|
||||
f 106/109/42 108/77/42 65/79/42
|
||||
f 66/81/1 68/80/1 109/78/1
|
||||
f 101/75/1 106/109/1 61/73/1
|
||||
f 64/74/43 107/71/43 109/78/43
|
||||
f 101/75/23 105/66/23 42/61/23
|
||||
f 103/1/1 107/71/1 64/74/1
|
||||
f 30/42/1 11/11/1 102/2/1
|
||||
f 212/1/44 135/45/44 115/3/44
|
||||
f 129/4/2 112/7/2 113/6/2
|
||||
f 161/8/2 112/7/2 129/4/2
|
||||
f 145/9/24 139/42/24 120/11/24
|
||||
f 113/6/2 160/13/2 148/12/2
|
||||
f 162/15/45 163/14/45 113/6/45
|
||||
f 123/16/46 119/20/46 121/18/46
|
||||
f 127/19/47 116/30/47 119/20/47
|
||||
f 140/22/24 125/21/24 129/4/24
|
||||
f 121/18/48 117/24/48 126/23/48
|
||||
f 138/27/45 141/26/45 134/25/45
|
||||
f 117/24/45 121/18/45 119/20/45
|
||||
f 126/23/49 127/19/49 110/28/49
|
||||
f 122/17/45 126/23/45 128/29/45
|
||||
f 127/19/45 123/16/45 134/25/45
|
||||
f 117/24/50 116/30/50 127/19/50
|
||||
f 137/33/51 136/32/51 201/31/51
|
||||
f 145/9/24 131/10/24 125/21/24
|
||||
f 130/34/24 145/9/24 140/22/24
|
||||
f 199/35/52 133/38/52 137/33/52
|
||||
f 200/37/53 132/40/53 133/38/53
|
||||
f 123/16/45 122/17/45 142/39/45
|
||||
f 137/33/45 133/38/45 132/40/45
|
||||
f 124/41/24 140/22/24 142/39/24
|
||||
f 130/34/24 118/60/24 139/42/24
|
||||
f 141/26/45 144/43/45 114/5/45
|
||||
f 114/5/45 144/43/45 143/44/45
|
||||
f 143/44/45 138/27/45 142/39/45
|
||||
f 136/32/54 132/40/54 200/37/54
|
||||
f 212/1/44 216/71/44 172/46/44
|
||||
f 147/48/14 159/47/14 135/45/14
|
||||
f 181/50/15 180/49/15 148/12/15
|
||||
f 168/53/26 169/52/26 157/51/26
|
||||
f 124/41/17 152/59/17 156/54/17
|
||||
f 146/56/17 155/55/17 128/29/17
|
||||
f 148/12/2 160/13/2 161/8/2
|
||||
f 129/4/2 125/21/2 153/58/2
|
||||
f 155/55/18 152/59/18 124/41/18
|
||||
f 130/34/19 156/54/19 151/61/19
|
||||
f 131/10/20 120/11/20 150/62/20
|
||||
f 134/25/21 158/84/21 146/56/21
|
||||
f 159/47/14 149/63/14 115/3/14
|
||||
f 115/3/22 149/63/22 213/64/22
|
||||
f 214/66/23 147/48/23 111/65/23
|
||||
f 162/15/2 165/68/2 164/67/2
|
||||
f 165/68/14 162/15/14 112/7/14
|
||||
f 163/14/15 164/67/15 160/13/15
|
||||
f 164/67/3 165/68/3 161/8/3
|
||||
f 166/69/2 167/70/2 169/52/2
|
||||
f 157/51/25 169/52/25 167/70/25
|
||||
f 167/70/16 166/69/16 125/21/16
|
||||
f 125/21/27 166/69/27 168/53/27
|
||||
f 216/71/55 218/78/55 176/72/55
|
||||
f 135/45/44 172/46/44 170/73/44
|
||||
f 118/60/44 171/76/44 173/74/44
|
||||
f 210/75/44 215/109/44 171/76/44
|
||||
f 217/77/44 174/79/44 176/72/44
|
||||
f 176/72/56 174/79/56 170/73/56
|
||||
f 171/76/57 175/81/57 177/80/57
|
||||
f 217/77/58 175/81/58 171/76/58
|
||||
f 185/83/33 184/82/33 180/49/33
|
||||
f 134/25/15 179/86/15 181/50/15
|
||||
f 180/49/15 178/85/15 114/5/15
|
||||
f 178/85/15 179/86/15 134/25/15
|
||||
f 189/90/15 188/87/15 184/82/15
|
||||
f 183/88/17 185/83/17 181/50/17
|
||||
f 180/49/2 184/82/2 182/89/2
|
||||
f 182/89/32 183/88/32 179/86/32
|
||||
f 189/90/24 193/95/24 192/91/24
|
||||
f 187/92/15 189/90/15 185/83/15
|
||||
f 184/82/15 188/87/15 186/93/15
|
||||
f 186/93/15 187/92/15 183/88/15
|
||||
f 192/91/15 193/95/15 191/94/15
|
||||
f 191/94/2 193/95/2 189/90/2
|
||||
f 192/91/17 190/96/17 186/93/17
|
||||
f 186/93/3 190/96/3 191/94/3
|
||||
f 197/98/54 196/97/54 144/43/54
|
||||
f 144/43/53 196/97/53 195/99/53
|
||||
f 143/44/52 195/99/52 194/100/52
|
||||
f 194/100/51 197/98/51 141/26/51
|
||||
f 208/102/59 209/101/59 201/31/59
|
||||
f 199/35/60 207/103/60 208/102/60
|
||||
f 198/36/61 206/104/61 207/103/61
|
||||
f 209/101/62 206/104/62 198/36/62
|
||||
f 209/101/54 208/102/54 204/105/54
|
||||
f 204/105/53 208/102/53 207/103/53
|
||||
f 203/106/52 207/103/52 206/104/52
|
||||
f 206/104/51 209/101/51 205/108/51
|
||||
f 202/107/63 205/108/63 197/98/63
|
||||
f 195/99/64 203/106/64 202/107/64
|
||||
f 196/97/65 204/105/65 203/106/65
|
||||
f 205/108/66 204/105/66 196/97/66
|
||||
f 174/79/67 217/77/67 215/109/67
|
||||
f 175/81/44 217/77/44 218/78/44
|
||||
f 170/73/44 215/109/44 210/75/44
|
||||
f 173/74/68 177/80/68 218/78/68
|
||||
f 151/61/23 214/66/23 210/75/23
|
||||
f 173/74/44 216/71/44 212/1/44
|
||||
f 139/42/44 212/1/44 211/2/44
|
||||
f 26/45/1 103/1/1 6/3/1
|
||||
f 3/7/2 20/4/2 4/6/2
|
||||
f 45/57/2 20/4/2 52/8/2
|
||||
f 30/42/3 36/9/3 11/11/3
|
||||
f 5/5/2 39/12/2 4/6/2
|
||||
f 3/7/4 4/6/4 53/15/4
|
||||
f 10/20/5 14/16/5 12/18/5
|
||||
f 7/30/6 18/19/6 10/20/6
|
||||
f 33/39/3 20/4/3 31/22/3
|
||||
f 13/17/7 17/23/7 12/18/7
|
||||
f 33/39/4 25/25/4 29/27/4
|
||||
f 7/30/4 10/20/4 8/24/4
|
||||
f 19/29/69 1/28/69 17/23/69
|
||||
f 33/39/4 19/29/4 13/17/4
|
||||
f 1/28/70 25/25/70 18/19/70
|
||||
f 17/23/9 18/19/9 8/24/9
|
||||
f 89/36/10 92/31/10 28/33/10
|
||||
f 31/22/3 16/21/3 36/9/3
|
||||
f 15/41/3 31/22/3 21/34/3
|
||||
f 24/38/11 90/35/11 28/33/11
|
||||
f 23/40/12 91/37/12 24/38/12
|
||||
f 25/25/4 33/39/4 14/16/4
|
||||
f 27/32/4 23/40/4 28/33/4
|
||||
f 19/29/3 33/39/3 15/41/3
|
||||
f 9/60/3 21/34/3 30/42/3
|
||||
f 25/25/4 5/5/4 32/26/4
|
||||
f 35/43/4 5/5/4 34/44/4
|
||||
f 20/4/4 33/39/4 34/44/4
|
||||
f 92/31/13 91/37/13 27/32/13
|
||||
f 107/71/1 103/1/1 63/46/1
|
||||
f 2/65/14 26/45/14 38/48/14
|
||||
f 49/84/15 39/12/15 72/50/15
|
||||
f 44/58/16 48/51/16 59/53/16
|
||||
f 43/59/17 15/41/17 47/54/17
|
||||
f 1/28/17 19/29/17 37/56/17
|
||||
f 51/13/2 39/12/2 52/8/2
|
||||
f 16/21/2 20/4/2 44/58/2
|
||||
f 46/55/18 19/29/18 43/59/18
|
||||
f 21/34/19 9/60/19 47/54/19
|
||||
f 11/11/20 22/10/20 41/62/20
|
||||
f 49/84/21 25/25/21 37/56/21
|
||||
f 26/45/14 6/3/14 50/47/14
|
||||
f 102/2/22 104/64/22 6/3/22
|
||||
f 101/75/23 2/65/23 105/66/23
|
||||
f 54/14/2 55/67/2 53/15/2
|
||||
f 52/8/14 3/7/14 56/68/14
|
||||
f 4/6/15 51/13/15 54/14/15
|
||||
f 51/13/24 52/8/24 55/67/24
|
||||
f 58/70/2 57/69/2 60/52/2
|
||||
f 60/52/25 48/51/25 58/70/25
|
||||
f 22/10/26 16/21/26 58/70/26
|
||||
f 57/69/27 16/21/27 59/53/27
|
||||
f 109/78/71 107/71/71 67/72/71
|
||||
f 63/46/1 26/45/1 61/73/1
|
||||
f 62/76/1 9/60/1 64/74/1
|
||||
f 106/109/1 101/75/1 62/76/1
|
||||
f 65/79/1 108/77/1 67/72/1
|
||||
f 63/46/29 61/73/29 67/72/29
|
||||
f 66/81/30 62/76/30 68/80/30
|
||||
f 106/109/72 62/76/72 108/77/72
|
||||
f 72/50/32 71/49/32 76/83/32
|
||||
f 70/86/15 25/25/15 72/50/15
|
||||
f 39/12/15 5/5/15 71/49/15
|
||||
f 5/5/15 25/25/15 69/85/15
|
||||
f 80/90/15 76/83/15 79/87/15
|
||||
f 70/86/17 72/50/17 74/88/17
|
||||
f 75/82/2 71/49/2 73/89/2
|
||||
f 69/85/33 70/86/33 73/89/33
|
||||
f 84/95/3 80/90/3 83/91/3
|
||||
f 74/88/15 76/83/15 78/92/15
|
||||
f 79/87/15 75/82/15 77/93/15
|
||||
f 73/89/15 74/88/15 77/93/15
|
||||
f 81/96/15 82/94/15 83/91/15
|
||||
f 78/92/2 80/90/2 82/94/2
|
||||
f 79/87/17 77/93/17 83/91/17
|
||||
f 81/96/24 77/93/24 82/94/24
|
||||
f 32/26/13 35/43/13 88/98/13
|
||||
f 87/97/12 35/43/12 86/99/12
|
||||
f 86/99/11 34/44/11 85/100/11
|
||||
f 29/27/10 32/26/10 85/100/10
|
||||
f 91/37/34 92/31/34 99/102/34
|
||||
f 98/103/35 90/35/35 99/102/35
|
||||
f 97/104/36 89/36/36 98/103/36
|
||||
f 92/31/37 89/36/37 100/101/37
|
||||
f 96/108/13 95/105/13 100/101/13
|
||||
f 99/102/12 95/105/12 98/103/12
|
||||
f 98/103/11 94/106/11 97/104/11
|
||||
f 93/107/10 96/108/10 97/104/10
|
||||
f 85/100/38 88/98/38 93/107/38
|
||||
f 94/106/39 86/99/39 93/107/39
|
||||
f 95/105/40 87/97/40 94/106/40
|
||||
f 88/98/41 87/97/41 96/108/41
|
||||
f 61/73/73 106/109/73 65/79/73
|
||||
f 108/77/1 66/81/1 109/78/1
|
||||
f 2/65/1 101/75/1 61/73/1
|
||||
f 68/80/74 64/74/74 109/78/74
|
||||
f 9/60/23 101/75/23 42/61/23
|
||||
f 30/42/1 103/1/1 64/74/1
|
||||
f 103/1/1 30/42/1 102/2/1
|
||||
f 211/2/44 212/1/44 115/3/44
|
||||
f 114/5/2 129/4/2 113/6/2
|
||||
f 154/57/2 161/8/2 129/4/2
|
||||
f 131/10/24 145/9/24 120/11/24
|
||||
f 114/5/2 113/6/2 148/12/2
|
||||
f 112/7/45 162/15/45 113/6/45
|
||||
f 122/17/46 123/16/46 121/18/46
|
||||
f 123/16/47 127/19/47 119/20/47
|
||||
f 142/39/24 140/22/24 129/4/24
|
||||
f 122/17/48 121/18/48 126/23/48
|
||||
f 142/39/45 138/27/45 134/25/45
|
||||
f 116/30/45 117/24/45 119/20/45
|
||||
f 128/29/75 126/23/75 110/28/75
|
||||
f 142/39/45 122/17/45 128/29/45
|
||||
f 110/28/76 127/19/76 134/25/76
|
||||
f 126/23/50 117/24/50 127/19/50
|
||||
f 198/36/51 137/33/51 201/31/51
|
||||
f 140/22/24 145/9/24 125/21/24
|
||||
f 124/41/24 130/34/24 140/22/24
|
||||
f 198/36/52 199/35/52 137/33/52
|
||||
f 199/35/53 200/37/53 133/38/53
|
||||
f 134/25/45 123/16/45 142/39/45
|
||||
f 136/32/45 137/33/45 132/40/45
|
||||
f 128/29/24 124/41/24 142/39/24
|
||||
f 145/9/24 130/34/24 139/42/24
|
||||
f 134/25/45 141/26/45 114/5/45
|
||||
f 129/4/45 114/5/45 143/44/45
|
||||
f 129/4/45 143/44/45 142/39/45
|
||||
f 201/31/54 136/32/54 200/37/54
|
||||
f 135/45/44 212/1/44 172/46/44
|
||||
f 111/65/14 147/48/14 135/45/14
|
||||
f 158/84/15 181/50/15 148/12/15
|
||||
f 153/58/26 168/53/26 157/51/26
|
||||
f 130/34/17 124/41/17 156/54/17
|
||||
f 110/28/17 146/56/17 128/29/17
|
||||
f 154/57/2 148/12/2 161/8/2
|
||||
f 154/57/2 129/4/2 153/58/2
|
||||
f 128/29/18 155/55/18 124/41/18
|
||||
f 118/60/19 130/34/19 151/61/19
|
||||
f 157/51/20 131/10/20 150/62/20
|
||||
f 110/28/21 134/25/21 146/56/21
|
||||
f 135/45/14 159/47/14 115/3/14
|
||||
f 211/2/22 115/3/22 213/64/22
|
||||
f 210/75/23 214/66/23 111/65/23
|
||||
f 163/14/2 162/15/2 164/67/2
|
||||
f 161/8/14 165/68/14 112/7/14
|
||||
f 113/6/15 163/14/15 160/13/15
|
||||
f 160/13/3 164/67/3 161/8/3
|
||||
f 168/53/2 166/69/2 169/52/2
|
||||
f 131/10/25 157/51/25 167/70/25
|
||||
f 131/10/16 167/70/16 125/21/16
|
||||
f 153/58/27 125/21/27 168/53/27
|
||||
f 172/46/77 216/71/77 176/72/77
|
||||
f 111/65/44 135/45/44 170/73/44
|
||||
f 139/42/44 118/60/44 173/74/44
|
||||
f 118/60/44 210/75/44 171/76/44
|
||||
f 218/78/44 217/77/44 176/72/44
|
||||
f 172/46/56 176/72/56 170/73/56
|
||||
f 173/74/57 171/76/57 177/80/57
|
||||
f 215/109/78 217/77/78 171/76/78
|
||||
f 181/50/33 185/83/33 180/49/33
|
||||
f 158/84/15 134/25/15 181/50/15
|
||||
f 148/12/15 180/49/15 114/5/15
|
||||
f 114/5/15 178/85/15 134/25/15
|
||||
f 185/83/15 189/90/15 184/82/15
|
||||
f 179/86/17 183/88/17 181/50/17
|
||||
f 178/85/2 180/49/2 182/89/2
|
||||
f 178/85/32 182/89/32 179/86/32
|
||||
f 188/87/24 189/90/24 192/91/24
|
||||
f 183/88/15 187/92/15 185/83/15
|
||||
f 182/89/15 184/82/15 186/93/15
|
||||
f 182/89/15 186/93/15 183/88/15
|
||||
f 190/96/15 192/91/15 191/94/15
|
||||
f 187/92/2 191/94/2 189/90/2
|
||||
f 188/87/17 192/91/17 186/93/17
|
||||
f 187/92/3 186/93/3 191/94/3
|
||||
f 141/26/54 197/98/54 144/43/54
|
||||
f 143/44/53 144/43/53 195/99/53
|
||||
f 138/27/52 143/44/52 194/100/52
|
||||
f 138/27/51 194/100/51 141/26/51
|
||||
f 200/37/59 208/102/59 201/31/59
|
||||
f 200/37/60 199/35/60 208/102/60
|
||||
f 199/35/61 198/36/61 207/103/61
|
||||
f 201/31/79 209/101/79 198/36/79
|
||||
f 205/108/54 209/101/54 204/105/54
|
||||
f 203/106/53 204/105/53 207/103/53
|
||||
f 202/107/52 203/106/52 206/104/52
|
||||
f 202/107/51 206/104/51 205/108/51
|
||||
f 194/100/63 202/107/63 197/98/63
|
||||
f 194/100/64 195/99/64 202/107/64
|
||||
f 195/99/65 196/97/65 203/106/65
|
||||
f 197/98/66 205/108/66 196/97/66
|
||||
f 170/73/80 174/79/80 215/109/80
|
||||
f 177/80/44 175/81/44 218/78/44
|
||||
f 111/65/44 170/73/44 210/75/44
|
||||
f 216/71/81 173/74/81 218/78/81
|
||||
f 118/60/23 151/61/23 210/75/23
|
||||
f 139/42/44 173/74/44 212/1/44
|
||||
f 120/11/44 139/42/44 211/2/44
|
||||
usemtl Material.003
|
||||
f 41/62/82 104/64/82 102/2/82
|
||||
f 211/2/82 213/64/82 150/62/82
|
||||
f 11/11/82 41/62/82 102/2/82
|
||||
f 120/11/82 211/2/82 150/62/82
|
||||
9
test.cc
9
test.cc
@@ -124,7 +124,7 @@ static bool
|
||||
TestLoadObj(
|
||||
const char* filename,
|
||||
const char* basepath = NULL,
|
||||
bool triangulate = true)
|
||||
unsigned int flags = 1 )
|
||||
{
|
||||
std::cout << "Loading " << filename << std::endl;
|
||||
|
||||
@@ -132,7 +132,7 @@ TestLoadObj(
|
||||
std::vector<tinyobj::material_t> materials;
|
||||
|
||||
std::string err;
|
||||
bool ret = tinyobj::LoadObj(shapes, materials, err, filename, basepath, triangulate);
|
||||
bool ret = tinyobj::LoadObj(shapes, materials, err, filename, basepath, flags);
|
||||
|
||||
if (!err.empty()) {
|
||||
std::cerr << err << std::endl;
|
||||
@@ -143,7 +143,8 @@ TestLoadObj(
|
||||
return false;
|
||||
}
|
||||
|
||||
PrintInfo(shapes, materials, triangulate);
|
||||
bool triangulate( ( flags & tinyobj::triangulation ) == tinyobj::triangulation );
|
||||
PrintInfo(shapes, materials, triangulate );
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -271,7 +272,7 @@ main(
|
||||
//assert(true == TestLoadObj("cornell_box.obj"));
|
||||
//assert(true == TestLoadObj("cube.obj"));
|
||||
assert(true == TestStreamLoadObj());
|
||||
assert(true == TestLoadObj("catmark_torus_creases0.obj", NULL, false));
|
||||
assert(true == TestLoadObj("catmark_torus_creases0.obj", NULL, 0));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
//
|
||||
|
||||
//
|
||||
// version 0.9.22: Introduce `load_flags_t`.
|
||||
// version 0.9.20: Fixes creating per-face material using `usemtl`(#68)
|
||||
// version 0.9.17: Support n-polygon and crease tag(OpenSubdiv extension)
|
||||
// version 0.9.16: Make tinyobjloader header-only
|
||||
@@ -38,12 +39,13 @@
|
||||
// #include "tiny_obj_loader.h"
|
||||
//
|
||||
|
||||
#ifndef TINY_OBJ_LOADER_H
|
||||
#define TINY_OBJ_LOADER_H
|
||||
#ifndef TINY_OBJ_LOADER_H_
|
||||
#define TINY_OBJ_LOADER_H_
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <cmath>
|
||||
|
||||
namespace tinyobj {
|
||||
|
||||
@@ -97,6 +99,69 @@ typedef struct {
|
||||
mesh_t mesh;
|
||||
} shape_t;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
triangulation = 1, // used whether triangulate polygon face in .obj
|
||||
calculate_normals = 2, // used whether calculate the normals if the .obj normals are empty
|
||||
// Some nice stuff here
|
||||
} load_flags_t;
|
||||
|
||||
class float3
|
||||
{
|
||||
public:
|
||||
float3()
|
||||
: x( 0.0f )
|
||||
, y( 0.0f )
|
||||
, z( 0.0f )
|
||||
{
|
||||
}
|
||||
|
||||
float3(float coord_x, float coord_y, float coord_z)
|
||||
: x( coord_x )
|
||||
, y( coord_y )
|
||||
, z( coord_z )
|
||||
{
|
||||
}
|
||||
|
||||
float3(const float3& from, const float3& to)
|
||||
{
|
||||
coord[0] = to.coord[0] - from.coord[0];
|
||||
coord[1] = to.coord[1] - from.coord[1];
|
||||
coord[2] = to.coord[2] - from.coord[2];
|
||||
}
|
||||
|
||||
float3 crossproduct ( const float3 & vec )
|
||||
{
|
||||
float a = y * vec.z - z * vec.y ;
|
||||
float b = z * vec.x - x * vec.z ;
|
||||
float c = x * vec.y - y * vec.x ;
|
||||
return float3( a , b , c );
|
||||
}
|
||||
|
||||
void normalize()
|
||||
{
|
||||
const float length = std::sqrt( ( coord[0] * coord[0] ) +
|
||||
( coord[1] * coord[1] ) +
|
||||
( coord[2] * coord[2] ) );
|
||||
if( length != 1 )
|
||||
{
|
||||
coord[0] = (coord[0] / length);
|
||||
coord[1] = (coord[1] / length);
|
||||
coord[2] = (coord[2] / length);
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
union
|
||||
{
|
||||
float coord[3];
|
||||
struct
|
||||
{
|
||||
float x,y,z;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class MaterialReader {
|
||||
public:
|
||||
MaterialReader() {}
|
||||
@@ -127,13 +192,12 @@ private:
|
||||
/// Returns true when loading .obj become success.
|
||||
/// Returns warning and error message into `err`
|
||||
/// 'mtl_basepath' is optional, and used for base path for .mtl file.
|
||||
/// 'triangulate' is optional, and used whether triangulate polygon face in .obj
|
||||
/// or not.
|
||||
/// 'optional flags
|
||||
bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
std::vector<material_t> &materials, // [output]
|
||||
std::string &err, // [output]
|
||||
const char *filename, const char *mtl_basepath = NULL,
|
||||
bool triangulate = true);
|
||||
unsigned int flags = 1 );
|
||||
|
||||
/// Loads object from a std::istream, uses GetMtlIStreamFn to retrieve
|
||||
/// std::istream for materials.
|
||||
@@ -143,7 +207,7 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
std::vector<material_t> &materials, // [output]
|
||||
std::string &err, // [output]
|
||||
std::istream &inStream, MaterialReader &readMatFn,
|
||||
bool triangulate = true);
|
||||
unsigned int flags = 1);
|
||||
|
||||
/// Loads materials into std::map
|
||||
void LoadMtl(std::map<std::string, int> &material_map, // [output]
|
||||
@@ -159,9 +223,6 @@ void LoadMtl(std::map<std::string, int> &material_map, // [output]
|
||||
#include <cstddef>
|
||||
#include <cctype>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
#include <fstream>
|
||||
#include <sstream>
|
||||
|
||||
@@ -175,8 +236,8 @@ MaterialReader::~MaterialReader() {}
|
||||
|
||||
struct vertex_index {
|
||||
int v_idx, vt_idx, vn_idx;
|
||||
vertex_index() {}
|
||||
vertex_index(int idx) : v_idx(idx), vt_idx(idx), vn_idx(idx) {}
|
||||
vertex_index() : v_idx(-1), vt_idx(-1), vn_idx(-1) {}
|
||||
explicit vertex_index(int idx) : v_idx(idx), vt_idx(idx), vn_idx(idx) {}
|
||||
vertex_index(int vidx, int vtidx, int vnidx)
|
||||
: v_idx(vidx), vt_idx(vtidx), vn_idx(vnidx) {}
|
||||
};
|
||||
@@ -519,11 +580,14 @@ static bool exportFaceGroupToShape(
|
||||
const std::vector<float> &in_texcoords,
|
||||
const std::vector<std::vector<vertex_index> > &faceGroup,
|
||||
std::vector<tag_t> &tags, const int material_id, const std::string &name,
|
||||
bool clearCache, bool triangulate) {
|
||||
bool clearCache, unsigned int flags, std::string& err ) {
|
||||
if (faceGroup.empty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool triangulate( ( flags & triangulation ) == triangulation );
|
||||
bool normals_calculation( ( flags & calculate_normals ) == calculate_normals );
|
||||
|
||||
// Flatten vertices and indices
|
||||
for (size_t i = 0; i < faceGroup.size(); i++) {
|
||||
const std::vector<vertex_index> &face = faceGroup[i];
|
||||
@@ -572,6 +636,38 @@ static bool exportFaceGroupToShape(
|
||||
shape.mesh.num_vertices.push_back(static_cast<unsigned char>(npolys));
|
||||
shape.mesh.material_ids.push_back(material_id); // per face
|
||||
}
|
||||
|
||||
if( normals_calculation && shape.mesh.normals.empty() )
|
||||
{
|
||||
const unsigned int nIndexs = shape.mesh.indices.size();
|
||||
shape.mesh.normals.resize(shape.mesh.positions.size());
|
||||
if( nIndexs % 3 == 0 )
|
||||
{
|
||||
for ( register unsigned int iIndices = 0; iIndices < nIndexs; iIndices+=3 )
|
||||
{
|
||||
float3 v1, v2, v3;
|
||||
memcpy(&v1, &shape.mesh.positions[shape.mesh.indices[iIndices] * 3], sizeof(float3));
|
||||
memcpy(&v2, &shape.mesh.positions[shape.mesh.indices[iIndices + 1] * 3], sizeof(float3));
|
||||
memcpy(&v3, &shape.mesh.positions[shape.mesh.indices[iIndices + 2] * 3], sizeof(float3));
|
||||
|
||||
float3 v12( v1,v2 );
|
||||
float3 v13( v1,v3 );
|
||||
|
||||
float3 normal = v12.crossproduct(v13);
|
||||
normal.normalize();
|
||||
|
||||
memcpy(&shape.mesh.normals[shape.mesh.indices[iIndices] * 3], &normal, sizeof(float3));
|
||||
memcpy(&shape.mesh.normals[shape.mesh.indices[iIndices + 1] * 3], &normal, sizeof(float3));
|
||||
memcpy(&shape.mesh.normals[shape.mesh.indices[iIndices + 2] * 3], &normal, sizeof(float3));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::stringstream ss;
|
||||
ss << "WARN: The shape " << name << " does not have a topology of triangles, therfore the normals calculation could not be performed. Select the tinyobj::triangulation flag for this object." << std::endl;
|
||||
err += ss.str();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
shape.name = name;
|
||||
@@ -837,7 +933,7 @@ bool MaterialFileReader::operator()(const std::string &matId,
|
||||
bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
std::vector<material_t> &materials, // [output]
|
||||
std::string &err, const char *filename, const char *mtl_basepath,
|
||||
bool trianglulate) {
|
||||
unsigned int flags) {
|
||||
|
||||
shapes.clear();
|
||||
|
||||
@@ -856,13 +952,14 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
}
|
||||
MaterialFileReader matFileReader(basePath);
|
||||
|
||||
return LoadObj(shapes, materials, err, ifs, matFileReader, trianglulate);
|
||||
return LoadObj(shapes, materials, err, ifs, matFileReader, flags);
|
||||
}
|
||||
|
||||
bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
std::vector<material_t> &materials, // [output]
|
||||
std::string &err, std::istream &inStream,
|
||||
MaterialReader &readMatFn, bool triangulate) {
|
||||
MaterialReader &readMatFn, unsigned int flags) {
|
||||
|
||||
std::stringstream errss;
|
||||
|
||||
std::vector<float> v;
|
||||
@@ -989,7 +1086,7 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
if (newMaterialId != material) {
|
||||
// Create per-face material
|
||||
exportFaceGroupToShape(shape, vertexCache, v, vn, vt, faceGroup, tags,
|
||||
material, name, true, triangulate);
|
||||
material, name, true, flags, err );
|
||||
faceGroup.clear();
|
||||
material = newMaterialId;
|
||||
}
|
||||
@@ -1025,7 +1122,7 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
// flush previous face group.
|
||||
bool ret =
|
||||
exportFaceGroupToShape(shape, vertexCache, v, vn, vt, faceGroup, tags,
|
||||
material, name, true, triangulate);
|
||||
material, name, true, flags, err );
|
||||
if (ret) {
|
||||
shapes.push_back(shape);
|
||||
}
|
||||
@@ -1062,7 +1159,7 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
// flush previous face group.
|
||||
bool ret =
|
||||
exportFaceGroupToShape(shape, vertexCache, v, vn, vt, faceGroup, tags,
|
||||
material, name, true, triangulate);
|
||||
material, name, true, flags, err );
|
||||
if (ret) {
|
||||
shapes.push_back(shape);
|
||||
}
|
||||
@@ -1089,7 +1186,11 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
|
||||
char namebuf[4096];
|
||||
token += 2;
|
||||
#ifdef _MSC_VER
|
||||
sscanf_s(token, "%s", namebuf, (unsigned)_countof(namebuf));
|
||||
#else
|
||||
sscanf(token, "%s", namebuf);
|
||||
#endif
|
||||
tag.name = std::string(namebuf);
|
||||
|
||||
token += tag.name.size() + 1;
|
||||
@@ -1113,7 +1214,11 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
for (size_t i = 0; i < static_cast<size_t>(ts.num_strings); ++i) {
|
||||
char stringValueBuffer[4096];
|
||||
|
||||
#ifdef _MSC_VER
|
||||
sscanf_s(token, "%s", stringValueBuffer, (unsigned)_countof(stringValueBuffer));
|
||||
#else
|
||||
sscanf(token, "%s", stringValueBuffer);
|
||||
#endif
|
||||
tag.stringValues[i] = stringValueBuffer;
|
||||
token += tag.stringValues[i].size() + 1;
|
||||
}
|
||||
@@ -1125,13 +1230,14 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
}
|
||||
|
||||
bool ret = exportFaceGroupToShape(shape, vertexCache, v, vn, vt, faceGroup,
|
||||
tags, material, name, true, triangulate);
|
||||
tags, material, name, true, flags, err );
|
||||
if (ret) {
|
||||
shapes.push_back(shape);
|
||||
}
|
||||
faceGroup.clear(); // for safety
|
||||
|
||||
err += errss.str();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1139,4 +1245,4 @@ bool LoadObj(std::vector<shape_t> &shapes, // [output]
|
||||
|
||||
#endif
|
||||
|
||||
#endif // TINY_OBJ_LOADER_H
|
||||
#endif // TINY_OBJ_LOADER_H_
|
||||
|
||||
12
tools/travis_postbuild.sh
Executable file
12
tools/travis_postbuild.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
DATEVAL=`date +%Y-%m-%d`
|
||||
VERSIONVAL=master
|
||||
|
||||
# Use tag as version
|
||||
if [ $TRAVIS_TAG ]; then
|
||||
VERSIONVAL=$TRAVIS_TAG
|
||||
fi
|
||||
|
||||
sed -e s%@DATE@%${DATEVAL}% .bintray.in > .bintray.tmp
|
||||
sed -e s%@VERSION@%${VERSIONVAL}% .bintray.tmp > .bintray.json
|
||||
Reference in New Issue
Block a user