diff --git a/prj/flasim.pro b/prj/flasim.pro index 551b127..4791ada 100644 --- a/prj/flasim.pro +++ b/prj/flasim.pro @@ -8,7 +8,7 @@ TEMPLATE = app unix:INCLUDEPATH += /usr/include/irrlicht win32:INCLUDEPATH += ../pharus/external/irrlicht -unix:LIBS += -lIrrlicht +unix:LIBS += -lIrrlicht -lcAudio DESTDIR = ../bin @@ -16,11 +16,15 @@ HEADERS += \ ../src/FlaSimApp.hpp \ ../src/FireUnit.hpp \ ../src/Globals.hpp \ - ../src/TurretCamAnimator.hpp + ../src/TurretCamAnimator.hpp \ + ../src/Aircraft.hpp \ + ../src/Dispatcher.hpp SOURCES += \ ../src/FlaSimApp.cpp \ ../src/main.cpp \ ../src/FireUnit.cpp \ ../src/Globals.cpp \ - ../src/TurretCamAnimator.cpp + ../src/TurretCamAnimator.cpp \ + ../src/Aircraft.cpp \ + ../src/Dispatcher.cpp diff --git a/res/guns-scene.blend b/res/guns-scene.blend index f23ed0c..950fd7e 100644 Binary files a/res/guns-scene.blend and b/res/guns-scene.blend differ diff --git a/res/guns.mtl b/res/guns.mtl index 70d3ba1..42423b7 100644 --- a/res/guns.mtl +++ b/res/guns.mtl @@ -1,10 +1,12 @@ -# Blender MTL File: 'None' +# Blender MTL File: 'guns-scene.blend' # Material Count: 1 -newmtl None -Ns 0 -Ka 0.000000 0.000000 0.000000 -Kd 0.8 0.8 0.8 -Ks 0.8 0.8 0.8 -d 1 +newmtl Material +Ns 150.980392 +Ka 1.000000 1.000000 1.000000 +Kd 0.032314 0.032314 0.032314 +Ks 0.211098 0.211098 0.211098 +Ke 0.000000 0.000000 0.000000 +Ni 1.000000 +d 1.000000 illum 2 diff --git a/res/guns.obj b/res/guns.obj index 15a8385..0ba7452 100644 --- a/res/guns.obj +++ b/res/guns.obj @@ -1,206 +1,1126 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender v2.79 (sub 0) OBJ File: 'guns-scene.blend' # www.blender.org mtllib guns.mtl -o Cylinder.001 -v -0.148360 1.567710 -0.766577 -v -0.148360 1.533830 2.907069 -v -0.138605 1.566750 -0.766577 -v -0.145215 1.533520 2.907069 -v -0.129226 1.563904 -0.766577 -v -0.142191 1.532603 2.907069 -v -0.120581 1.559284 -0.766577 -v -0.139404 1.531114 2.907069 -v -0.113005 1.553066 -0.766577 -v -0.136962 1.529109 2.907069 -v -0.106786 1.545489 -0.766577 -v -0.134957 1.526666 2.907069 -v -0.102166 1.536845 -0.766577 -v -0.133467 1.523879 2.907069 -v -0.099321 1.527465 -0.766577 -v -0.132550 1.520855 2.907069 -v -0.098360 1.517710 -0.766577 -v -0.132240 1.517710 2.907069 -v -0.099321 1.507956 -0.766577 -v -0.132550 1.514566 2.907069 -v -0.102166 1.498576 -0.766577 -v -0.133467 1.511542 2.907069 -v -0.106786 1.489932 -0.766577 -v -0.134957 1.508755 2.907069 -v -0.113005 1.482355 -0.766577 -v -0.136962 1.506312 2.907069 -v -0.120581 1.476137 -0.766577 -v -0.139404 1.504307 2.907069 -v -0.129226 1.471516 -0.766577 -v -0.142191 1.502818 2.907069 -v -0.138605 1.468671 -0.766577 -v -0.145215 1.501900 2.907069 -v -0.148360 1.467710 -0.766577 -v -0.148360 1.501591 2.907069 -v -0.158114 1.468671 -0.766577 -v -0.151505 1.501900 2.907069 -v -0.167494 1.471516 -0.766577 -v -0.154529 1.502818 2.907069 -v -0.176138 1.476137 -0.766577 -v -0.157316 1.504307 2.907069 -v -0.183715 1.482355 -0.766577 -v -0.159758 1.506312 2.907069 -v -0.189933 1.489932 -0.766577 -v -0.161763 1.508755 2.907069 -v -0.194554 1.498576 -0.766577 -v -0.163253 1.511542 2.907069 -v -0.197399 1.507956 -0.766577 -v -0.164170 1.514566 2.907069 -v -0.198360 1.517710 -0.766577 -v -0.164480 1.517710 2.907069 -v -0.197399 1.527465 -0.766577 -v -0.164170 1.520855 2.907069 -v -0.194554 1.536845 -0.766577 -v -0.163253 1.523879 2.907069 -v -0.189933 1.545489 -0.766577 -v -0.161763 1.526666 2.907069 -v -0.183715 1.553066 -0.766577 -v -0.159758 1.529109 2.907069 -v -0.176138 1.559284 -0.766577 -v -0.157316 1.531114 2.907069 -v -0.167494 1.563905 -0.766577 -v -0.154529 1.532603 2.907069 -v -0.158114 1.566750 -0.766577 -v -0.151505 1.533520 2.907069 -vn 0.0980 0.9951 0.0092 -vn 0.2903 0.9569 0.0092 -vn 0.4714 0.8819 0.0092 -vn 0.6344 0.7730 0.0092 -vn 0.7730 0.6344 0.0092 -vn 0.8819 0.4714 0.0092 -vn 0.9569 0.2903 0.0092 -vn 0.9951 0.0980 0.0092 -vn 0.9951 -0.0980 0.0092 -vn 0.9569 -0.2903 0.0092 -vn 0.8819 -0.4714 0.0092 -vn 0.7730 -0.6344 0.0092 -vn 0.6344 -0.7730 0.0092 -vn 0.4714 -0.8819 0.0092 -vn 0.2903 -0.9569 0.0092 -vn 0.0980 -0.9951 0.0092 -vn -0.0980 -0.9951 0.0092 -vn -0.2903 -0.9569 0.0092 -vn -0.4714 -0.8819 0.0092 -vn -0.6344 -0.7730 0.0092 -vn -0.7730 -0.6344 0.0092 -vn -0.8819 -0.4714 0.0092 -vn -0.9569 -0.2903 0.0092 -vn -0.9951 -0.0980 0.0092 -vn -0.9951 0.0980 0.0092 -vn -0.9569 0.2903 0.0092 -vn -0.8819 0.4714 0.0092 -vn -0.7730 0.6344 0.0092 -vn -0.6344 0.7730 0.0092 -vn -0.4714 0.8819 0.0092 +o Cube.007 +v 0.146289 1.539826 1.692563 +v 0.146289 1.539826 2.092563 +v 0.146289 1.549826 1.692563 +v 0.146289 1.549826 2.092563 +v 0.156289 1.539826 1.692563 +v 0.156289 1.539826 2.092563 +v 0.156289 1.549826 1.692563 +v 0.156289 1.549826 2.092563 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 -vn -0.2903 0.9569 0.0092 -vn -0.0980 0.9951 0.0092 -vn -0.0000 0.0000 -1.0000 -usemtl None +usemtl Material s off f 1//1 2//1 4//1 3//1 -f 3//2 4//2 6//2 5//2 -f 5//3 6//3 8//3 7//3 -f 7//4 8//4 10//4 9//4 -f 9//5 10//5 12//5 11//5 -f 11//6 12//6 14//6 13//6 -f 13//7 14//7 16//7 15//7 -f 15//8 16//8 18//8 17//8 -f 17//9 18//9 20//9 19//9 -f 19//10 20//10 22//10 21//10 -f 21//11 22//11 24//11 23//11 -f 23//12 24//12 26//12 25//12 -f 25//13 26//13 28//13 27//13 -f 27//14 28//14 30//14 29//14 -f 29//15 30//15 32//15 31//15 -f 31//16 32//16 34//16 33//16 -f 33//17 34//17 36//17 35//17 -f 35//18 36//18 38//18 37//18 -f 37//19 38//19 40//19 39//19 -f 39//20 40//20 42//20 41//20 -f 41//21 42//21 44//21 43//21 -f 43//22 44//22 46//22 45//22 -f 45//23 46//23 48//23 47//23 -f 47//24 48//24 50//24 49//24 -f 49//25 50//25 52//25 51//25 -f 51//26 52//26 54//26 53//26 -f 53//27 54//27 56//27 55//27 -f 55//28 56//28 58//28 57//28 -f 57//29 58//29 60//29 59//29 -f 59//30 60//30 62//30 61//30 -f 4//31 2//31 64//31 62//31 60//31 58//31 56//31 54//31 52//31 50//31 48//31 46//31 44//31 42//31 40//31 38//31 36//31 34//31 32//31 30//31 28//31 26//31 24//31 22//31 20//31 18//31 16//31 14//31 12//31 10//31 8//31 6//31 -f 61//32 62//32 64//32 63//32 -f 63//33 64//33 2//33 1//33 -f 1//34 3//34 5//34 7//34 9//34 11//34 13//34 15//34 17//34 19//34 21//34 23//34 25//34 27//34 29//34 31//34 33//34 35//34 37//34 39//34 41//34 43//34 45//34 47//34 49//34 51//34 53//34 55//34 57//34 59//34 61//34 63//34 -o Cylinder -v 0.152802 1.567710 -0.766577 -v 0.152802 1.533830 2.907069 -v 0.162556 1.566750 -0.766577 -v 0.155947 1.533520 2.907069 -v 0.171936 1.563904 -0.766577 -v 0.158971 1.532603 2.907069 -v 0.180580 1.559284 -0.766577 -v 0.161758 1.531114 2.907069 -v 0.188157 1.553066 -0.766577 -v 0.164200 1.529109 2.907069 -v 0.194375 1.545489 -0.766577 -v 0.166205 1.526666 2.907069 -v 0.198996 1.536845 -0.766577 -v 0.167695 1.523879 2.907069 -v 0.201841 1.527465 -0.766577 -v 0.168612 1.520855 2.907069 -v 0.202802 1.517710 -0.766577 -v 0.168922 1.517710 2.907069 -v 0.201841 1.507956 -0.766577 -v 0.168612 1.514566 2.907069 -v 0.198996 1.498576 -0.766577 -v 0.167695 1.511542 2.907069 -v 0.194375 1.489932 -0.766577 -v 0.166205 1.508755 2.907069 -v 0.188157 1.482355 -0.766577 -v 0.164200 1.506312 2.907069 -v 0.180580 1.476137 -0.766577 -v 0.161758 1.504307 2.907069 -v 0.171936 1.471516 -0.766577 -v 0.158971 1.502818 2.907069 -v 0.162556 1.468671 -0.766577 -v 0.155947 1.501900 2.907069 -v 0.152802 1.467710 -0.766577 -v 0.152802 1.501591 2.907069 -v 0.143047 1.468671 -0.766577 -v 0.149657 1.501900 2.907069 -v 0.133668 1.471516 -0.766577 -v 0.146633 1.502818 2.907069 -v 0.125023 1.476137 -0.766577 -v 0.143846 1.504307 2.907069 -v 0.117447 1.482355 -0.766577 -v 0.141404 1.506312 2.907069 -v 0.111228 1.489932 -0.766577 -v 0.139399 1.508755 2.907069 -v 0.106608 1.498576 -0.766577 -v 0.137909 1.511542 2.907069 -v 0.103763 1.507956 -0.766577 -v 0.136992 1.514566 2.907069 -v 0.102802 1.517710 -0.766577 -v 0.136682 1.517710 2.907069 -v 0.103763 1.527465 -0.766577 -v 0.136992 1.520855 2.907069 -v 0.106608 1.536845 -0.766577 -v 0.137909 1.523879 2.907069 -v 0.111229 1.545489 -0.766577 -v 0.139399 1.526666 2.907069 -v 0.117447 1.553066 -0.766577 -v 0.141404 1.529109 2.907069 -v 0.125023 1.559284 -0.766577 -v 0.143846 1.531114 2.907069 -v 0.133668 1.563905 -0.766577 -v 0.146633 1.532603 2.907069 -v 0.143048 1.566750 -0.766577 -v 0.149657 1.533520 2.907069 +f 3//2 4//2 8//2 7//2 +f 7//3 8//3 6//3 5//3 +f 5//4 6//4 2//4 1//4 +f 3//5 7//5 5//5 1//5 +f 8//6 4//6 2//6 6//6 +o Cube.006 +v 0.146289 1.483433 1.692563 +v 0.146289 1.483433 2.092563 +v 0.146289 1.493433 1.692563 +v 0.146289 1.493433 2.092563 +v 0.156289 1.483433 1.692563 +v 0.156289 1.483433 2.092563 +v 0.156289 1.493433 1.692563 +v 0.156289 1.493433 2.092563 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 9//7 10//7 12//7 11//7 +f 11//8 12//8 16//8 15//8 +f 15//9 16//9 14//9 13//9 +f 13//10 14//10 10//10 9//10 +f 11//11 15//11 13//11 9//11 +f 16//12 12//12 10//12 14//12 +o Cube.005 +v 0.117909 1.521053 1.692563 +v 0.117909 1.521053 2.092563 +v 0.127909 1.521090 1.692563 +v 0.127909 1.521090 2.092563 +v 0.117946 1.511053 1.692563 +v 0.117946 1.511053 2.092563 +v 0.127946 1.511090 1.692563 +v 0.127946 1.511090 2.092563 +vn -0.0037 1.0000 0.0000 +vn 1.0000 0.0037 0.0000 +vn 0.0037 -1.0000 0.0000 +vn -1.0000 -0.0037 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 17//13 18//13 20//13 19//13 +f 19//14 20//14 24//14 23//14 +f 23//15 24//15 22//15 21//15 +f 21//16 22//16 18//16 17//16 +f 19//17 23//17 21//17 17//17 +f 24//18 20//18 18//18 22//18 +o Cube.004 +v 0.177306 1.521325 1.692563 +v 0.177306 1.521325 2.092563 +v 0.187306 1.521328 1.692563 +v 0.187306 1.521328 2.092563 +v 0.177309 1.511325 1.692563 +v 0.177309 1.511325 2.092563 +v 0.187309 1.511328 1.692563 +v 0.187309 1.511328 2.092563 +vn -0.0002 1.0000 0.0000 +vn 1.0000 0.0002 0.0000 +vn 0.0002 -1.0000 0.0000 +vn -1.0000 -0.0002 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 25//19 26//19 28//19 27//19 +f 27//20 28//20 32//20 31//20 +f 31//21 32//21 30//21 29//21 +f 29//22 30//22 26//22 25//22 +f 27//23 31//23 29//23 25//23 +f 32//24 28//24 26//24 30//24 +o Cylinder.006_Cylinder.007 +v 0.151764 1.547029 1.693896 +v 0.151764 1.547029 1.703896 +v 0.157616 1.546453 1.693896 +v 0.157616 1.546453 1.703896 +v 0.163244 1.544746 1.693896 +v 0.163244 1.544746 1.703896 +v 0.168431 1.541974 1.693896 +v 0.168431 1.541974 1.703896 +v 0.172977 1.538243 1.693896 +v 0.172977 1.538243 1.703896 +v 0.176708 1.533697 1.693896 +v 0.176708 1.533697 1.703896 +v 0.179480 1.528510 1.693896 +v 0.179480 1.528510 1.703896 +v 0.181187 1.522882 1.693896 +v 0.181187 1.522882 1.703896 +v 0.181764 1.517030 1.693896 +v 0.181764 1.517030 1.703896 +v 0.181187 1.511177 1.693896 +v 0.181187 1.511177 1.703896 +v 0.179480 1.505549 1.693896 +v 0.179480 1.505549 1.703896 +v 0.176708 1.500362 1.693896 +v 0.176708 1.500362 1.703896 +v 0.172977 1.495816 1.693896 +v 0.172977 1.495816 1.703896 +v 0.168431 1.492085 1.693896 +v 0.168431 1.492085 1.703896 +v 0.163244 1.489313 1.693896 +v 0.163244 1.489313 1.703896 +v 0.157616 1.487606 1.693896 +v 0.157616 1.487606 1.703896 +v 0.151764 1.487030 1.693896 +v 0.151764 1.487030 1.703896 +v 0.145911 1.487606 1.693896 +v 0.145911 1.487606 1.703896 +v 0.140283 1.489313 1.693896 +v 0.140283 1.489313 1.703896 +v 0.135096 1.492085 1.693896 +v 0.135096 1.492085 1.703896 +v 0.130550 1.495816 1.693896 +v 0.130550 1.495816 1.703896 +v 0.126819 1.500362 1.693896 +v 0.126819 1.500362 1.703896 +v 0.124047 1.505549 1.693896 +v 0.124047 1.505549 1.703896 +v 0.122340 1.511177 1.693896 +v 0.122340 1.511177 1.703896 +v 0.121764 1.517030 1.693896 +v 0.121764 1.517030 1.703896 +v 0.122340 1.522882 1.693896 +v 0.122340 1.522882 1.703896 +v 0.124047 1.528510 1.693896 +v 0.124047 1.528510 1.703896 +v 0.126819 1.533697 1.693896 +v 0.126819 1.533697 1.703896 +v 0.130550 1.538243 1.693896 +v 0.130550 1.538243 1.703896 +v 0.135096 1.541974 1.693896 +v 0.135096 1.541974 1.703896 +v 0.140283 1.544746 1.693896 +v 0.140283 1.544746 1.703896 +v 0.145911 1.546453 1.693896 +v 0.145911 1.546453 1.703896 +vn 0.0980 0.9952 0.0000 +vn 0.2903 0.9569 0.0000 +vn 0.4714 0.8819 0.0000 +vn 0.6344 0.7730 0.0000 +vn 0.7730 0.6344 0.0000 +vn 0.8819 0.4714 0.0000 +vn 0.9569 0.2903 0.0000 +vn 0.9952 0.0980 0.0000 +vn 0.9952 -0.0980 0.0000 +vn 0.9569 -0.2903 0.0000 +vn 0.8819 -0.4714 0.0000 +vn 0.7730 -0.6344 0.0000 +vn 0.6344 -0.7730 0.0000 +vn 0.4714 -0.8819 0.0000 +vn 0.2903 -0.9569 0.0000 +vn 0.0980 -0.9952 0.0000 +vn -0.0980 -0.9952 0.0000 +vn -0.2903 -0.9569 0.0000 +vn -0.4714 -0.8819 0.0000 +vn -0.6344 -0.7730 0.0000 +vn -0.7730 -0.6344 0.0000 +vn -0.8819 -0.4714 0.0000 +vn -0.9569 -0.2903 0.0000 +vn -0.9952 -0.0980 0.0000 +vn -0.9952 0.0980 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.8819 0.4714 0.0000 +vn -0.7730 0.6344 0.0000 +vn -0.6344 0.7730 0.0000 +vn -0.4714 0.8819 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0000 +vn -0.0980 0.9952 0.0000 +vn -0.0000 0.0000 -1.0000 +usemtl Material +s off +f 33//25 34//25 36//25 35//25 +f 35//26 36//26 38//26 37//26 +f 37//27 38//27 40//27 39//27 +f 39//28 40//28 42//28 41//28 +f 41//29 42//29 44//29 43//29 +f 43//30 44//30 46//30 45//30 +f 45//31 46//31 48//31 47//31 +f 47//32 48//32 50//32 49//32 +f 49//33 50//33 52//33 51//33 +f 51//34 52//34 54//34 53//34 +f 53//35 54//35 56//35 55//35 +f 55//36 56//36 58//36 57//36 +f 57//37 58//37 60//37 59//37 +f 59//38 60//38 62//38 61//38 +f 61//39 62//39 64//39 63//39 +f 63//40 64//40 66//40 65//40 +f 65//41 66//41 68//41 67//41 +f 67//42 68//42 70//42 69//42 +f 69//43 70//43 72//43 71//43 +f 71//44 72//44 74//44 73//44 +f 73//45 74//45 76//45 75//45 +f 75//46 76//46 78//46 77//46 +f 77//47 78//47 80//47 79//47 +f 79//48 80//48 82//48 81//48 +f 81//49 82//49 84//49 83//49 +f 83//50 84//50 86//50 85//50 +f 85//51 86//51 88//51 87//51 +f 87//52 88//52 90//52 89//52 +f 89//53 90//53 92//53 91//53 +f 91//54 92//54 94//54 93//54 +f 36//55 34//55 96//55 94//55 92//55 90//55 88//55 86//55 84//55 82//55 80//55 78//55 76//55 74//55 72//55 70//55 68//55 66//55 64//55 62//55 60//55 58//55 56//55 54//55 52//55 50//55 48//55 46//55 44//55 42//55 40//55 38//55 +f 93//56 94//56 96//56 95//56 +f 95//57 96//57 34//57 33//57 +f 33//58 35//58 37//58 39//58 41//58 43//58 45//58 47//58 49//58 51//58 53//58 55//58 57//58 59//58 61//58 63//58 65//58 67//58 69//58 71//58 73//58 75//58 77//58 79//58 81//58 83//58 85//58 87//58 89//58 91//58 93//58 95//58 +o Cylinder.005_Cylinder.006 +v 0.151764 1.547029 1.945813 +v 0.151764 1.547029 1.955813 +v 0.157616 1.546453 1.945813 +v 0.157616 1.546453 1.955813 +v 0.163244 1.544746 1.945813 +v 0.163244 1.544746 1.955813 +v 0.168431 1.541974 1.945813 +v 0.168431 1.541974 1.955813 +v 0.172977 1.538243 1.945813 +v 0.172977 1.538243 1.955813 +v 0.176708 1.533697 1.945813 +v 0.176708 1.533697 1.955813 +v 0.179480 1.528510 1.945813 +v 0.179480 1.528510 1.955813 +v 0.181187 1.522882 1.945813 +v 0.181187 1.522882 1.955813 +v 0.181764 1.517030 1.945813 +v 0.181764 1.517030 1.955813 +v 0.181187 1.511177 1.945813 +v 0.181187 1.511177 1.955813 +v 0.179480 1.505549 1.945813 +v 0.179480 1.505549 1.955813 +v 0.176708 1.500362 1.945813 +v 0.176708 1.500362 1.955813 +v 0.172977 1.495816 1.945813 +v 0.172977 1.495816 1.955813 +v 0.168431 1.492085 1.945813 +v 0.168431 1.492085 1.955813 +v 0.163244 1.489313 1.945813 +v 0.163244 1.489313 1.955813 +v 0.157616 1.487606 1.945813 +v 0.157616 1.487606 1.955813 +v 0.151764 1.487030 1.945813 +v 0.151764 1.487030 1.955813 +v 0.145911 1.487606 1.945813 +v 0.145911 1.487606 1.955813 +v 0.140283 1.489313 1.945813 +v 0.140283 1.489313 1.955813 +v 0.135096 1.492085 1.945813 +v 0.135096 1.492085 1.955813 +v 0.130550 1.495816 1.945813 +v 0.130550 1.495816 1.955813 +v 0.126819 1.500362 1.945813 +v 0.126819 1.500362 1.955813 +v 0.124047 1.505549 1.945813 +v 0.124047 1.505549 1.955813 +v 0.122340 1.511177 1.945813 +v 0.122340 1.511177 1.955813 +v 0.121764 1.517030 1.945813 +v 0.121764 1.517030 1.955813 +v 0.122340 1.522882 1.945813 +v 0.122340 1.522882 1.955813 +v 0.124047 1.528510 1.945813 +v 0.124047 1.528510 1.955813 +v 0.126819 1.533697 1.945813 +v 0.126819 1.533697 1.955813 +v 0.130550 1.538243 1.945813 +v 0.130550 1.538243 1.955813 +v 0.135096 1.541974 1.945813 +v 0.135096 1.541974 1.955813 +v 0.140283 1.544746 1.945813 +v 0.140283 1.544746 1.955813 +v 0.145911 1.546453 1.945813 +v 0.145911 1.546453 1.955813 +v 0.168926 1.505562 1.955813 +v 0.168926 1.505562 1.945813 +v 0.151764 1.537670 1.955813 +v 0.151764 1.537670 1.945813 +v 0.147737 1.537273 1.955813 +v 0.147737 1.537273 1.945813 +v 0.143865 1.536099 1.955813 +v 0.143865 1.536099 1.945813 +v 0.132694 1.509131 1.955813 +v 0.132694 1.509131 1.945813 +v 0.134602 1.505562 1.955813 +v 0.134602 1.505562 1.945813 +v 0.131520 1.513003 1.955813 +v 0.131520 1.513003 1.945813 +v 0.137168 1.502434 1.955813 +v 0.137168 1.502434 1.945813 +v 0.147737 1.496785 1.955813 +v 0.147737 1.496785 1.945813 +v 0.151764 1.496389 1.955813 +v 0.151764 1.496389 1.945813 +v 0.143865 1.497960 1.955813 +v 0.143865 1.497960 1.945813 +v 0.172008 1.521056 1.955813 +v 0.172008 1.521056 1.945813 +v 0.163231 1.534191 1.955813 +v 0.163231 1.534191 1.945813 +v 0.172404 1.517029 1.955813 +v 0.172404 1.517029 1.945813 +v 0.170833 1.524928 1.955813 +v 0.170833 1.524928 1.945813 +v 0.155790 1.496785 1.955813 +v 0.155790 1.496785 1.945813 +v 0.137169 1.531625 1.955813 +v 0.137169 1.531625 1.945813 +v 0.140296 1.534191 1.955813 +v 0.140296 1.534191 1.945813 +v 0.134602 1.528497 1.955813 +v 0.134602 1.528497 1.945813 +v 0.172008 1.513003 1.955813 +v 0.172008 1.513003 1.945813 +v 0.163231 1.499867 1.955813 +v 0.163231 1.499867 1.945813 +v 0.166359 1.502434 1.955813 +v 0.166359 1.502434 1.945813 +v 0.170833 1.509131 1.955813 +v 0.170833 1.509131 1.945813 +v 0.131123 1.517029 1.955813 +v 0.131123 1.517029 1.945813 +v 0.140296 1.499867 1.955813 +v 0.140296 1.499867 1.945813 +v 0.131520 1.521056 1.955813 +v 0.131520 1.521056 1.945813 +v 0.166359 1.531625 1.955813 +v 0.166359 1.531625 1.945813 +v 0.159662 1.497960 1.955813 +v 0.159662 1.497960 1.945813 +v 0.168926 1.528497 1.955813 +v 0.168926 1.528497 1.945813 +v 0.132694 1.524928 1.955813 +v 0.132694 1.524928 1.945813 +v 0.159662 1.536099 1.955813 +v 0.159662 1.536099 1.945813 +v 0.155790 1.537273 1.955813 +v 0.155790 1.537273 1.945813 +vn 0.0980 0.9952 0.0000 +vn 0.2903 0.9569 0.0000 +vn 0.4714 0.8819 0.0000 +vn 0.6344 0.7730 0.0000 +vn 0.7730 0.6344 0.0000 +vn 0.8819 0.4714 0.0000 +vn 0.9569 0.2903 0.0000 +vn 0.9952 0.0980 0.0000 +vn 0.9952 -0.0980 0.0000 +vn 0.9569 -0.2903 0.0000 +vn 0.8819 -0.4714 0.0000 +vn 0.7730 -0.6344 0.0000 +vn 0.6344 -0.7730 0.0000 +vn 0.4714 -0.8819 0.0000 +vn 0.2903 -0.9569 0.0000 +vn 0.0980 -0.9952 0.0000 +vn -0.0980 -0.9952 0.0000 +vn -0.2903 -0.9569 0.0000 +vn -0.4714 -0.8819 0.0000 +vn -0.6344 -0.7730 0.0000 +vn -0.7730 -0.6344 0.0000 +vn -0.8819 -0.4714 0.0000 +vn -0.9569 -0.2903 0.0000 +vn -0.9952 -0.0980 0.0000 +vn -0.9952 0.0980 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.8819 0.4714 0.0000 +vn -0.7730 0.6344 0.0000 +vn -0.6344 0.7730 0.0000 +vn -0.4714 0.8819 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0000 +vn -0.0980 0.9952 0.0000 +vn 0.0000 0.0000 -1.0000 +usemtl Material +s off +f 97//59 98//59 100//59 99//59 +f 99//60 100//60 102//60 101//60 +f 101//61 102//61 104//61 103//61 +f 103//62 104//62 106//62 105//62 +f 105//63 106//63 108//63 107//63 +f 107//64 108//64 110//64 109//64 +f 109//65 110//65 112//65 111//65 +f 111//66 112//66 114//66 113//66 +f 113//67 114//67 116//67 115//67 +f 115//68 116//68 118//68 117//68 +f 117//69 118//69 120//69 119//69 +f 119//70 120//70 122//70 121//70 +f 121//71 122//71 124//71 123//71 +f 123//72 124//72 126//72 125//72 +f 125//73 126//73 128//73 127//73 +f 127//74 128//74 130//74 129//74 +f 129//75 130//75 132//75 131//75 +f 131//76 132//76 134//76 133//76 +f 133//77 134//77 136//77 135//77 +f 135//78 136//78 138//78 137//78 +f 137//79 138//79 140//79 139//79 +f 139//80 140//80 142//80 141//80 +f 141//81 142//81 144//81 143//81 +f 143//82 144//82 146//82 145//82 +f 145//83 146//83 148//83 147//83 +f 147//84 148//84 150//84 149//84 +f 149//85 150//85 152//85 151//85 +f 151//86 152//86 154//86 153//86 +f 153//87 154//87 156//87 155//87 +f 155//88 156//88 158//88 157//88 +f 100//89 98//89 160//89 158//89 156//89 154//89 152//89 150//89 148//89 146//89 207//89 211//89 219//89 197//89 193//89 195//89 167//89 165//89 163//89 223//89 221//89 185//89 213//89 217//89 189//89 183//89 187//89 114//89 112//89 110//89 108//89 106//89 104//89 102//89 +f 157//90 158//90 160//90 159//90 +f 159//91 160//91 98//91 97//91 +f 97//92 99//92 101//92 103//92 105//92 107//92 109//92 111//92 113//92 188//92 184//92 190//92 218//92 214//92 186//92 222//92 224//92 164//92 166//92 168//92 196//92 194//92 198//92 220//92 212//92 208//92 145//92 147//92 149//92 151//92 153//92 155//92 157//92 159//92 +f 200//83 199//83 187//83 188//83 +f 204//86 203//86 161//86 162//86 +f 162//85 161//85 205//85 206//85 +f 212//67 211//67 207//67 208//67 +f 184//81 183//81 189//81 190//81 +f 188//82 187//82 183//82 184//82 +f 218//79 217//79 213//79 214//79 +f 164//74 163//74 165//74 166//74 +f 178//59 177//59 179//59 180//59 +f 198//69 197//69 219//69 220//69 +f 180//91 179//91 191//91 192//91 +f 166//73 165//73 167//73 168//73 +f 214//78 213//78 185//78 186//78 +f 210//61 209//61 181//61 182//61 +f 114//89 187//89 199//89 205//89 161//89 203//89 201//89 215//89 191//89 179//89 177//89 181//89 209//89 175//89 171//89 169//89 173//89 207//89 146//89 144//89 142//89 140//89 138//89 136//89 134//89 132//89 130//89 128//89 126//89 124//89 122//89 120//89 118//89 116//89 +f 186//77 185//77 221//77 222//77 +f 202//87 201//87 203//87 204//87 +f 196//71 195//71 193//71 194//71 +f 220//68 219//68 211//68 212//68 +f 216//88 215//88 201//88 202//88 +f 176//62 175//62 209//62 210//62 +f 170//64 169//64 171//64 172//64 +f 224//75 223//75 163//75 164//75 +f 190//80 189//80 217//80 218//80 +f 208//66 207//66 173//66 174//66 +f 206//84 205//84 199//84 200//84 +f 182//60 181//60 177//60 178//60 +f 168//72 167//72 195//72 196//72 +f 222//76 221//76 223//76 224//76 +f 192//90 191//90 215//90 216//90 +f 174//65 173//65 169//65 170//65 +f 194//70 193//70 197//70 198//70 +f 145//92 208//92 174//92 170//92 172//92 176//92 210//92 182//92 178//92 180//92 192//92 216//92 202//92 204//92 162//92 206//92 200//92 188//92 113//92 115//92 117//92 119//92 121//92 123//92 125//92 127//92 129//92 131//92 133//92 135//92 137//92 139//92 141//92 143//92 +f 172//63 171//63 175//63 176//63 +o Cylinder.004 +v -0.147853 1.547029 1.945813 +v -0.147853 1.547029 1.955813 +v -0.142000 1.546453 1.945813 +v -0.142000 1.546453 1.955813 +v -0.136372 1.544746 1.945813 +v -0.136372 1.544746 1.955813 +v -0.131185 1.541974 1.945813 +v -0.131185 1.541974 1.955813 +v -0.126639 1.538243 1.945813 +v -0.126639 1.538243 1.955813 +v -0.122908 1.533697 1.945813 +v -0.122908 1.533697 1.955813 +v -0.120136 1.528510 1.945813 +v -0.120136 1.528510 1.955813 +v -0.118429 1.522882 1.945813 +v -0.118429 1.522882 1.955813 +v -0.117853 1.517030 1.945813 +v -0.117853 1.517030 1.955813 +v -0.118429 1.511177 1.945813 +v -0.118429 1.511177 1.955813 +v -0.120136 1.505549 1.945813 +v -0.120136 1.505549 1.955813 +v -0.122908 1.500362 1.945813 +v -0.122908 1.500362 1.955813 +v -0.126639 1.495816 1.945813 +v -0.126639 1.495816 1.955813 +v -0.131185 1.492085 1.945813 +v -0.131185 1.492085 1.955813 +v -0.136372 1.489313 1.945813 +v -0.136372 1.489313 1.955813 +v -0.142000 1.487606 1.945813 +v -0.142000 1.487606 1.955813 +v -0.147853 1.487030 1.945813 +v -0.147853 1.487030 1.955813 +v -0.153705 1.487606 1.945813 +v -0.153705 1.487606 1.955813 +v -0.159333 1.489313 1.945813 +v -0.159333 1.489313 1.955813 +v -0.164520 1.492085 1.945813 +v -0.164520 1.492085 1.955813 +v -0.169066 1.495816 1.945813 +v -0.169066 1.495816 1.955813 +v -0.172797 1.500362 1.945813 +v -0.172797 1.500362 1.955813 +v -0.175569 1.505549 1.945813 +v -0.175569 1.505549 1.955813 +v -0.177276 1.511177 1.945813 +v -0.177276 1.511177 1.955813 +v -0.177853 1.517030 1.945813 +v -0.177853 1.517030 1.955813 +v -0.177276 1.522882 1.945813 +v -0.177276 1.522882 1.955813 +v -0.175569 1.528510 1.945813 +v -0.175569 1.528510 1.955813 +v -0.172797 1.533697 1.945813 +v -0.172797 1.533697 1.955813 +v -0.169066 1.538243 1.945813 +v -0.169066 1.538243 1.955813 +v -0.164520 1.541974 1.945813 +v -0.164520 1.541974 1.955813 +v -0.159333 1.544746 1.945813 +v -0.159333 1.544746 1.955813 +v -0.153705 1.546453 1.945813 +v -0.153705 1.546453 1.955813 +v -0.130690 1.505562 1.955813 +v -0.130690 1.505562 1.945813 +v -0.147853 1.537670 1.955813 +v -0.147853 1.537670 1.945813 +v -0.151879 1.537273 1.955813 +v -0.151879 1.537273 1.945813 +v -0.155751 1.536099 1.955813 +v -0.155751 1.536099 1.945813 +v -0.166922 1.509131 1.955813 +v -0.166922 1.509131 1.945813 +v -0.165015 1.505562 1.955813 +v -0.165015 1.505562 1.945813 +v -0.168096 1.513003 1.955813 +v -0.168096 1.513003 1.945813 +v -0.162448 1.502434 1.955813 +v -0.162448 1.502434 1.945813 +v -0.151879 1.496785 1.955813 +v -0.151879 1.496785 1.945813 +v -0.147853 1.496389 1.955813 +v -0.147853 1.496389 1.945813 +v -0.155751 1.497960 1.955813 +v -0.155751 1.497960 1.945813 +v -0.127609 1.521056 1.955813 +v -0.127609 1.521056 1.945813 +v -0.136385 1.534191 1.955813 +v -0.136385 1.534191 1.945813 +v -0.127212 1.517029 1.955813 +v -0.127212 1.517029 1.945813 +v -0.128783 1.524928 1.955813 +v -0.128783 1.524928 1.945813 +v -0.143826 1.496785 1.955813 +v -0.143826 1.496785 1.945813 +v -0.162448 1.531625 1.955813 +v -0.162448 1.531625 1.945813 +v -0.159320 1.534191 1.955813 +v -0.159320 1.534191 1.945813 +v -0.165015 1.528497 1.955813 +v -0.165015 1.528497 1.945813 +v -0.127609 1.513003 1.955813 +v -0.127609 1.513003 1.945813 +v -0.136385 1.499867 1.955813 +v -0.136385 1.499867 1.945813 +v -0.133257 1.502434 1.955813 +v -0.133257 1.502434 1.945813 +v -0.128783 1.509131 1.955813 +v -0.128783 1.509131 1.945813 +v -0.168493 1.517029 1.955813 +v -0.168493 1.517029 1.945813 +v -0.159320 1.499867 1.955813 +v -0.159320 1.499867 1.945813 +v -0.168096 1.521056 1.955813 +v -0.168096 1.521056 1.945813 +v -0.133257 1.531625 1.955813 +v -0.133257 1.531625 1.945813 +v -0.139954 1.497960 1.955813 +v -0.139954 1.497960 1.945813 +v -0.130690 1.528497 1.955813 +v -0.130690 1.528497 1.945813 +v -0.166922 1.524928 1.955813 +v -0.166922 1.524928 1.945813 +v -0.139954 1.536099 1.955813 +v -0.139954 1.536099 1.945813 +v -0.143826 1.537273 1.955813 +v -0.143826 1.537273 1.945813 +vn 0.0980 0.9952 0.0000 +vn 0.2903 0.9569 0.0000 +vn 0.4714 0.8819 0.0000 +vn 0.6344 0.7730 0.0000 +vn 0.7730 0.6344 0.0000 +vn 0.8819 0.4714 0.0000 +vn 0.9569 0.2903 0.0000 +vn 0.9952 0.0980 0.0000 +vn 0.9952 -0.0980 0.0000 +vn 0.9569 -0.2903 0.0000 +vn 0.8819 -0.4714 0.0000 +vn 0.7730 -0.6344 0.0000 +vn 0.6344 -0.7730 0.0000 +vn 0.4714 -0.8819 0.0000 +vn 0.2903 -0.9569 0.0000 +vn 0.0980 -0.9952 0.0000 +vn -0.0980 -0.9952 0.0000 +vn -0.2903 -0.9569 0.0000 +vn -0.4714 -0.8819 0.0000 +vn -0.6344 -0.7730 0.0000 +vn -0.7730 -0.6344 0.0000 +vn -0.8819 -0.4714 0.0000 +vn -0.9569 -0.2903 0.0000 +vn -0.9952 -0.0980 0.0000 +vn -0.9952 0.0980 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.8819 0.4714 0.0000 +vn -0.7730 0.6344 0.0000 +vn -0.6344 0.7730 0.0000 +vn -0.4714 0.8819 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0000 +vn -0.0980 0.9952 0.0000 +vn 0.0000 0.0000 -1.0000 +usemtl Material +s off +f 225//93 226//93 228//93 227//93 +f 227//94 228//94 230//94 229//94 +f 229//95 230//95 232//95 231//95 +f 231//96 232//96 234//96 233//96 +f 233//97 234//97 236//97 235//97 +f 235//98 236//98 238//98 237//98 +f 237//99 238//99 240//99 239//99 +f 239//100 240//100 242//100 241//100 +f 241//101 242//101 244//101 243//101 +f 243//102 244//102 246//102 245//102 +f 245//103 246//103 248//103 247//103 +f 247//104 248//104 250//104 249//104 +f 249//105 250//105 252//105 251//105 +f 251//106 252//106 254//106 253//106 +f 253//107 254//107 256//107 255//107 +f 255//108 256//108 258//108 257//108 +f 257//109 258//109 260//109 259//109 +f 259//110 260//110 262//110 261//110 +f 261//111 262//111 264//111 263//111 +f 263//112 264//112 266//112 265//112 +f 265//113 266//113 268//113 267//113 +f 267//114 268//114 270//114 269//114 +f 269//115 270//115 272//115 271//115 +f 271//116 272//116 274//116 273//116 +f 273//117 274//117 276//117 275//117 +f 275//118 276//118 278//118 277//118 +f 277//119 278//119 280//119 279//119 +f 279//120 280//120 282//120 281//120 +f 281//121 282//121 284//121 283//121 +f 283//122 284//122 286//122 285//122 +f 228//123 226//123 288//123 286//123 284//123 282//123 280//123 278//123 276//123 274//123 335//123 339//123 347//123 325//123 321//123 323//123 295//123 293//123 291//123 351//123 349//123 313//123 341//123 345//123 317//123 311//123 315//123 242//123 240//123 238//123 236//123 234//123 232//123 230//123 +f 285//124 286//124 288//124 287//124 +f 287//125 288//125 226//125 225//125 +f 225//126 227//126 229//126 231//126 233//126 235//126 237//126 239//126 241//126 316//126 312//126 318//126 346//126 342//126 314//126 350//126 352//126 292//126 294//126 296//126 324//126 322//126 326//126 348//126 340//126 336//126 273//126 275//126 277//126 279//126 281//126 283//126 285//126 287//126 +f 328//117 327//117 315//117 316//117 +f 332//120 331//120 289//120 290//120 +f 290//119 289//119 333//119 334//119 +f 340//101 339//101 335//101 336//101 +f 312//115 311//115 317//115 318//115 +f 316//116 315//116 311//116 312//116 +f 346//113 345//113 341//113 342//113 +f 292//108 291//108 293//108 294//108 +f 306//93 305//93 307//93 308//93 +f 326//103 325//103 347//103 348//103 +f 308//125 307//125 319//125 320//125 +f 294//107 293//107 295//107 296//107 +f 342//112 341//112 313//112 314//112 +f 338//95 337//95 309//95 310//95 +f 242//123 315//123 327//123 333//123 289//123 331//123 329//123 343//123 319//123 307//123 305//123 309//123 337//123 303//123 299//123 297//123 301//123 335//123 274//123 272//123 270//123 268//123 266//123 264//123 262//123 260//123 258//123 256//123 254//123 252//123 250//123 248//123 246//123 244//123 +f 314//111 313//111 349//111 350//111 +f 330//121 329//121 331//121 332//121 +f 324//105 323//105 321//105 322//105 +f 348//102 347//102 339//102 340//102 +f 344//122 343//122 329//122 330//122 +f 304//96 303//96 337//96 338//96 +f 298//98 297//98 299//98 300//98 +f 352//109 351//109 291//109 292//109 +f 318//114 317//114 345//114 346//114 +f 336//100 335//100 301//100 302//100 +f 334//118 333//118 327//118 328//118 +f 310//94 309//94 305//94 306//94 +f 296//106 295//106 323//106 324//106 +f 350//110 349//110 351//110 352//110 +f 320//124 319//124 343//124 344//124 +f 302//99 301//99 297//99 298//99 +f 322//104 321//104 325//104 326//104 +f 273//126 336//126 302//126 298//126 300//126 304//126 338//126 310//126 306//126 308//126 320//126 344//126 330//126 332//126 290//126 334//126 328//126 316//126 241//126 243//126 245//126 247//126 249//126 251//126 253//126 255//126 257//126 259//126 261//126 263//126 265//126 267//126 269//126 271//126 +f 300//97 299//97 303//97 304//97 +o Cylinder.003 +v -0.147853 1.547029 1.693896 +v -0.147853 1.547029 1.703896 +v -0.142000 1.546453 1.693896 +v -0.142000 1.546453 1.703896 +v -0.136372 1.544746 1.693896 +v -0.136372 1.544746 1.703896 +v -0.131185 1.541974 1.693896 +v -0.131185 1.541974 1.703896 +v -0.126639 1.538243 1.693896 +v -0.126639 1.538243 1.703896 +v -0.122908 1.533697 1.693896 +v -0.122908 1.533697 1.703896 +v -0.120136 1.528510 1.693896 +v -0.120136 1.528510 1.703896 +v -0.118429 1.522882 1.693896 +v -0.118429 1.522882 1.703896 +v -0.117853 1.517030 1.693896 +v -0.117853 1.517030 1.703896 +v -0.118429 1.511177 1.693896 +v -0.118429 1.511177 1.703896 +v -0.120136 1.505549 1.693896 +v -0.120136 1.505549 1.703896 +v -0.122908 1.500362 1.693896 +v -0.122908 1.500362 1.703896 +v -0.126639 1.495816 1.693896 +v -0.126639 1.495816 1.703896 +v -0.131185 1.492085 1.693896 +v -0.131185 1.492085 1.703896 +v -0.136372 1.489313 1.693896 +v -0.136372 1.489313 1.703896 +v -0.142000 1.487606 1.693896 +v -0.142000 1.487606 1.703896 +v -0.147853 1.487030 1.693896 +v -0.147853 1.487030 1.703896 +v -0.153705 1.487606 1.693896 +v -0.153705 1.487606 1.703896 +v -0.159333 1.489313 1.693896 +v -0.159333 1.489313 1.703896 +v -0.164520 1.492085 1.693896 +v -0.164520 1.492085 1.703896 +v -0.169066 1.495816 1.693896 +v -0.169066 1.495816 1.703896 +v -0.172797 1.500362 1.693896 +v -0.172797 1.500362 1.703896 +v -0.175569 1.505549 1.693896 +v -0.175569 1.505549 1.703896 +v -0.177276 1.511177 1.693896 +v -0.177276 1.511177 1.703896 +v -0.177853 1.517030 1.693896 +v -0.177853 1.517030 1.703896 +v -0.177276 1.522882 1.693896 +v -0.177276 1.522882 1.703896 +v -0.175569 1.528510 1.693896 +v -0.175569 1.528510 1.703896 +v -0.172797 1.533697 1.693896 +v -0.172797 1.533697 1.703896 +v -0.169066 1.538243 1.693896 +v -0.169066 1.538243 1.703896 +v -0.164520 1.541974 1.693896 +v -0.164520 1.541974 1.703896 +v -0.159333 1.544746 1.693896 +v -0.159333 1.544746 1.703896 +v -0.153705 1.546453 1.693896 +v -0.153705 1.546453 1.703896 +vn 0.0980 0.9952 0.0000 +vn 0.2903 0.9569 0.0000 +vn 0.4714 0.8819 0.0000 +vn 0.6344 0.7730 0.0000 +vn 0.7730 0.6344 0.0000 +vn 0.8819 0.4714 0.0000 +vn 0.9569 0.2903 0.0000 +vn 0.9952 0.0980 0.0000 +vn 0.9952 -0.0980 0.0000 +vn 0.9569 -0.2903 0.0000 +vn 0.8819 -0.4714 0.0000 +vn 0.7730 -0.6344 0.0000 +vn 0.6344 -0.7730 0.0000 +vn 0.4714 -0.8819 0.0000 +vn 0.2903 -0.9569 0.0000 +vn 0.0980 -0.9952 0.0000 +vn -0.0980 -0.9952 0.0000 +vn -0.2903 -0.9569 0.0000 +vn -0.4714 -0.8819 0.0000 +vn -0.6344 -0.7730 0.0000 +vn -0.7730 -0.6344 0.0000 +vn -0.8819 -0.4714 0.0000 +vn -0.9569 -0.2903 0.0000 +vn -0.9952 -0.0980 0.0000 +vn -0.9952 0.0980 0.0000 +vn -0.9569 0.2903 0.0000 +vn -0.8819 0.4714 0.0000 +vn -0.7730 0.6344 0.0000 +vn -0.6344 0.7730 0.0000 +vn -0.4714 0.8819 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0000 +vn -0.0980 0.9952 0.0000 +vn -0.0000 0.0000 -1.0000 +usemtl Material +s off +f 353//127 354//127 356//127 355//127 +f 355//128 356//128 358//128 357//128 +f 357//129 358//129 360//129 359//129 +f 359//130 360//130 362//130 361//130 +f 361//131 362//131 364//131 363//131 +f 363//132 364//132 366//132 365//132 +f 365//133 366//133 368//133 367//133 +f 367//134 368//134 370//134 369//134 +f 369//135 370//135 372//135 371//135 +f 371//136 372//136 374//136 373//136 +f 373//137 374//137 376//137 375//137 +f 375//138 376//138 378//138 377//138 +f 377//139 378//139 380//139 379//139 +f 379//140 380//140 382//140 381//140 +f 381//141 382//141 384//141 383//141 +f 383//142 384//142 386//142 385//142 +f 385//143 386//143 388//143 387//143 +f 387//144 388//144 390//144 389//144 +f 389//145 390//145 392//145 391//145 +f 391//146 392//146 394//146 393//146 +f 393//147 394//147 396//147 395//147 +f 395//148 396//148 398//148 397//148 +f 397//149 398//149 400//149 399//149 +f 399//150 400//150 402//150 401//150 +f 401//151 402//151 404//151 403//151 +f 403//152 404//152 406//152 405//152 +f 405//153 406//153 408//153 407//153 +f 407//154 408//154 410//154 409//154 +f 409//155 410//155 412//155 411//155 +f 411//156 412//156 414//156 413//156 +f 356//157 354//157 416//157 414//157 412//157 410//157 408//157 406//157 404//157 402//157 400//157 398//157 396//157 394//157 392//157 390//157 388//157 386//157 384//157 382//157 380//157 378//157 376//157 374//157 372//157 370//157 368//157 366//157 364//157 362//157 360//157 358//157 +f 413//158 414//158 416//158 415//158 +f 415//159 416//159 354//159 353//159 +f 353//160 355//160 357//160 359//160 361//160 363//160 365//160 367//160 369//160 371//160 373//160 375//160 377//160 379//160 381//160 383//160 385//160 387//160 389//160 391//160 393//160 395//160 397//160 399//160 401//160 403//160 405//160 407//160 409//160 411//160 413//160 415//160 +o Cube.003 +v -0.122310 1.521325 1.692563 +v -0.122310 1.521325 2.092563 +v -0.112310 1.521328 1.692563 +v -0.112310 1.521328 2.092563 +v -0.122308 1.511325 1.692563 +v -0.122308 1.511325 2.092563 +v -0.112308 1.511328 1.692563 +v -0.112308 1.511328 2.092563 +vn -0.0002 1.0000 0.0000 +vn 1.0000 0.0002 0.0000 +vn 0.0002 -1.0000 0.0000 +vn -1.0000 -0.0002 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 417//161 418//161 420//161 419//161 +f 419//162 420//162 424//162 423//162 +f 423//163 424//163 422//163 421//163 +f 421//164 422//164 418//164 417//164 +f 419//165 423//165 421//165 417//165 +f 424//166 420//166 418//166 422//166 +o Cube.002 +v -0.181707 1.521053 1.692563 +v -0.181707 1.521053 2.092563 +v -0.171707 1.521090 1.692563 +v -0.171707 1.521090 2.092563 +v -0.181670 1.511053 1.692563 +v -0.181670 1.511053 2.092563 +v -0.171670 1.511090 1.692563 +v -0.171670 1.511090 2.092563 +vn -0.0037 1.0000 0.0000 +vn 1.0000 0.0037 0.0000 +vn 0.0037 -1.0000 0.0000 +vn -1.0000 -0.0037 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 425//167 426//167 428//167 427//167 +f 427//168 428//168 432//168 431//168 +f 431//169 432//169 430//169 429//169 +f 429//170 430//170 426//170 425//170 +f 427//171 431//171 429//171 425//171 +f 432//172 428//172 426//172 430//172 +o Cube.001 +v -0.153327 1.483433 1.692563 +v -0.153327 1.483433 2.092563 +v -0.153327 1.493433 1.692563 +v -0.153327 1.493433 2.092563 +v -0.143327 1.483433 1.692563 +v -0.143327 1.483433 2.092563 +v -0.143327 1.493433 1.692563 +v -0.143327 1.493433 2.092563 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 433//173 434//173 436//173 435//173 +f 435//174 436//174 440//174 439//174 +f 439//175 440//175 438//175 437//175 +f 437//176 438//176 434//176 433//176 +f 435//177 439//177 437//177 433//177 +f 440//178 436//178 434//178 438//178 +o Cube +v -0.153327 1.539826 1.692563 +v -0.153327 1.539826 2.092563 +v -0.153327 1.549826 1.692563 +v -0.153327 1.549826 2.092563 +v -0.143327 1.539826 1.692563 +v -0.143327 1.539826 2.092563 +v -0.143327 1.549826 1.692563 +v -0.143327 1.549826 2.092563 +vn -1.0000 0.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +usemtl Material +s off +f 441//179 442//179 444//179 443//179 +f 443//180 444//180 448//180 447//180 +f 447//181 448//181 446//181 445//181 +f 445//182 446//182 442//182 441//182 +f 443//183 447//183 445//183 441//183 +f 448//184 444//184 442//184 446//184 +o Cylinder.002 +v -0.000357 1.458382 -0.323778 +v -0.000357 1.449912 1.470212 +v 0.002082 1.458142 -0.323778 +v 0.000429 1.449835 1.470212 +v 0.004427 1.457431 -0.323778 +v 0.001185 1.449605 1.470212 +v 0.006588 1.456275 -0.323778 +v 0.001882 1.449233 1.470212 +v 0.008482 1.454721 -0.323778 +v 0.002493 1.448732 1.470212 +v 0.010037 1.452827 -0.323778 +v 0.002994 1.448121 1.470212 +v 0.011192 1.450666 -0.323778 +v 0.003366 1.447424 1.470212 +v 0.011903 1.448321 -0.323778 +v 0.003596 1.446668 1.470212 +v 0.012143 1.445882 -0.323778 +v 0.003673 1.445882 1.470212 +v 0.011903 1.443443 -0.323778 +v 0.003596 1.445096 1.470212 +v 0.011192 1.441099 -0.323778 +v 0.003366 1.444340 1.470212 +v 0.010037 1.438937 -0.323778 +v 0.002994 1.443643 1.470212 +v 0.008482 1.437043 -0.323778 +v 0.002493 1.443033 1.470212 +v 0.006588 1.435489 -0.323778 +v 0.001882 1.442531 1.470212 +v 0.004427 1.434334 -0.323778 +v 0.001185 1.442159 1.470212 +v 0.002082 1.433622 -0.323778 +v 0.000429 1.441930 1.470212 +v -0.000357 1.433382 -0.323778 +v -0.000357 1.441852 1.470212 +v -0.002796 1.433622 -0.323778 +v -0.001143 1.441930 1.470212 +v -0.005140 1.434334 -0.323778 +v -0.001899 1.442159 1.470212 +v -0.007302 1.435489 -0.323778 +v -0.002596 1.442531 1.470212 +v -0.009196 1.437043 -0.323778 +v -0.003206 1.443033 1.470212 +v -0.010750 1.438937 -0.323778 +v -0.003708 1.443643 1.470212 +v -0.011905 1.441099 -0.323778 +v -0.004080 1.444340 1.470212 +v -0.012617 1.443443 -0.323778 +v -0.004309 1.445096 1.470212 +v -0.012857 1.445882 -0.323778 +v -0.004387 1.445882 1.470212 +v -0.012617 1.448321 -0.323778 +v -0.004309 1.446668 1.470212 +v -0.011905 1.450666 -0.323778 +v -0.004080 1.447424 1.470212 +v -0.010750 1.452827 -0.323778 +v -0.003708 1.448121 1.470212 +v -0.009196 1.454721 -0.323778 +v -0.003206 1.448732 1.470212 +v -0.007301 1.456275 -0.323778 +v -0.002596 1.449233 1.470212 +v -0.005140 1.457431 -0.323778 +v -0.001899 1.449605 1.470212 +v -0.002795 1.458142 -0.323778 +v -0.001143 1.449835 1.470212 +vn 0.0980 0.9952 0.0047 +vn 0.2903 0.9569 0.0047 +vn 0.4714 0.8819 0.0047 +vn 0.6344 0.7730 0.0047 +vn 0.7730 0.6344 0.0047 +vn 0.8819 0.4714 0.0047 +vn 0.9569 0.2903 0.0047 +vn 0.9952 0.0980 0.0047 +vn 0.9952 -0.0980 0.0047 +vn 0.9569 -0.2903 0.0047 +vn 0.8819 -0.4714 0.0047 +vn 0.7730 -0.6344 0.0047 +vn 0.6344 -0.7730 0.0047 +vn 0.4714 -0.8819 0.0047 +vn 0.2903 -0.9569 0.0047 +vn 0.0980 -0.9952 0.0047 +vn -0.0980 -0.9952 0.0047 +vn -0.2903 -0.9569 0.0047 +vn -0.4714 -0.8819 0.0047 +vn -0.6344 -0.7730 0.0047 +vn -0.7730 -0.6344 0.0047 +vn -0.8819 -0.4714 0.0047 +vn -0.9569 -0.2903 0.0047 +vn -0.9952 -0.0980 0.0047 +vn -0.9952 0.0980 0.0047 +vn -0.9569 0.2903 0.0047 +vn -0.8819 0.4714 0.0047 +vn -0.7730 0.6344 0.0047 +vn -0.6344 0.7730 0.0047 +vn -0.4714 0.8819 0.0047 +vn 0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0047 +vn -0.0980 0.9952 0.0047 +vn 0.0000 0.0000 -1.0000 +usemtl Material +s off +f 449//185 450//185 452//185 451//185 +f 451//186 452//186 454//186 453//186 +f 453//187 454//187 456//187 455//187 +f 455//188 456//188 458//188 457//188 +f 457//189 458//189 460//189 459//189 +f 459//190 460//190 462//190 461//190 +f 461//191 462//191 464//191 463//191 +f 463//192 464//192 466//192 465//192 +f 465//193 466//193 468//193 467//193 +f 467//194 468//194 470//194 469//194 +f 469//195 470//195 472//195 471//195 +f 471//196 472//196 474//196 473//196 +f 473//197 474//197 476//197 475//197 +f 475//198 476//198 478//198 477//198 +f 477//199 478//199 480//199 479//199 +f 479//200 480//200 482//200 481//200 +f 481//201 482//201 484//201 483//201 +f 483//202 484//202 486//202 485//202 +f 485//203 486//203 488//203 487//203 +f 487//204 488//204 490//204 489//204 +f 489//205 490//205 492//205 491//205 +f 491//206 492//206 494//206 493//206 +f 493//207 494//207 496//207 495//207 +f 495//208 496//208 498//208 497//208 +f 497//209 498//209 500//209 499//209 +f 499//210 500//210 502//210 501//210 +f 501//211 502//211 504//211 503//211 +f 503//212 504//212 506//212 505//212 +f 505//213 506//213 508//213 507//213 +f 507//214 508//214 510//214 509//214 +f 452//215 450//215 512//215 510//215 508//215 506//215 504//215 502//215 500//215 498//215 496//215 494//215 492//215 490//215 488//215 486//215 484//215 482//215 480//215 478//215 476//215 474//215 472//215 470//215 468//215 466//215 464//215 462//215 460//215 458//215 456//215 454//215 +f 509//216 510//216 512//216 511//216 +f 511//217 512//217 450//217 449//217 +f 449//218 451//218 453//218 455//218 457//218 459//218 461//218 463//218 465//218 467//218 469//218 471//218 473//218 475//218 477//218 479//218 481//218 483//218 485//218 487//218 489//218 491//218 493//218 495//218 497//218 499//218 501//218 503//218 505//218 507//218 509//218 511//218 +o Cylinder.001 +v -0.148360 1.567710 -1.945033 +v -0.148360 1.533830 1.728613 +v -0.138605 1.566750 -1.945033 +v -0.145215 1.533520 1.728613 +v -0.129226 1.563904 -1.945033 +v -0.142191 1.532603 1.728613 +v -0.120581 1.559284 -1.945033 +v -0.139404 1.531114 1.728613 +v -0.113005 1.553066 -1.945033 +v -0.136962 1.529109 1.728613 +v -0.106786 1.545489 -1.945033 +v -0.134957 1.526666 1.728613 +v -0.102166 1.536845 -1.945033 +v -0.133467 1.523879 1.728613 +v -0.099321 1.527465 -1.945033 +v -0.132550 1.520855 1.728613 +v -0.098360 1.517710 -1.945033 +v -0.132240 1.517710 1.728613 +v -0.099321 1.507956 -1.945033 +v -0.132550 1.514566 1.728613 +v -0.102166 1.498576 -1.945033 +v -0.133467 1.511542 1.728613 +v -0.106786 1.489932 -1.945033 +v -0.134957 1.508755 1.728613 +v -0.113005 1.482355 -1.945033 +v -0.136962 1.506312 1.728613 +v -0.120581 1.476137 -1.945033 +v -0.139404 1.504307 1.728613 +v -0.129226 1.471516 -1.945033 +v -0.142191 1.502818 1.728613 +v -0.138605 1.468671 -1.945033 +v -0.145215 1.501900 1.728613 +v -0.148360 1.467710 -1.945033 +v -0.148360 1.501591 1.728613 +v -0.158114 1.468671 -1.945033 +v -0.151505 1.501900 1.728613 +v -0.167494 1.471516 -1.945033 +v -0.154529 1.502818 1.728613 +v -0.176138 1.476137 -1.945033 +v -0.157316 1.504307 1.728613 +v -0.183715 1.482355 -1.945033 +v -0.159758 1.506312 1.728613 +v -0.189933 1.489932 -1.945033 +v -0.161763 1.508755 1.728613 +v -0.194554 1.498576 -1.945033 +v -0.163253 1.511542 1.728613 +v -0.197399 1.507956 -1.945033 +v -0.164170 1.514566 1.728613 +v -0.198360 1.517710 -1.945033 +v -0.164480 1.517710 1.728613 +v -0.197399 1.527465 -1.945033 +v -0.164170 1.520855 1.728613 +v -0.194554 1.536845 -1.945033 +v -0.163253 1.523879 1.728613 +v -0.189933 1.545489 -1.945033 +v -0.161763 1.526666 1.728613 +v -0.183715 1.553066 -1.945033 +v -0.159758 1.529109 1.728613 +v -0.176138 1.559284 -1.945033 +v -0.157316 1.531114 1.728613 +v -0.167494 1.563905 -1.945033 +v -0.154529 1.532603 1.728613 +v -0.158114 1.566750 -1.945033 +v -0.151505 1.533520 1.728613 vn 0.0980 0.9951 0.0092 vn 0.2903 0.9569 0.0092 vn 0.4714 0.8819 0.0092 @@ -235,39 +1155,174 @@ vn 0.0000 0.0000 1.0000 vn -0.2903 0.9569 0.0092 vn -0.0980 0.9951 0.0092 vn -0.0000 0.0000 -1.0000 -usemtl None +usemtl Material s off -f 65//35 66//35 68//35 67//35 -f 67//36 68//36 70//36 69//36 -f 69//37 70//37 72//37 71//37 -f 71//38 72//38 74//38 73//38 -f 73//39 74//39 76//39 75//39 -f 75//40 76//40 78//40 77//40 -f 77//41 78//41 80//41 79//41 -f 79//42 80//42 82//42 81//42 -f 81//43 82//43 84//43 83//43 -f 83//44 84//44 86//44 85//44 -f 85//45 86//45 88//45 87//45 -f 87//46 88//46 90//46 89//46 -f 89//47 90//47 92//47 91//47 -f 91//48 92//48 94//48 93//48 -f 93//49 94//49 96//49 95//49 -f 95//50 96//50 98//50 97//50 -f 97//51 98//51 100//51 99//51 -f 99//52 100//52 102//52 101//52 -f 101//53 102//53 104//53 103//53 -f 103//54 104//54 106//54 105//54 -f 105//55 106//55 108//55 107//55 -f 107//56 108//56 110//56 109//56 -f 109//57 110//57 112//57 111//57 -f 111//58 112//58 114//58 113//58 -f 113//59 114//59 116//59 115//59 -f 115//60 116//60 118//60 117//60 -f 117//61 118//61 120//61 119//61 -f 119//62 120//62 122//62 121//62 -f 121//63 122//63 124//63 123//63 -f 123//64 124//64 126//64 125//64 -f 68//65 66//65 128//65 126//65 124//65 122//65 120//65 118//65 116//65 114//65 112//65 110//65 108//65 106//65 104//65 102//65 100//65 98//65 96//65 94//65 92//65 90//65 88//65 86//65 84//65 82//65 80//65 78//65 76//65 74//65 72//65 70//65 -f 125//66 126//66 128//66 127//66 -f 127//67 128//67 66//67 65//67 -f 65//68 67//68 69//68 71//68 73//68 75//68 77//68 79//68 81//68 83//68 85//68 87//68 89//68 91//68 93//68 95//68 97//68 99//68 101//68 103//68 105//68 107//68 109//68 111//68 113//68 115//68 117//68 119//68 121//68 123//68 125//68 127//68 +f 513//219 514//219 516//219 515//219 +f 515//220 516//220 518//220 517//220 +f 517//221 518//221 520//221 519//221 +f 519//222 520//222 522//222 521//222 +f 521//223 522//223 524//223 523//223 +f 523//224 524//224 526//224 525//224 +f 525//225 526//225 528//225 527//225 +f 527//226 528//226 530//226 529//226 +f 529//227 530//227 532//227 531//227 +f 531//228 532//228 534//228 533//228 +f 533//229 534//229 536//229 535//229 +f 535//230 536//230 538//230 537//230 +f 537//231 538//231 540//231 539//231 +f 539//232 540//232 542//232 541//232 +f 541//233 542//233 544//233 543//233 +f 543//234 544//234 546//234 545//234 +f 545//235 546//235 548//235 547//235 +f 547//236 548//236 550//236 549//236 +f 549//237 550//237 552//237 551//237 +f 551//238 552//238 554//238 553//238 +f 553//239 554//239 556//239 555//239 +f 555//240 556//240 558//240 557//240 +f 557//241 558//241 560//241 559//241 +f 559//242 560//242 562//242 561//242 +f 561//243 562//243 564//243 563//243 +f 563//244 564//244 566//244 565//244 +f 565//245 566//245 568//245 567//245 +f 567//246 568//246 570//246 569//246 +f 569//247 570//247 572//247 571//247 +f 571//248 572//248 574//248 573//248 +f 516//249 514//249 576//249 574//249 572//249 570//249 568//249 566//249 564//249 562//249 560//249 558//249 556//249 554//249 552//249 550//249 548//249 546//249 544//249 542//249 540//249 538//249 536//249 534//249 532//249 530//249 528//249 526//249 524//249 522//249 520//249 518//249 +f 573//250 574//250 576//250 575//250 +f 575//251 576//251 514//251 513//251 +f 513//252 515//252 517//252 519//252 521//252 523//252 525//252 527//252 529//252 531//252 533//252 535//252 537//252 539//252 541//252 543//252 545//252 547//252 549//252 551//252 553//252 555//252 557//252 559//252 561//252 563//252 565//252 567//252 569//252 571//252 573//252 575//252 +o Cylinder +v 0.152802 1.567710 -1.945033 +v 0.152802 1.533830 1.728613 +v 0.162556 1.566750 -1.945033 +v 0.155947 1.533520 1.728613 +v 0.171936 1.563904 -1.945033 +v 0.158971 1.532603 1.728613 +v 0.180580 1.559284 -1.945033 +v 0.161758 1.531114 1.728613 +v 0.188157 1.553066 -1.945033 +v 0.164200 1.529109 1.728613 +v 0.194375 1.545489 -1.945033 +v 0.166205 1.526666 1.728613 +v 0.198996 1.536845 -1.945033 +v 0.167695 1.523879 1.728613 +v 0.201841 1.527465 -1.945033 +v 0.168612 1.520855 1.728613 +v 0.202802 1.517710 -1.945033 +v 0.168922 1.517710 1.728613 +v 0.201841 1.507956 -1.945033 +v 0.168612 1.514566 1.728613 +v 0.198996 1.498576 -1.945033 +v 0.167695 1.511542 1.728613 +v 0.194375 1.489932 -1.945033 +v 0.166205 1.508755 1.728613 +v 0.188157 1.482355 -1.945033 +v 0.164200 1.506312 1.728613 +v 0.180580 1.476137 -1.945033 +v 0.161758 1.504307 1.728613 +v 0.171936 1.471516 -1.945033 +v 0.158971 1.502818 1.728613 +v 0.162556 1.468671 -1.945033 +v 0.155947 1.501900 1.728613 +v 0.152802 1.467710 -1.945033 +v 0.152802 1.501591 1.728613 +v 0.143047 1.468671 -1.945033 +v 0.149657 1.501900 1.728613 +v 0.133668 1.471516 -1.945033 +v 0.146633 1.502818 1.728613 +v 0.125023 1.476137 -1.945033 +v 0.143846 1.504307 1.728613 +v 0.117447 1.482355 -1.945033 +v 0.141404 1.506312 1.728613 +v 0.111228 1.489932 -1.945033 +v 0.139399 1.508755 1.728613 +v 0.106608 1.498576 -1.945033 +v 0.137909 1.511542 1.728613 +v 0.103763 1.507956 -1.945033 +v 0.136992 1.514566 1.728613 +v 0.102802 1.517710 -1.945033 +v 0.136682 1.517710 1.728613 +v 0.103763 1.527465 -1.945033 +v 0.136992 1.520855 1.728613 +v 0.106608 1.536845 -1.945033 +v 0.137909 1.523879 1.728613 +v 0.111229 1.545489 -1.945033 +v 0.139399 1.526666 1.728613 +v 0.117447 1.553066 -1.945033 +v 0.141404 1.529109 1.728613 +v 0.125023 1.559284 -1.945033 +v 0.143846 1.531114 1.728613 +v 0.133668 1.563905 -1.945033 +v 0.146633 1.532603 1.728613 +v 0.143048 1.566750 -1.945033 +v 0.149657 1.533520 1.728613 +vn 0.0980 0.9951 0.0092 +vn 0.2903 0.9569 0.0092 +vn 0.4714 0.8819 0.0092 +vn 0.6344 0.7730 0.0092 +vn 0.7730 0.6344 0.0092 +vn 0.8819 0.4714 0.0092 +vn 0.9569 0.2903 0.0092 +vn 0.9951 0.0980 0.0092 +vn 0.9951 -0.0980 0.0092 +vn 0.9569 -0.2903 0.0092 +vn 0.8819 -0.4714 0.0092 +vn 0.7730 -0.6344 0.0092 +vn 0.6344 -0.7730 0.0092 +vn 0.4714 -0.8819 0.0092 +vn 0.2903 -0.9569 0.0092 +vn 0.0980 -0.9951 0.0092 +vn -0.0980 -0.9951 0.0092 +vn -0.2903 -0.9569 0.0092 +vn -0.4714 -0.8819 0.0092 +vn -0.6344 -0.7730 0.0092 +vn -0.7730 -0.6344 0.0092 +vn -0.8819 -0.4714 0.0092 +vn -0.9569 -0.2903 0.0092 +vn -0.9951 -0.0980 0.0092 +vn -0.9951 0.0980 0.0092 +vn -0.9569 0.2903 0.0092 +vn -0.8819 0.4714 0.0092 +vn -0.7730 0.6344 0.0092 +vn -0.6344 0.7730 0.0092 +vn -0.4714 0.8819 0.0092 +vn 0.0000 0.0000 1.0000 +vn -0.2903 0.9569 0.0092 +vn -0.0980 0.9951 0.0092 +vn -0.0000 0.0000 -1.0000 +usemtl Material +s off +f 577//253 578//253 580//253 579//253 +f 579//254 580//254 582//254 581//254 +f 581//255 582//255 584//255 583//255 +f 583//256 584//256 586//256 585//256 +f 585//257 586//257 588//257 587//257 +f 587//258 588//258 590//258 589//258 +f 589//259 590//259 592//259 591//259 +f 591//260 592//260 594//260 593//260 +f 593//261 594//261 596//261 595//261 +f 595//262 596//262 598//262 597//262 +f 597//263 598//263 600//263 599//263 +f 599//264 600//264 602//264 601//264 +f 601//265 602//265 604//265 603//265 +f 603//266 604//266 606//266 605//266 +f 605//267 606//267 608//267 607//267 +f 607//268 608//268 610//268 609//268 +f 609//269 610//269 612//269 611//269 +f 611//270 612//270 614//270 613//270 +f 613//271 614//271 616//271 615//271 +f 615//272 616//272 618//272 617//272 +f 617//273 618//273 620//273 619//273 +f 619//274 620//274 622//274 621//274 +f 621//275 622//275 624//275 623//275 +f 623//276 624//276 626//276 625//276 +f 625//277 626//277 628//277 627//277 +f 627//278 628//278 630//278 629//278 +f 629//279 630//279 632//279 631//279 +f 631//280 632//280 634//280 633//280 +f 633//281 634//281 636//281 635//281 +f 635//282 636//282 638//282 637//282 +f 580//283 578//283 640//283 638//283 636//283 634//283 632//283 630//283 628//283 626//283 624//283 622//283 620//283 618//283 616//283 614//283 612//283 610//283 608//283 606//283 604//283 602//283 600//283 598//283 596//283 594//283 592//283 590//283 588//283 586//283 584//283 582//283 +f 637//284 638//284 640//284 639//284 +f 639//285 640//285 578//285 577//285 +f 577//286 579//286 581//286 583//286 585//286 587//286 589//286 591//286 593//286 595//286 597//286 599//286 601//286 603//286 605//286 607//286 609//286 611//286 613//286 615//286 617//286 619//286 621//286 623//286 625//286 627//286 629//286 631//286 633//286 635//286 637//286 639//286 diff --git a/src/Aircraft.cpp b/src/Aircraft.cpp new file mode 100644 index 0000000..9afe664 --- /dev/null +++ b/src/Aircraft.cpp @@ -0,0 +1,57 @@ +#include "Aircraft.hpp" + +#include + +#include "Globals.hpp" + + + +using namespace irr; +using namespace irr::core; + +Aircraft::Aircraft() +{ + model = Globals::getSceneManager()->addMeshSceneNode(Globals::getSceneManager()->getMesh("../res/SU35S.obj")); + model->setPosition(vector3df(25.f, 0.f, 0.f)); + a = Globals::getSceneManager()->createFlyStraightAnimator(vector3df(100.f, 100.f, -1000.f), + vector3df(100.f, 100.f, 1000.f), + 32000, + false, + false); + + model->addAnimator(a); + std::cout << "Aircraft" << std::endl; +} + +Aircraft::~Aircraft() +{ + Globals::getSceneManager()->addToDeletionQueue(model); + std::cout << "~Aircraft" << std::endl; +} + +bool Aircraft::isGood() const +{ + return healthy; +} + +bool Aircraft::isTerminated() const +{ + return a->hasFinished(); +} + +bool Aircraft::evalShot(const irr::core::line3df &shotline) +{ + bool hit = model->getTransformedBoundingBox().intersectsWithLine(shotline); + if (hit) + { + if (healthy) + { + // got hit for the first time: do smokey? + auto pman = Globals::getSceneManager()->addParticleSystemSceneNode(true, model); + pman->getEmitter()->setDirection(vector3df(0.f, 0.f, 0.f)); + } + + healthy = false; + } + return hit; +} diff --git a/src/Aircraft.hpp b/src/Aircraft.hpp new file mode 100644 index 0000000..8ab2cd2 --- /dev/null +++ b/src/Aircraft.hpp @@ -0,0 +1,18 @@ +#include + +class Aircraft +{ +public: + Aircraft(); + ~Aircraft(); + + bool evalShot(const irr::core::line3df&); + bool isGood() const; + bool isTerminated() const; + +private: + irr::scene::IMeshSceneNode *model; + irr::scene::ISceneNodeAnimator *a; + bool healthy; + +}; diff --git a/src/Dispatcher.cpp b/src/Dispatcher.cpp new file mode 100644 index 0000000..8b2ee14 --- /dev/null +++ b/src/Dispatcher.cpp @@ -0,0 +1,70 @@ +#include "Dispatcher.hpp" +#include "Globals.hpp" +#include "Aircraft.hpp" + +using namespace irr; + +Dispatcher::Dispatcher() + : active(false) +{ + +} + +Dispatcher::~Dispatcher() +{ + aircrafts.clear(); +} + +void Dispatcher::start() +{ + lastDispatchMS = Globals::getDevice()->getTimer()->getRealTime(); + active = true; +} + +void Dispatcher::execute() +{ + u32 curTime = Globals::getDevice()->getTimer()->getRealTime(); + + if (active && (curTime - lastDispatchMS) > 10000) + { + auto a = std::make_shared(); + aircrafts.push_back(a); + lastDispatchMS = curTime; + } + + //cleanup + auto a = aircrafts.begin(); + while (a < aircrafts.end()) + { + if ((*a)->isTerminated()) + { + a = aircrafts.erase(a); + } + else + ++a; + } +} + +void Dispatcher::stop() +{ + active = false; +} + +const Dispatcher::Aircrafts &Dispatcher::getAircrafts() const +{ + return aircrafts; +} + +bool Dispatcher::evalShot(const core::line3df& l) +{ + bool ret = false; + for (auto a : aircrafts) + { + if (a->evalShot(l)) + { + ret = true; + } + } + + return ret; +} diff --git a/src/Dispatcher.hpp b/src/Dispatcher.hpp new file mode 100644 index 0000000..5cd471c --- /dev/null +++ b/src/Dispatcher.hpp @@ -0,0 +1,24 @@ +#include +#include + +#include + +class Dispatcher +{ +public: + typedef std::vector< std::shared_ptr > Aircrafts; + Dispatcher(); + ~Dispatcher(); + + void start(); + void execute(); + void stop(); + const Aircrafts& getAircrafts() const; + bool evalShot(const irr::core::line3df&); + +private: + irr::u32 lastDispatchMS; + Aircrafts aircrafts; + bool active; + +}; diff --git a/src/FireUnit.cpp b/src/FireUnit.cpp index 3211502..190c183 100644 --- a/src/FireUnit.cpp +++ b/src/FireUnit.cpp @@ -1,14 +1,21 @@ #include "FireUnit.hpp" +#include +#include + #include "Globals.hpp" +#include "Dispatcher.hpp" #include "TurretCamAnimator.hpp" +using namespace std; using namespace irr; using namespace irr::core; FireUnit::FireUnit() : aziTurnCoeffSmooth(0.f) , elevTurnCoeffSmooth(0.f) + , flashCount(0) + , fireBtnPressed(false) { turretAzimuth = Globals::getSceneManager()->addEmptySceneNode(); turretElevation = Globals::getSceneManager()->addMeshSceneNode(Globals::getSceneManager()->getMesh("../res/guns.obj"), turretAzimuth); @@ -19,21 +26,21 @@ FireUnit::FireUnit() cam->setFarValue(4000.f); cam->addAnimator(turretCamAnimator); - auto jet = Globals::getSceneManager()->addMeshSceneNode(Globals::getSceneManager()->getMesh("../res/SU35S.obj")); - jet->setPosition(vector3df(25.f, 0.f, 0.f)); - auto a = Globals::getSceneManager()->createFlyStraightAnimator(vector3df(100.f, 100.f, -1000.f), - vector3df(100.f, 100.f, 1000.f), - 16000, - true, - false); - jet->addAnimator(a); - a->drop(); - crosshair = Globals::getVideoDriver()->getTexture("../res/crosshair.png"); - auto b = Globals::getSceneManager()->addBillboardSceneNode(turretElevation, dimension2df(1.f, 1.f), vector3df(.14f, 1.5f, 1.89f)); - b->setMaterialTexture(0, Globals::getVideoDriver()->getTexture("../res/mflash.png")); - b->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF); + mflashR = Globals::getSceneManager()->addBillboardSceneNode(turretElevation, dimension2df(1.f, 1.f), vector3df(.14f, 1.5f, 1.89f)); + mflashL = Globals::getSceneManager()->addBillboardSceneNode(turretElevation, dimension2df(1.f, 1.f), vector3df(-.14f, 1.5f, 1.89f)); + mflashR->setMaterialTexture(0, Globals::getVideoDriver()->getTexture("../res/mflash.png")); + mflashR->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF); + mflashR->setMaterialFlag(video::EMF_LIGHTING, false); + mflashL->setMaterialTexture(0, Globals::getVideoDriver()->getTexture("../res/mflash.png")); + mflashL->setMaterialType(video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF); + mflashL->setMaterialFlag(video::EMF_LIGHTING, false); + mflashL->setVisible(false); + mflashR->setVisible(false); + + fireSound = Globals::getAudioManager()->create("fireSound", "../res/gunburst.wav", false); + } FireUnit::~FireUnit() @@ -60,13 +67,28 @@ bool FireUnit::OnEvent(const SEvent& e) if (fabs(aziTurnCoeff) < DEAD_ZONE) aziTurnCoeff = 0.f; - if (e.JoystickEvent.IsButtonPressed(1)) + if (e.JoystickEvent.IsButtonPressed(0)) { - // fire trigger pressed + if (!fireBtnPressed) + { + shotline.start = cam->getAbsolutePosition(); + shotline.end = cam->getTarget() - shotline.start; + shotline.end.normalize(); + shotline.end *= 4000.f; + fireSound->play2d(); + /*vector3df lineEnd = cam->getTarget(); + lineEnd.normalize(); + lineEnd += 4000.f; + shotline.end = shotline.start + lineEnd;*/ + + Globals::getDispatcher()->evalShot(shotline); + fireBtnPressed = true; + flashCount = 16; + } } else { - // fire trigger released + fireBtnPressed = false; } if (e.JoystickEvent.IsButtonPressed(2)) @@ -109,7 +131,33 @@ bool FireUnit::OnEvent(const SEvent& e) void FireUnit::draw() { - auto& res = Globals::getVideoDriver()->getScreenSize(); + auto drv = Globals::getVideoDriver(); + auto& res = drv->getScreenSize(); - Globals::getVideoDriver()->draw2DImage(crosshair, position2di(res.Width / 2 - 128, res.Height / 2 - 128), recti(0, 0, 256, 256), nullptr, video::SColor(255,255,255,255), true ); + drv->draw2DImage(crosshair, position2di(res.Width / 2 - 128, res.Height / 2 - 128), recti(0, 0, 256, 256), nullptr, video::SColor(255,255,255,255), true ); + + video::SMaterial matA; + matA.AmbientColor = video::SColor(255, 255, 0, 0); + matA.DiffuseColor = video::SColor(255, 255, 0, 0); + matA.ColorMaterial = video::ECM_NONE; + matA.AntiAliasing = video::EAAM_FULL_BASIC; + matA.Lighting = false; + matA.Thickness = 1.5f; + matA.MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL; + drv->setMaterial(matA); + + if (flashCount > 0) + { + mflashL->setVisible(flashCount % 4 == 2); + mflashR->setVisible(flashCount % 4 == 0); + flashCount--; + } + else + { + mflashL->setVisible(false); + mflashR->setVisible(false); + } + + //drv->draw3DLine(shotline.start, shotline.end); + //cout << tgt.X << ' ' << tgt.Y << ' ' << tgt.Z << endl; } diff --git a/src/FireUnit.hpp b/src/FireUnit.hpp index 85d23c6..dc1bc6c 100644 --- a/src/FireUnit.hpp +++ b/src/FireUnit.hpp @@ -3,6 +3,11 @@ #include +namespace cAudio +{ +class IAudioSource; +} + class FireUnit : public irr::IEventReceiver { public: @@ -18,6 +23,13 @@ private: irr::scene::ISceneNodeAnimator *turretCamAnimator; irr::f32 aziTurnCoeffSmooth, elevTurnCoeffSmooth; irr::video::ITexture *crosshair; + + irr::core::line3df shotline; + irr::scene::IBillboardSceneNode *mflashL, *mflashR; + irr::u32 flashCount; + bool fireBtnPressed; + + class cAudio::IAudioSource* fireSound; }; #endif // FIREUNIT_HPP diff --git a/src/FlaSimApp.cpp b/src/FlaSimApp.cpp index 3e43272..51a6c19 100644 --- a/src/FlaSimApp.cpp +++ b/src/FlaSimApp.cpp @@ -3,6 +3,7 @@ #include #include "Globals.hpp" +#include "Dispatcher.hpp" using namespace std; using namespace irr; @@ -46,6 +47,7 @@ void FlaSimApp::execute() { while (dev->run()) { + Globals::getDispatcher()->execute(); drv->beginScene(true, true, SColor(255, 128, 128, 128)); sman->drawAll(); drawScreenSpace(); @@ -56,6 +58,24 @@ void FlaSimApp::execute() bool FlaSimApp::OnEvent(const irr::SEvent &e) { + if (e.EventType == EET_KEY_INPUT_EVENT) + { + if (e.KeyInput.Key == KEY_F12) + { + dev->closeDevice(); + return true; + } + if (e.KeyInput.Key == KEY_F9) + { + Globals::getDispatcher()->start(); + return true; + } + if (e.KeyInput.Key == KEY_F10) + { + Globals::getDispatcher()->stop(); + return true; + } + } return fireUnit.OnEvent(e); } diff --git a/src/Globals.cpp b/src/Globals.cpp index ee9d402..af90838 100644 --- a/src/Globals.cpp +++ b/src/Globals.cpp @@ -1,6 +1,8 @@ #include "Globals.hpp" +#include "Dispatcher.hpp" #include +#include using namespace irr; @@ -11,11 +13,14 @@ Globals::Globals() dev = createDevice(video::EDT_OPENGL, core::dimension2du(1280, 800), 32, false, false, true); drv = dev->getVideoDriver(); sman = dev->getSceneManager(); + dispatcher = new Dispatcher(); + audioManager = cAudio::createAudioManager(true); } Globals::~Globals() { dev->drop(); + audioManager->shutDown(); instance = nullptr; } @@ -48,3 +53,19 @@ scene::ISceneManager* Globals::getSceneManager() return instance->sman; } + +cAudio::IAudioManager* Globals::getAudioManager() +{ + if (!instance) + instance = new Globals(); + + return instance->audioManager; +} + +Dispatcher* Globals::getDispatcher() +{ + if (!instance) + instance = new Globals(); + + return instance->dispatcher; +} diff --git a/src/Globals.hpp b/src/Globals.hpp index 5b6eb5e..7c7b336 100644 --- a/src/Globals.hpp +++ b/src/Globals.hpp @@ -1,6 +1,11 @@ #ifndef GLOBALS_HPP #define GLOBALS_HPP +namespace cAudio +{ + class IAudioManager; +} + namespace irr { class IrrlichtDevice; @@ -22,6 +27,8 @@ public: static class irr::IrrlichtDevice* getDevice(); static class irr::scene::ISceneManager* getSceneManager(); static class irr::video::IVideoDriver* getVideoDriver(); + static cAudio::IAudioManager* getAudioManager(); + static class Dispatcher* getDispatcher(); static void shutdown(); @@ -33,5 +40,7 @@ private: class irr::IrrlichtDevice* dev; class irr::scene::ISceneManager* sman; class irr::video::IVideoDriver* drv; + class cAudio::IAudioManager *audioManager; + class Dispatcher *dispatcher; }; #endif // GLOBALS_HPP diff --git a/src/main.cpp b/src/main.cpp index 41b8e2a..1bf0119 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,9 +1,12 @@ #include "FlaSimApp.hpp" +#include "Globals.hpp" int main() { - FlaSimApp a; - a.execute(); + FlaSimApp *a = new FlaSimApp(); + a->execute(); + delete a; + Globals::shutdown(); return 0; }