star-enclosures-3d

Extract enclosures from 3D geometry
git clone git://git.meso-star.fr/star-enclosures-3d.git
Log | Files | Refs | README | LICENSE

test_senc3d_bad_grouping.c (26317B)


      1 /* Copyright (C) 2018-2020, 2023, 2024 |Méso|Star> (contact@meso-star.com)
      2  *
      3  * This program is free software: you can redistribute it and/or modify
      4  * it under the terms of the GNU General Public License as published by
      5  * the Free Software Foundation, either version 3 of the License, or
      6  * (at your option) any later version.
      7  *
      8  * This program is distributed in the hope that it will be useful,
      9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
     10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     11  * GNU General Public License for more details.
     12  *
     13  * You should have received a copy of the GNU General Public License
     14  * along with this program. If not, see <http://www.gnu.org/licenses/>. */
     15 
     16 /* This test has been created using the sg3_geometry_dump_as_C_code feature
     17  * of star-geometry. It uses a star-cad scene that crashed. */
     18 
     19 #include "senc3d.h"
     20 #include "test_senc3d_utils.h"
     21 
     22 #include <rsys/double3.h>
     23 
     24 #include <stdio.h>
     25 
     26 /*
     27  *    +---+  +------------+  +---+
     28  *    |   |  |            |  |   |
     29  *    |   |  |            |  |   |
     30  *    |m0 |  |   m0       |  |m0 |
     31  *    |   |  |            |  |   |
     32  *    +---+  +------------+  +---+
     33  *
     34  *
     35  *                  m0
     36  *
     37  *    +---+  +------------+  +---+
     38  *    |   |  |            |  |   |
     39  *    |   |  |            |  |   |
     40  *    |m0 |  |   m0       |  |m0 |
     41  *    |   |  |            |  |   |
     42  *    +---+  +------------+  +---+
     43  */
     44 
     45 /* Dump of star-geometry-3d 'bat_1_S_glazing'. */
     46 static const unsigned bat_1_S_glazing_vertices_count = 112;
     47 static const double bat_1_S_glazing_vertices[336] =
     48 {
     49    2.21823, 1.60156, 3.1,
     50    2, 1.60156, 4.79794,
     51    1.78177, 1.60156, 3.1,
     52    2, 1.60156, 1.40206,
     53    2.21823, 1.60156, 1.40206,
     54    1.78177, 1.60156, 1.40206,
     55    1.78177, 1.60156, 4.79794,
     56    2.21823, 1.60156, 4.79794,
     57    2.21823, 1.57756, 1.40206,
     58    2, 1.57756, 1.40206,
     59    1.78177, 1.57756, 1.40206,
     60    1.78177, 1.57756, 3.1,
     61    1.78177, 1.57756, 4.79794,
     62    2, 1.57756, 4.79794,
     63    2.21823, 1.57756, 4.79794,
     64    2.21823, 1.57756, 3.1,
     65    1.78177, 8.39844, 3.1,
     66    2, 8.39844, 4.79794,
     67    2.21823, 8.39844, 3.1,
     68    2, 8.39844, 1.40206,
     69    1.78177, 8.39844, 1.40206,
     70    2.21823, 8.39844, 1.40206,
     71    2.21823, 8.39844, 4.79794,
     72    1.78177, 8.39844, 4.79794,
     73    1.78177, 8.42244, 1.40206,
     74    2, 8.42244, 1.40206,
     75    2.21823, 8.42244, 1.40206,
     76    2.21823, 8.42244, 3.1,
     77    2.21823, 8.42244, 4.79794,
     78    2, 8.42244, 4.79794,
     79    1.78177, 8.42244, 4.79794,
     80    1.78177, 8.42244, 3.1,
     81    1.60156, 6.8614, 3.1,
     82    1.60156, 5.42628, 3.39599,
     83    1.60156, 6.8614, 4.79794,
     84    1.60156, 5, 4.79794,
     85    1.60156, 3.1386, 1.40206,
     86    1.60156, 4.39758, 2.64814,
     87    1.60156, 5, 1.40206,
     88    1.60156, 3.1386, 3.1,
     89    1.60156, 5.93822, 2.25103,
     90    1.60156, 6.8614, 1.40206,
     91    1.60156, 4.21127, 3.75906,
     92    1.60156, 3.1386, 4.79794,
     93    1.57756, 3.1386, 1.40206,
     94    1.57756, 5, 1.40206,
     95    1.57756, 6.8614, 1.40206,
     96    1.57756, 6.8614, 3.1,
     97    1.57756, 6.8614, 4.79794,
     98    1.57756, 5, 4.79794,
     99    1.57756, 3.1386, 4.79794,
    100    1.57756, 3.1386, 3.1,
    101    1.57756, 5.42628, 3.39599,
    102    1.57756, 4.39758, 2.64814,
    103    1.57756, 5.93822, 2.25103,
    104    1.57756, 4.21127, 3.75906,
    105    1.60156, 6.8614, 7.80206,
    106    1.60156, 5.42628, 9.20401,
    107    1.60156, 6.8614, 9.5,
    108    1.60156, 5, 7.80206,
    109    1.60156, 5, 11.1979,
    110    1.60156, 4.39758, 9.95186,
    111    1.60156, 3.1386, 11.1979,
    112    1.60156, 3.1386, 9.5,
    113    1.60156, 6.8614, 11.1979,
    114    1.60156, 5.93822, 10.349,
    115    1.60156, 3.1386, 7.80206,
    116    1.60156, 4.21127, 8.84094,
    117    1.57756, 6.8614, 7.80206,
    118    1.57756, 5, 7.80206,
    119    1.57756, 3.1386, 7.80206,
    120    1.57756, 6.8614, 9.5,
    121    1.57756, 6.8614, 11.1979,
    122    1.57756, 5, 11.1979,
    123    1.57756, 3.1386, 11.1979,
    124    1.57756, 3.1386, 9.5,
    125    1.57756, 5.42628, 9.20401,
    126    1.57756, 4.39758, 9.95186,
    127    1.57756, 5.93822, 10.349,
    128    1.57756, 4.21127, 8.84094,
    129    1.78177, 1.60156, 9.5,
    130    2, 1.60156, 7.80206,
    131    2.21823, 1.60156, 9.5,
    132    2, 1.60156, 11.1979,
    133    1.78177, 1.60156, 7.80206,
    134    2.21823, 1.60156, 7.80206,
    135    1.78177, 1.60156, 11.1979,
    136    2.21823, 1.60156, 11.1979,
    137    1.78177, 1.57756, 7.80206,
    138    2, 1.57756, 7.80206,
    139    2.21823, 1.57756, 7.80206,
    140    1.78177, 1.57756, 9.5,
    141    1.78177, 1.57756, 11.1979,
    142    2, 1.57756, 11.1979,
    143    2.21823, 1.57756, 11.1979,
    144    2.21823, 1.57756, 9.5,
    145    2.21823, 8.39844, 9.5,
    146    2, 8.39844, 7.80206,
    147    1.78177, 8.39844, 9.5,
    148    2, 8.39844, 11.1979,
    149    2.21823, 8.39844, 7.80206,
    150    1.78177, 8.39844, 7.80206,
    151    2.21823, 8.39844, 11.1979,
    152    1.78177, 8.39844, 11.1979,
    153    2.21823, 8.42244, 7.80206,
    154    2, 8.42244, 7.80206,
    155    1.78177, 8.42244, 7.80206,
    156    2.21823, 8.42244, 9.5,
    157    2.21823, 8.42244, 11.1979,
    158    2, 8.42244, 11.1979,
    159    1.78177, 8.42244, 11.1979,
    160    1.78177, 8.42244, 9.5
    161 };
    162 unsigned bat_1_S_glazing_triangles_count = 200;
    163 unsigned bat_1_S_glazing_triangles[600] =
    164 {
    165    0, 1, 2,
    166    2, 3, 0,
    167    3, 4, 0,
    168    2, 5, 3,
    169    2, 1, 6,
    170    0, 7, 1,
    171    3, 4, 8,
    172    9, 10, 5,
    173    3, 9, 5,
    174    3, 8, 9,
    175    2, 5, 10,
    176    11, 12, 6,
    177    2, 11, 6,
    178    2, 10, 11,
    179    1, 6, 12,
    180    13, 14, 7,
    181    1, 13, 7,
    182    1, 12, 13,
    183    0, 8, 4,
    184    15, 7, 14,
    185    7, 15, 0,
    186    0, 15, 8,
    187    15, 13, 11,
    188    11, 9, 15,
    189    9, 8, 15,
    190    11, 10, 9,
    191    11, 13, 12,
    192    15, 14, 13,
    193    16, 17, 18,
    194    18, 19, 16,
    195    19, 20, 16,
    196    18, 21, 19,
    197    18, 17, 22,
    198    16, 23, 17,
    199    19, 20, 24,
    200    25, 26, 21,
    201    19, 25, 21,
    202    19, 24, 25,
    203    18, 21, 26,
    204    27, 28, 22,
    205    18, 27, 22,
    206    18, 26, 27,
    207    17, 22, 28,
    208    29, 30, 23,
    209    17, 29, 23,
    210    17, 28, 29,
    211    16, 24, 20,
    212    31, 23, 30,
    213    23, 31, 16,
    214    16, 31, 24,
    215    31, 29, 27,
    216    27, 25, 31,
    217    25, 24, 31,
    218    27, 26, 25,
    219    27, 29, 28,
    220    31, 30, 29,
    221    32, 33, 34,
    222    34, 33, 35,
    223    36, 37, 38,
    224    39, 37, 36,
    225    38, 40, 41,
    226    35, 42, 43,
    227    41, 40, 32,
    228    43, 42, 39,
    229    37, 40, 38,
    230    33, 40, 37,
    231    35, 33, 42,
    232    32, 40, 33,
    233    33, 37, 42,
    234    42, 37, 39,
    235    38, 36, 44,
    236    45, 46, 41,
    237    38, 45, 41,
    238    38, 44, 45,
    239    32, 41, 46,
    240    47, 48, 34,
    241    32, 47, 34,
    242    32, 46, 47,
    243    35, 34, 48,
    244    49, 50, 43,
    245    35, 49, 43,
    246    35, 48, 49,
    247    39, 44, 36,
    248    51, 43, 50,
    249    43, 51, 39,
    250    39, 51, 44,
    251    47, 52, 48,
    252    48, 52, 49,
    253    44, 53, 45,
    254    51, 53, 44,
    255    45, 54, 46,
    256    49, 55, 50,
    257    46, 54, 47,
    258    50, 55, 51,
    259    53, 54, 45,
    260    52, 54, 53,
    261    49, 52, 55,
    262    47, 54, 52,
    263    52, 53, 55,
    264    55, 53, 51,
    265    56, 57, 58,
    266    59, 57, 56,
    267    60, 61, 62,
    268    62, 61, 63,
    269    64, 65, 60,
    270    66, 67, 59,
    271    58, 65, 64,
    272    63, 67, 66,
    273    60, 65, 61,
    274    61, 65, 57,
    275    67, 57, 59,
    276    57, 65, 58,
    277    67, 61, 57,
    278    63, 61, 67,
    279    59, 68, 56,
    280    69, 66, 70,
    281    59, 66, 69,
    282    59, 69, 68,
    283    58, 56, 68,
    284    71, 72, 64,
    285    58, 71, 64,
    286    58, 68, 71,
    287    64, 72, 73,
    288    64, 73, 60,
    289    60, 74, 62,
    290    73, 74, 60,
    291    63, 70, 66,
    292    75, 62, 74,
    293    63, 62, 75,
    294    63, 75, 70,
    295    68, 76, 71,
    296    69, 76, 68,
    297    73, 77, 74,
    298    74, 77, 75,
    299    72, 78, 73,
    300    70, 79, 69,
    301    71, 78, 72,
    302    75, 79, 70,
    303    73, 78, 77,
    304    77, 78, 76,
    305    79, 76, 69,
    306    76, 78, 71,
    307    79, 77, 76,
    308    75, 77, 79,
    309    80, 81, 82,
    310    82, 83, 80,
    311    80, 84, 81,
    312    81, 85, 82,
    313    80, 83, 86,
    314    82, 87, 83,
    315    81, 88, 84,
    316    89, 85, 90,
    317    81, 85, 89,
    318    81, 89, 88,
    319    80, 84, 88,
    320    91, 92, 86,
    321    80, 91, 86,
    322    80, 88, 91,
    323    86, 92, 93,
    324    86, 93, 83,
    325    83, 94, 87,
    326    93, 94, 83,
    327    82, 90, 85,
    328    95, 87, 94,
    329    82, 87, 95,
    330    82, 95, 90,
    331    91, 89, 95,
    332    95, 93, 91,
    333    91, 88, 89,
    334    89, 90, 95,
    335    91, 93, 92,
    336    95, 94, 93,
    337    96, 97, 98,
    338    98, 99, 96,
    339    96, 100, 97,
    340    97, 101, 98,
    341    96, 99, 102,
    342    98, 103, 99,
    343    97, 104, 100,
    344    105, 101, 106,
    345    97, 101, 105,
    346    97, 105, 104,
    347    96, 100, 104,
    348    107, 108, 102,
    349    96, 107, 102,
    350    96, 104, 107,
    351    102, 108, 109,
    352    102, 109, 99,
    353    99, 110, 103,
    354    109, 110, 99,
    355    98, 106, 101,
    356    111, 103, 110,
    357    98, 103, 111,
    358    98, 111, 106,
    359    107, 105, 111,
    360    111, 109, 107,
    361    107, 104, 105,
    362    105, 106, 111,
    363    107, 109, 108,
    364    111, 110, 109
    365 };
    366 unsigned bat_1_S_glazing_properties[600] =
    367 {
    368    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    369    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    370    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    371    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    372    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    373    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    374    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    375    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    376    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    377    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    378    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    379    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    380    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    381    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    382    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    383    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    384    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    385    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    386    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    387    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    388    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    389    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    390    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    391    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    392    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    393    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    394    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    395    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    396    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    397    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    398    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    399    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    400    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    401    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    402    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    403    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    404    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    405    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    406    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    407    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    408    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    409    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    410    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    411    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    412    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    413    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    414    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    415    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    416    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    417    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    418    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    419    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    420    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    421    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    422    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    423    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    424    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    425    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    426    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    427    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    428    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    429    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    430    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    431    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    432    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    433    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    434    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    435    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    436    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    437    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    438    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    439    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    440    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    441    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    442    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    443    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    444    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    445    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    446    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    447    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    448    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    449    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    450    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    451    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    452    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    453    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    454    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    455    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    456    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    457    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    458    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    459    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    460    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    461    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    462    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    463    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    464    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    465    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    466    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    467    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    468    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    469    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    470    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    471    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    472    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    473    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    474    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    475    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    476    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    477    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    478    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    479    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    480    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    481    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    482    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    483    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    484    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    485    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    486    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    487    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    488    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    489    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    490    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    491    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    492    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    493    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    494    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    495    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    496    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    497    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    498    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    499    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    500    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    501    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    502    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    503    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    504    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    505    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    506    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    507    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    508    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    509    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    510    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    511    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    512    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    513    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    514    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    515    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    516    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    517    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    518    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    519    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    520    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    521    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    522    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    523    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    524    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    525    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    526    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    527    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    528    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    529    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    530    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    531    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    532    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    533    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    534    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    535    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    536    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    537    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    538    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    539    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    540    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    541    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    542    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    543    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    544    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    545    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    546    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    547    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    548    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    549    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    550    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    551    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    552    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    553    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    554    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    555    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    556    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    557    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    558    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    559    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    560    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    561    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    562    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    563    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    564    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    565    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    566    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM,
    567    SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM, SENC3D_UNSPECIFIED_MEDIUM
    568 };
    569 
    570 int
    571 main(int argc, char** argv)
    572 {
    573   struct mem_allocator allocator;
    574   struct senc3d_device* dev = NULL;
    575   struct senc3d_scene* scn = NULL;
    576   struct context ctx = CONTEXT_NULL__;
    577   unsigned count, e;
    578   (void)argc, (void)argv;
    579 
    580   OK(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
    581   OK(senc3d_device_create(NULL, &allocator, SENC3D_NTHREADS_DEFAULT, 1, &dev));
    582 
    583   ctx.positions = bat_1_S_glazing_vertices;
    584   ctx.indices = bat_1_S_glazing_triangles;
    585   ctx.properties = bat_1_S_glazing_properties;
    586   OK(senc3d_scene_create(dev,
    587     SENC3D_CONVENTION_NORMAL_BACK | SENC3D_CONVENTION_NORMAL_OUTSIDE,
    588     bat_1_S_glazing_triangles_count, get_indices, get_media_from_properties,
    589     bat_1_S_glazing_vertices_count, get_position, &ctx, &scn));
    590 
    591   OK(senc3d_scene_get_vertices_count(scn, &count));
    592   CHK(count == bat_1_S_glazing_vertices_count);
    593 
    594   OK(senc3d_scene_get_triangles_count(scn, &count));
    595   CHK(count == bat_1_S_glazing_triangles_count);
    596 
    597   OK(senc3d_scene_get_enclosure_count(scn, &count));
    598   CHK(count == 7);
    599   FOR_EACH(e, 0, count) {
    600     struct senc3d_enclosure* enclosure;
    601     struct senc3d_enclosure_header header;
    602     unsigned m;
    603     char name[128]; (void)name;
    604     OK(senc3d_scene_get_enclosure(scn, e, &enclosure));
    605     OK(senc3d_enclosure_get_header(enclosure, &header));
    606     CHK(header.enclosed_media_count == 1);
    607     OK(senc3d_enclosure_get_medium(enclosure, 0, &m));
    608     CHK(m == SENC3D_UNSPECIFIED_MEDIUM);
    609     OK(senc3d_enclosure_ref_put(enclosure));
    610   }
    611 
    612   OK(senc3d_scene_ref_put(scn));
    613   OK(senc3d_device_ref_put(dev));
    614 
    615   check_memory_allocator(&allocator);
    616   mem_shutdown_proxy_allocator(&allocator);
    617   CHK(mem_allocated_size() == 0);
    618   return 0;
    619 }