299 lines
10 KiB
C++
299 lines
10 KiB
C++
#pragma once
|
|
|
|
#include "geometry/geometry.hpp"
|
|
|
|
namespace queen {
|
|
constexpr vec3 vertices[] = {
|
|
{ 0.000000f, -0.817631f, -0.500000f },
|
|
{ 0.570827f, -0.535257f, -0.500000f },
|
|
{ 0.604407f, -0.622259f, -0.500000f },
|
|
{ 0.601354f, -0.817631f, -0.500000f },
|
|
{ 0.500616f, -0.480309f, -0.500000f },
|
|
{ 0.436509f, -0.457414f, -0.500000f },
|
|
{ 0.671566f, 0.113438f, -0.500000f },
|
|
{ 0.729567f, 0.137859f, -0.500000f },
|
|
{ 0.769252f, 0.185176f, -0.500000f },
|
|
{ 0.801050f, 0.252306f, -0.500000f },
|
|
{ 0.800167f, 0.322970f, -0.500000f },
|
|
{ 0.775435f, 0.383035f, -0.500000f },
|
|
{ 0.725970f, 0.435149f, -0.500000f },
|
|
{ 0.657073f, 0.463415f, -0.500000f },
|
|
{ 0.579342f, 0.465181f, -0.500000f },
|
|
{ 0.516628f, 0.435149f, -0.500000f },
|
|
{ 0.468930f, 0.382151f, -0.500000f },
|
|
{ 0.445081f, 0.321204f, -0.500000f },
|
|
{ 0.444198f, 0.268206f, -0.500000f },
|
|
{ 0.462747f, 0.220507f, -0.500000f },
|
|
{ 0.337318f, 0.085363f, -0.500000f },
|
|
{ 0.323186f, 0.436916f, -0.500000f },
|
|
{ 0.365584f, 0.470481f, -0.500000f },
|
|
{ 0.403566f, 0.520829f, -0.500000f },
|
|
{ 0.424765f, 0.591493f, -0.500000f },
|
|
{ 0.413282f, 0.672757f, -0.500000f },
|
|
{ 0.368234f, 0.741654f, -0.500000f },
|
|
{ 0.296687f, 0.776103f, -0.500000f },
|
|
{ 0.252522f, 0.786702f, -0.500000f },
|
|
{ 0.186274f, 0.777869f, -0.500000f },
|
|
{ 0.115610f, 0.745187f, -0.500000f },
|
|
{ 0.067912f, 0.690423f, -0.500000f },
|
|
{ 0.052013f, 0.629475f, -0.500000f },
|
|
{ 0.051129f, 0.560578f, -0.500000f },
|
|
{ 0.072329f, 0.511113f, -0.500000f },
|
|
{ 0.105894f, 0.477548f, -0.500000f },
|
|
{ 0.000000f, 0.197542f, -0.500000f },
|
|
{ -0.570827f, -0.535257f, -0.500000f },
|
|
{ -0.604407f, -0.622259f, -0.500000f },
|
|
{ -0.601354f, -0.817631f, -0.500000f },
|
|
{ -0.500616f, -0.480309f, -0.500000f },
|
|
{ -0.436509f, -0.457414f, -0.500000f },
|
|
{ -0.671566f, 0.113438f, -0.500000f },
|
|
{ -0.729567f, 0.137859f, -0.500000f },
|
|
{ -0.769252f, 0.185176f, -0.500000f },
|
|
{ -0.801050f, 0.252306f, -0.500000f },
|
|
{ -0.800167f, 0.322970f, -0.500000f },
|
|
{ -0.775435f, 0.383035f, -0.500000f },
|
|
{ -0.725970f, 0.435149f, -0.500000f },
|
|
{ -0.657073f, 0.463415f, -0.500000f },
|
|
{ -0.579342f, 0.465181f, -0.500000f },
|
|
{ -0.516628f, 0.435149f, -0.500000f },
|
|
{ -0.468930f, 0.382151f, -0.500000f },
|
|
{ -0.445081f, 0.321204f, -0.500000f },
|
|
{ -0.444198f, 0.268206f, -0.500000f },
|
|
{ -0.462747f, 0.220507f, -0.500000f },
|
|
{ -0.337318f, 0.085363f, -0.500000f },
|
|
{ -0.323186f, 0.436916f, -0.500000f },
|
|
{ -0.365584f, 0.470481f, -0.500000f },
|
|
{ -0.403566f, 0.520829f, -0.500000f },
|
|
{ -0.424765f, 0.591493f, -0.500000f },
|
|
{ -0.413282f, 0.672757f, -0.500000f },
|
|
{ -0.368234f, 0.741654f, -0.500000f },
|
|
{ -0.296687f, 0.776103f, -0.500000f },
|
|
{ -0.252522f, 0.786702f, -0.500000f },
|
|
{ -0.186274f, 0.777869f, -0.500000f },
|
|
{ -0.115610f, 0.745187f, -0.500000f },
|
|
{ -0.067912f, 0.690423f, -0.500000f },
|
|
{ -0.052013f, 0.629475f, -0.500000f },
|
|
{ -0.051129f, 0.560578f, -0.500000f },
|
|
{ -0.072329f, 0.511113f, -0.500000f },
|
|
{ -0.105894f, 0.477548f, -0.500000f },
|
|
{ 0.462390f, -0.549696f, -1.500000f },
|
|
{ 0.332972f, -0.503475f, -1.500000f },
|
|
{ 0.505640f, -0.583544f, -1.500000f },
|
|
{ 0.525978f, -0.636236f, -1.500000f },
|
|
{ 0.524365f, -0.739429f, -1.500000f },
|
|
{ 0.000000f, -0.739429f, -1.500000f },
|
|
{ 0.611523f, 0.173007f, -1.500000f },
|
|
{ 0.681798f, 0.202596f, -1.500000f },
|
|
{ 0.702879f, 0.227731f, -1.500000f },
|
|
{ 0.722629f, 0.269426f, -1.500000f },
|
|
{ 0.722159f, 0.307031f, -1.500000f },
|
|
{ 0.708676f, 0.339775f, -1.500000f },
|
|
{ 0.680786f, 0.369160f, -1.500000f },
|
|
{ 0.640803f, 0.385563f, -1.500000f },
|
|
{ 0.596256f, 0.386576f, -1.500000f },
|
|
{ 0.564385f, 0.371313f, -1.500000f },
|
|
{ 0.536571f, 0.340409f, -1.500000f },
|
|
{ 0.523037f, 0.305821f, -1.500000f },
|
|
{ 0.522644f, 0.282247f, -1.500000f },
|
|
{ 0.553382f, 0.203206f, -1.500000f },
|
|
{ 0.266733f, -0.105648f, -1.500000f },
|
|
{ 0.243449f, 0.473532f, -1.500000f },
|
|
{ 0.309188f, 0.525576f, -1.500000f },
|
|
{ 0.332692f, 0.556731f, -1.500000f },
|
|
{ 0.344933f, 0.597535f, -1.500000f },
|
|
{ 0.338289f, 0.644553f, -1.500000f },
|
|
{ 0.314695f, 0.680638f, -1.500000f },
|
|
{ 0.270300f, 0.702013f, -1.500000f },
|
|
{ 0.248427f, 0.707263f, -1.500000f },
|
|
{ 0.208351f, 0.701920f, -1.500000f },
|
|
{ 0.163605f, 0.681225f, -1.500000f },
|
|
{ 0.138945f, 0.652911f, -1.500000f },
|
|
{ 0.130085f, 0.618950f, -1.500000f },
|
|
{ 0.129537f, 0.576148f, -1.500000f },
|
|
{ 0.138274f, 0.555761f, -1.500000f },
|
|
{ 0.196906f, 0.497129f, -1.500000f },
|
|
{ 0.000000f, -0.023532f, -1.500000f },
|
|
{ -0.462390f, -0.549696f, -1.500000f },
|
|
{ -0.332971f, -0.503475f, -1.500000f },
|
|
{ -0.505640f, -0.583544f, -1.500000f },
|
|
{ -0.525978f, -0.636236f, -1.500000f },
|
|
{ -0.524365f, -0.739429f, -1.500000f },
|
|
{ -0.611523f, 0.173007f, -1.500000f },
|
|
{ -0.681798f, 0.202596f, -1.500000f },
|
|
{ -0.702879f, 0.227731f, -1.500000f },
|
|
{ -0.722629f, 0.269426f, -1.500000f },
|
|
{ -0.722159f, 0.307031f, -1.500000f },
|
|
{ -0.708676f, 0.339775f, -1.500000f },
|
|
{ -0.680786f, 0.369160f, -1.500000f },
|
|
{ -0.640803f, 0.385563f, -1.500000f },
|
|
{ -0.596256f, 0.386576f, -1.500000f },
|
|
{ -0.564385f, 0.371313f, -1.500000f },
|
|
{ -0.536571f, 0.340409f, -1.500000f },
|
|
{ -0.523037f, 0.305821f, -1.500000f },
|
|
{ -0.522644f, 0.282247f, -1.500000f },
|
|
{ -0.553382f, 0.203206f, -1.500000f },
|
|
{ -0.266733f, -0.105648f, -1.500000f },
|
|
{ -0.243449f, 0.473532f, -1.500000f },
|
|
{ -0.309188f, 0.525576f, -1.500000f },
|
|
{ -0.332692f, 0.556731f, -1.500000f },
|
|
{ -0.344933f, 0.597535f, -1.500000f },
|
|
{ -0.338289f, 0.644553f, -1.500000f },
|
|
{ -0.314695f, 0.680638f, -1.500000f },
|
|
{ -0.270300f, 0.702013f, -1.500000f },
|
|
{ -0.248427f, 0.707263f, -1.500000f },
|
|
{ -0.208351f, 0.701920f, -1.500000f },
|
|
{ -0.163605f, 0.681225f, -1.500000f },
|
|
{ -0.138945f, 0.652911f, -1.500000f },
|
|
{ -0.130085f, 0.618950f, -1.500000f },
|
|
{ -0.129537f, 0.576148f, -1.500000f },
|
|
{ -0.138274f, 0.555761f, -1.500000f },
|
|
{ -0.196906f, 0.497129f, -1.500000f },
|
|
};
|
|
|
|
constexpr face_v faces[] = {
|
|
{{139}, {135}, {129}},
|
|
{{ 24}, { 36}, { 41}},
|
|
{{ 74}, { 72}, { 73}},
|
|
{{ 78}, { 79}, { 80}},
|
|
{{ 75}, { 74}, { 73}},
|
|
{{ 78}, { 80}, { 81}},
|
|
{{ 76}, { 75}, { 73}},
|
|
{{ 78}, { 81}, { 82}},
|
|
{{ 77}, { 76}, { 73}},
|
|
{{ 78}, { 82}, { 83}},
|
|
{{ 77}, { 73}, { 78}},
|
|
{{112}, {113}, { 77}},
|
|
{{109}, {111}, {112}},
|
|
{{110}, {109}, {112}},
|
|
{{ 77}, { 78}, { 83}},
|
|
{{ 83}, { 84}, { 85}},
|
|
{{ 85}, { 86}, { 87}},
|
|
{{ 87}, { 88}, { 89}},
|
|
{{ 89}, { 90}, { 91}},
|
|
{{ 87}, { 89}, { 91}},
|
|
{{ 83}, { 85}, { 87}},
|
|
{{110}, {112}, { 77}},
|
|
{{116}, {115}, {114}},
|
|
{{114}, {110}, { 77}},
|
|
{{ 83}, { 87}, { 91}},
|
|
{{ 83}, { 91}, { 92}},
|
|
{{117}, {116}, {114}},
|
|
{{119}, {118}, {117}},
|
|
{{121}, {120}, {119}},
|
|
{{123}, {122}, {121}},
|
|
{{125}, {124}, {123}},
|
|
{{127}, {126}, {125}},
|
|
{{127}, {125}, {123}},
|
|
{{123}, {121}, {119}},
|
|
{{119}, {117}, {114}},
|
|
{{ 77}, { 83}, { 92}},
|
|
{{ 93}, { 94}, { 95}},
|
|
{{ 77}, { 92}, { 93}},
|
|
{{119}, {114}, { 77}},
|
|
{{127}, {123}, {119}},
|
|
{{128}, {127}, {119}},
|
|
{{ 93}, { 95}, { 96}},
|
|
{{ 96}, { 97}, { 98}},
|
|
{{ 98}, { 99}, {100}},
|
|
{{100}, {101}, {102}},
|
|
{{102}, {103}, {104}},
|
|
{{104}, {105}, {106}},
|
|
{{104}, {106}, {107}},
|
|
{{100}, {102}, {104}},
|
|
{{ 96}, { 98}, {100}},
|
|
{{ 93}, { 96}, {100}},
|
|
{{100}, {104}, {107}},
|
|
{{ 93}, {100}, {107}},
|
|
{{128}, {119}, { 77}},
|
|
{{131}, {130}, {129}},
|
|
{{129}, {128}, { 77}},
|
|
{{ 77}, { 93}, {107}},
|
|
{{ 77}, {107}, {108}},
|
|
{{132}, {131}, {129}},
|
|
{{129}, { 77}, {108}},
|
|
{{143}, {142}, {141}},
|
|
{{129}, {108}, {143}},
|
|
{{133}, {132}, {129}},
|
|
{{135}, {134}, {133}},
|
|
{{137}, {136}, {135}},
|
|
{{139}, {138}, {137}},
|
|
{{141}, {140}, {139}},
|
|
{{129}, {143}, {141}},
|
|
{{135}, {133}, {129}},
|
|
{{139}, {137}, {135}},
|
|
{{129}, {141}, {139}},
|
|
{{ 1}, { 4}, { 5}},
|
|
{{ 6}, { 7}, { 8}},
|
|
{{ 2}, { 1}, { 5}},
|
|
{{ 6}, { 8}, { 9}},
|
|
{{ 3}, { 2}, { 5}},
|
|
{{ 6}, { 9}, { 10}},
|
|
{{ 0}, { 3}, { 5}},
|
|
{{ 6}, { 10}, { 11}},
|
|
{{ 0}, { 5}, { 6}},
|
|
{{ 38}, { 39}, { 0}},
|
|
{{ 40}, { 37}, { 38}},
|
|
{{ 41}, { 40}, { 38}},
|
|
{{ 38}, { 0}, { 6}},
|
|
{{ 6}, { 11}, { 12}},
|
|
{{ 12}, { 13}, { 14}},
|
|
{{ 14}, { 15}, { 16}},
|
|
{{ 16}, { 17}, { 18}},
|
|
{{ 16}, { 18}, { 19}},
|
|
{{ 12}, { 14}, { 16}},
|
|
{{ 41}, { 38}, { 6}},
|
|
{{ 44}, { 43}, { 42}},
|
|
{{ 6}, { 12}, { 16}},
|
|
{{ 6}, { 16}, { 19}},
|
|
{{ 45}, { 44}, { 42}},
|
|
{{ 47}, { 46}, { 45}},
|
|
{{ 49}, { 48}, { 47}},
|
|
{{ 51}, { 50}, { 49}},
|
|
{{ 53}, { 52}, { 51}},
|
|
{{ 55}, { 54}, { 53}},
|
|
{{ 55}, { 53}, { 51}},
|
|
{{ 51}, { 49}, { 47}},
|
|
{{ 47}, { 45}, { 42}},
|
|
{{ 6}, { 19}, { 20}},
|
|
{{ 21}, { 22}, { 23}},
|
|
{{ 41}, { 6}, { 20}},
|
|
{{ 21}, { 23}, { 24}},
|
|
{{ 41}, { 20}, { 21}},
|
|
{{ 47}, { 42}, { 41}},
|
|
{{ 55}, { 51}, { 47}},
|
|
{{ 56}, { 55}, { 47}},
|
|
{{ 41}, { 21}, { 24}},
|
|
{{ 24}, { 25}, { 26}},
|
|
{{ 26}, { 27}, { 28}},
|
|
{{ 28}, { 29}, { 30}},
|
|
{{ 30}, { 31}, { 32}},
|
|
{{ 32}, { 33}, { 34}},
|
|
{{ 32}, { 34}, { 35}},
|
|
{{ 28}, { 30}, { 32}},
|
|
{{ 24}, { 26}, { 28}},
|
|
{{ 56}, { 47}, { 41}},
|
|
{{ 59}, { 58}, { 57}},
|
|
{{ 60}, { 59}, { 57}},
|
|
{{ 62}, { 61}, { 60}},
|
|
{{ 64}, { 63}, { 62}},
|
|
{{ 66}, { 65}, { 64}},
|
|
{{ 68}, { 67}, { 66}},
|
|
{{ 70}, { 69}, { 68}},
|
|
{{ 71}, { 70}, { 68}},
|
|
{{ 68}, { 66}, { 64}},
|
|
{{ 64}, { 62}, { 60}},
|
|
{{ 64}, { 60}, { 57}},
|
|
{{ 71}, { 68}, { 64}},
|
|
{{ 36}, { 71}, { 64}},
|
|
{{ 64}, { 57}, { 56}},
|
|
{{ 24}, { 28}, { 32}},
|
|
{{ 24}, { 32}, { 35}},
|
|
{{ 36}, { 64}, { 56}},
|
|
{{ 24}, { 35}, { 36}},
|
|
{{ 36}, { 56}, { 41}},
|
|
};
|
|
|
|
constexpr uint32_t num_faces = (sizeof (faces)) / (sizeof (face_v));
|
|
|
|
}
|