// 3D model [reddots_small]
//
// - vertices   : 64
// - textures   : 0
// - normals    : 0
// - triangles  : 96
//
// - memory size: 1kb
//
// - model bounding box: [-35.5,35.5]x[-35.35,35.35]x[-9.9,-4.22]
//
// object [reddots_small_1] (tagged [ | g c8 | usemtl 224,8,8]) with 12 triangles (2 chains)
// object [reddots_small_2] (tagged [g c7]) with 12 triangles (2 chains)
// object [reddots_small_3] (tagged [g c6]) with 12 triangles (2 chains)
// object [reddots_small_4] (tagged [g c5]) with 12 triangles (2 chains)
// object [reddots_small_5] (tagged [g c4]) with 12 triangles (1 chains)
// object [reddots_small_6] (tagged [g c3]) with 12 triangles (2 chains)
// object [reddots_small_7] (tagged [g c2]) with 12 triangles (2 chains)
// object [reddots_small_8] (tagged [g c1]) with 12 triangles (1 chains)

#pragma once

#include <tgx.h>


// vertex array: 0kb.
const tgx::fVec3 reddots_small_vert_array[64] PROGMEM = {
{-31.499958,20.437174,-9.898019},
{-31.499958,20.437174,-4.498019},
{-31.499958,17.737177,-7.198019},
{-34.199959,20.437174,-9.898019},
{-34.199959,17.737177,-7.198019},
{-34.199959,20.437174,-4.498019},
{-31.499958,23.137171,-7.198019},
{-34.199959,23.137171,-7.198019},
{-19.507366,-32.74004,-9.620344},
{-19.507366,-32.74004,-4.220343},
{-16.807365,-32.74004,-6.920344},
{-19.507366,-35.350041,-9.620344},
{-16.807365,-35.350041,-6.920344},
{-19.507366,-35.350041,-4.220343},
{-22.207367,-32.74004,-6.920344},
{-22.207367,-35.350041,-6.920344},
{32.800046,20.139605,-4.364613},
{32.800046,20.139605,-9.764614},
{32.800046,17.439608,-7.064614},
{35.500043,20.139605,-4.364613},
{35.500043,17.439608,-7.064614},
{35.500043,20.139605,-9.764614},
{32.800046,22.839609,-7.064614},
{35.500043,22.839609,-7.064614},
{-19.581007,32.649958,-9.684632},
{-19.581007,32.649958,-4.284632},
{-22.281008,32.649958,-6.984632},
{-19.581007,35.349963,-9.684632},
{-22.281008,35.349963,-6.984632},
{-19.581007,35.349963,-4.284632},
{-16.881008,32.649958,-6.984632},
{-16.881008,35.349963,-6.984632},
{-32.799958,-23.064078,-6.948277},
{-35.499958,-20.364077,-9.648277},
{-32.799958,-20.364077,-9.648277},
{-32.799958,-20.364077,-4.248277},
{-32.799958,-17.664076,-6.948277},
{-35.499958,-17.664076,-6.948277},
{-35.499958,-20.364077,-4.248277},
{-35.499958,-23.064078,-6.948277},
{20.041749,-32.74004,-9.617469},
{20.041749,-32.74004,-4.217469},
{22.741749,-32.74004,-6.917469},
{20.041749,-35.350041,-9.617469},
{22.741749,-35.350041,-6.917469},
{20.041749,-35.350041,-4.217469},
{17.341748,-32.74004,-6.917469},
{17.341748,-35.350041,-6.917469},
{20.582745,32.649958,-4.31963},
{20.582745,32.649958,-9.719631},
{23.282746,32.649958,-7.019631},
{20.582745,35.349963,-4.31963},
{23.282746,35.349963,-7.019631},
{20.582745,35.349963,-9.719631},
{17.882748,32.649958,-7.019631},
{17.882748,35.349963,-7.019631},
{31.800046,-23.841685,-7.046421},
{34.500043,-21.141684,-4.346421},
{31.800046,-21.141684,-4.346421},
{31.800046,-21.141684,-9.746421},
{31.800046,-18.441687,-7.046421},
{34.500043,-18.441687,-7.046421},
{34.500043,-21.141684,-9.746421},
{34.500043,-23.841685,-7.046421}
};


// face array: 0kb.
const uint16_t reddots_small_1_face[19] PROGMEM = {
11, // chain 0
0, 1, 2, 
3, 32772, 32769, 5, 32774, 32768, 7, 32771, 5, 32772, 
1, // chain 1
5, 6, 7, 

 0};


// face array: 0kb.
const uint16_t reddots_small_2_face[19] PROGMEM = {
11, // chain 0
8, 9, 10, 
11, 32780, 32777, 13, 32782, 32776, 15, 32779, 13, 32780, 
1, // chain 1
13, 14, 15, 

 0};


// face array: 0kb.
const uint16_t reddots_small_3_face[19] PROGMEM = {
11, // chain 0
16, 17, 18, 
19, 32788, 32785, 21, 32790, 32784, 23, 32787, 21, 32788, 
1, // chain 1
21, 22, 23, 

 0};


// face array: 0kb.
const uint16_t reddots_small_4_face[19] PROGMEM = {
11, // chain 0
24, 25, 26, 
27, 32796, 32793, 29, 32798, 32792, 31, 32795, 29, 32796, 
1, // chain 1
29, 30, 31, 

 0};


// face array: 0kb.
const uint16_t reddots_small_5_face[16] PROGMEM = {
12, // chain 0
32, 33, 34, 
35, 32804, 32805, 32801, 38, 32807, 32800, 35, 38, 32804, 37, 

 0};


// face array: 0kb.
const uint16_t reddots_small_6_face[19] PROGMEM = {
11, // chain 0
40, 41, 42, 
43, 32812, 32809, 45, 32814, 32808, 47, 32811, 45, 32812, 
1, // chain 1
45, 46, 47, 

 0};


// face array: 0kb.
const uint16_t reddots_small_7_face[19] PROGMEM = {
11, // chain 0
48, 49, 50, 
51, 32820, 32817, 53, 32822, 32816, 55, 32819, 53, 32820, 
1, // chain 1
53, 54, 55, 

 0};


// face array: 0kb.
const uint16_t reddots_small_8_face[16] PROGMEM = {
12, // chain 0
56, 57, 58, 
59, 32828, 32829, 32825, 62, 32831, 32824, 59, 62, 32828, 61, 

 0};


// mesh info for object reddots_small_8 (with tag [g c1])
const tgx::Mesh3D<tgx::RGB565> reddots_small_8 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    16, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_8_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    nullptr, // next mesh to draw after this one    
    
    { // mesh bounding box
    31.800046f, 34.500043f, 
    -23.841685f, -18.441687f, 
    -9.746421f, -4.346421f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_7 (with tag [g c2])
const tgx::Mesh3D<tgx::RGB565> reddots_small_7 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_7_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_8, // next mesh to draw after this one    
    
    { // mesh bounding box
    17.882748f, 23.282746f, 
    32.649958f, 35.349963f, 
    -9.719631f, -4.31963f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_6 (with tag [g c3])
const tgx::Mesh3D<tgx::RGB565> reddots_small_6 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_6_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_7, // next mesh to draw after this one    
    
    { // mesh bounding box
    17.341748f, 22.741749f, 
    -35.350041f, -32.74004f, 
    -9.617469f, -4.217469f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_5 (with tag [g c4])
const tgx::Mesh3D<tgx::RGB565> reddots_small_5 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    16, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_5_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_6, // next mesh to draw after this one    
    
    { // mesh bounding box
    -35.499958f, -32.799958f, 
    -23.064078f, -17.664076f, 
    -9.648277f, -4.248277f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_4 (with tag [g c5])
const tgx::Mesh3D<tgx::RGB565> reddots_small_4 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_4_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_5, // next mesh to draw after this one    
    
    { // mesh bounding box
    -22.281008f, -16.881008f, 
    32.649958f, 35.349963f, 
    -9.684632f, -4.284632f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_3 (with tag [g c6])
const tgx::Mesh3D<tgx::RGB565> reddots_small_3 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_3_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_4, // next mesh to draw after this one    
    
    { // mesh bounding box
    32.800046f, 35.500043f, 
    17.439608f, 22.839609f, 
    -9.764614f, -4.364613f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_2 (with tag [g c7])
const tgx::Mesh3D<tgx::RGB565> reddots_small_2 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_2_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_3, // next mesh to draw after this one    
    
    { // mesh bounding box
    -22.207367f, -16.807365f, 
    -35.350041f, -32.74004f, 
    -9.620344f, -4.220343f
    },
    
    "reddots_small" // model name    
    };
    

// mesh info for object reddots_small_1 (with tag [ | g c8 | usemtl 224,8,8])
const tgx::Mesh3D<tgx::RGB565> reddots_small_1 PROGMEM = 
    {
    1, // version/id
    
    64, // number of vertices
    0, // number of texture coords
    0, // number of normal vectors
    12, // number of triangles
    19, // size of the face array. 

    reddots_small_vert_array, // array of vertices
    nullptr, // array of texture coords
    nullptr, // array of normal vectors        
    reddots_small_1_face, // array of face vertex indexes   
    
    nullptr, // pointer to texture image 
    
    { 0.75f , 0.75f, 0.75f }, // default color
    
    0.1f, // ambiant light strength 
    0.7f, // diffuse light strength
    0.6f, // specular light strength
    32, // specular exponent
    
    &reddots_small_2, // next mesh to draw after this one    
    
    { // mesh bounding box
    -34.199959f, -31.499958f, 
    17.737177f, 23.137171f, 
    -9.898019f, -4.498019f
    },
    
    "reddots_small" // model name    
    };
    
                
/** end of reddots_small.h */
    
    
    