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_glazing.c (42696B)


      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 output from test_sg3_cube_on_cube. */
     18 
     19 #define _POSIX_C_SOURCE 200112L /* snprintf */
     20 
     21 #include "senc3d.h"
     22 #include "test_senc3d_utils.h"
     23 
     24 #include <rsys/double3.h>
     25 
     26 #include <stdio.h>
     27 
     28 #define glazing_UNSPECIFIED_PROPERTY 4294967295
     29 
     30 static const unsigned
     31 glazing_vertices_count = 223;
     32 
     33 static const unsigned
     34 glazing_triangles_count = 398;
     35 
     36 static const double
     37 glazing_vertices[223*3] = {
     38    82.6042, 60.329, 2.7625,
     39    83.9367, 60.4228, 2.51177,
     40    82.6042, 60.329, 1.24942,
     41    84.3672, 60.4531, 1.24942,
     42    84.3672, 60.4531, 4.27558,
     43    83.4786, 60.3906, 3.4916,
     44    82.6042, 60.329, 4.27558,
     45    86.1302, 60.5772, 4.27558,
     46    85.0127, 60.4986, 3.24271,
     47    85.1251, 60.5065, 2.219,
     48    86.1302, 60.5772, 1.24942,
     49    86.1302, 60.5772, 2.7625,
     50    86.1319, 60.5533, 1.24942,
     51    84.3689, 60.4292, 1.24942,
     52    82.6059, 60.3051, 1.24942,
     53    82.6059, 60.3051, 2.7625,
     54    82.6059, 60.3051, 4.27558,
     55    84.3689, 60.4292, 4.27558,
     56    86.1319, 60.5533, 4.27558,
     57    86.1319, 60.5533, 2.7625,
     58    84.7508, 60.4561, 2.59095,
     59    83.6545, 60.3789, 3.23353,
     60    83.611, 60.3758, 2.219,
     61    89.8033, 59.2472, 2.7625,
     62    89.1016, 59.2344, 1.24942,
     63    88.3998, 59.2215, 2.7625,
     64    89.1016, 59.2344, 4.27558,
     65    89.8033, 59.2472, 1.24942,
     66    88.3998, 59.2215, 1.24942,
     67    88.3998, 59.2215, 4.27558,
     68    89.8033, 59.2472, 4.27558,
     69    89.8038, 59.2232, 1.24942,
     70    89.102, 59.2104, 1.24942,
     71    88.4002, 59.1975, 1.24942,
     72    88.4002, 59.1975, 2.7625,
     73    88.4002, 59.1975, 4.27558,
     74    89.102, 59.2104, 4.27558,
     75    89.8038, 59.2232, 4.27558,
     76    89.8038, 59.2232, 2.7625,
     77    86.1302, 60.5772, 8.4875,
     78    84.7976, 60.4834, 8.73823,
     79    86.1302, 60.5772, 10.0006,
     80    84.3672, 60.4531, 10.0006,
     81    84.3672, 60.4531, 6.97442,
     82    85.2558, 60.5157, 7.7584,
     83    86.1302, 60.5772, 6.97442,
     84    82.6042, 60.329, 6.97442,
     85    83.7217, 60.4077, 8.00729,
     86    83.6093, 60.3998, 9.031,
     87    82.6042, 60.329, 10.0006,
     88    82.6042, 60.329, 8.4875,
     89    82.6059, 60.3051, 6.97442,
     90    84.3689, 60.4292, 6.97442,
     91    86.1319, 60.5533, 6.97442,
     92    82.6059, 60.3051, 8.4875,
     93    82.6059, 60.3051, 10.0006,
     94    84.3689, 60.4292, 10.0006,
     95    86.1319, 60.5533, 10.0006,
     96    86.1319, 60.5533, 8.4875,
     97    84.7993, 60.4595, 8.73823,
     98    85.2575, 60.4917, 7.7584,
     99    83.7234, 60.3837, 8.00729,
    100    83.611, 60.3758, 9.031,
    101    82.2266, 68.3242, 10.0006,
    102    82.2266, 68.3242, 6.97442,
    103    82.8171, 72.7595, 8.4875,
    104    81.636, 63.889, 8.4875,
    105    82.8171, 72.7595, 6.97442,
    106    81.636, 63.889, 6.97442,
    107    82.8171, 72.7595, 10.0006,
    108    81.636, 63.889, 10.0006,
    109    82.7933, 72.7627, 6.97442,
    110    82.2028, 68.3274, 6.97442,
    111    81.6123, 63.8921, 6.97442,
    112    82.7933, 72.7627, 8.4875,
    113    82.7933, 72.7627, 10.0006,
    114    82.2028, 68.3274, 10.0006,
    115    81.6123, 63.8921, 10.0006,
    116    81.6123, 63.8921, 8.4875,
    117    84.5273, 76.4272, 8.4875,
    118    85.6048, 76.4318, 8.93555,
    119    84.5273, 76.4272, 10.0006,
    120    87.4884, 76.44, 6.97442,
    121    86.3533, 76.4351, 8.11727,
    122    86.0078, 76.4336, 6.97442,
    123    87.4884, 76.44, 8.4875,
    124    86.0078, 76.4336, 10.0006,
    125    84.5273, 76.4272, 6.97442,
    126    85.3385, 76.4307, 7.80041,
    127    87.4884, 76.44, 10.0006,
    128    86.6106, 76.4362, 9.11589,
    129    87.4883, 76.464, 6.97442,
    130    86.0077, 76.4576, 6.97442,
    131    84.5271, 76.4512, 6.97442,
    132    87.4883, 76.464, 8.4875,
    133    87.4883, 76.464, 10.0006,
    134    86.0077, 76.4576, 10.0006,
    135    84.5271, 76.4512, 10.0006,
    136    84.5271, 76.4512, 8.4875,
    137    85.6047, 76.4558, 8.93555,
    138    86.3532, 76.4591, 8.11727,
    139    85.3384, 76.4547, 7.80041,
    140    86.6105, 76.4602, 9.11589,
    141    90.2861, 60.7753, 8.4875,
    142    90.3545, 59.7013, 8.4875,
    143    90.3203, 60.2383, 10.0006,
    144    90.3203, 60.2383, 6.97442,
    145    90.3545, 59.7013, 6.97442,
    146    90.2861, 60.7753, 6.97442,
    147    90.3545, 59.7013, 10.0006,
    148    90.2861, 60.7753, 10.0006,
    149    90.3785, 59.7028, 6.97442,
    150    90.3443, 60.2398, 6.97442,
    151    90.31, 60.7768, 6.97442,
    152    90.3785, 59.7028, 8.4875,
    153    90.3785, 59.7028, 10.0006,
    154    90.3443, 60.2398, 10.0006,
    155    90.31, 60.7768, 10.0006,
    156    90.31, 60.7768, 8.4875,
    157    84.5273, 76.4272, 2.7625,
    158    85.6048, 76.4318, 3.21055,
    159    84.5273, 76.4272, 4.27558,
    160    87.4884, 76.44, 1.24942,
    161    86.3533, 76.4351, 2.39227,
    162    86.0078, 76.4336, 1.24942,
    163    87.4884, 76.44, 2.7625,
    164    86.0078, 76.4336, 4.27558,
    165    84.5273, 76.4272, 1.24942,
    166    85.3385, 76.4307, 2.07541,
    167    87.4884, 76.44, 4.27558,
    168    86.6106, 76.4362, 3.39089,
    169    84.5271, 76.4512, 1.24942,
    170    86.0077, 76.4576, 1.24942,
    171    87.4883, 76.464, 1.24942,
    172    87.4883, 76.464, 2.7625,
    173    87.4883, 76.464, 4.27558,
    174    86.0077, 76.4576, 4.27558,
    175    84.5271, 76.4512, 4.27558,
    176    84.5271, 76.4512, 2.7625,
    177    86.4107, 76.4593, 3.21055,
    178    85.6622, 76.4561, 2.39227,
    179    86.677, 76.4605, 2.07541,
    180    85.405, 76.455, 3.39089,
    181    81.636, 63.889, 2.7625,
    182    82.2266, 68.3242, 1.24942,
    183    82.2266, 68.3242, 4.27558,
    184    82.8171, 72.7595, 2.7625,
    185    81.636, 63.889, 1.24942,
    186    82.8171, 72.7595, 1.24942,
    187    82.8171, 72.7595, 4.27558,
    188    81.636, 63.889, 4.27558,
    189    81.6123, 63.8921, 1.24942,
    190    82.2028, 68.3274, 1.24942,
    191    82.7933, 72.7627, 1.24942,
    192    82.7933, 72.7627, 2.7625,
    193    82.7933, 72.7627, 4.27558,
    194    82.2028, 68.3274, 4.27558,
    195    81.6123, 63.8921, 4.27558,
    196    81.6123, 63.8921, 2.7625,
    197    89.8033, 59.2472, 8.4875,
    198    88.3998, 59.2215, 8.4875,
    199    89.1016, 59.2344, 10.0006,
    200    89.1016, 59.2344, 6.97442,
    201    88.3998, 59.2215, 6.97442,
    202    89.8033, 59.2472, 6.97442,
    203    88.3998, 59.2215, 10.0006,
    204    89.8033, 59.2472, 10.0006,
    205    88.4002, 59.1975, 6.97442,
    206    89.102, 59.2104, 6.97442,
    207    89.8038, 59.2232, 6.97442,
    208    88.4002, 59.1975, 8.4875,
    209    88.4002, 59.1975, 10.0006,
    210    89.102, 59.2104, 10.0006,
    211    89.8038, 59.2232, 10.0006,
    212    89.8038, 59.2232, 8.4875,
    213    90.2861, 60.7753, 2.7625,
    214    90.3545, 59.7013, 2.7625,
    215    90.3203, 60.2383, 4.27558,
    216    90.3203, 60.2383, 1.24942,
    217    90.2861, 60.7753, 1.24942,
    218    90.3545, 59.7013, 1.24942,
    219    90.3545, 59.7013, 4.27558,
    220    90.2861, 60.7753, 4.27558,
    221    90.31, 60.7768, 1.24942,
    222    90.3443, 60.2398, 1.24942,
    223    90.3785, 59.7028, 1.24942,
    224    90.3785, 59.7028, 2.7625,
    225    90.3785, 59.7028, 4.27558,
    226    90.3443, 60.2398, 4.27558,
    227    90.31, 60.7768, 4.27558,
    228    90.31, 60.7768, 2.7625,
    229    89.0607, 73.002, 2.7625,
    230    89.4844, 68.832, 1.24942,
    231    89.4844, 68.832, 4.27558,
    232    89.908, 64.6621, 2.7625,
    233    89.0607, 73.002, 1.24942,
    234    89.908, 64.6621, 1.24942,
    235    89.908, 64.6621, 4.27558,
    236    89.0607, 73.002, 4.27558,
    237    89.0846, 73.0044, 1.24942,
    238    89.5083, 68.8345, 1.24942,
    239    89.9319, 64.6645, 1.24942,
    240    89.9319, 64.6645, 2.7625,
    241    89.9319, 64.6645, 4.27558,
    242    89.5083, 68.8345, 4.27558,
    243    89.0846, 73.0044, 4.27558,
    244    89.0846, 73.0044, 2.7625,
    245    89.0607, 73.002, 8.4875,
    246    89.4844, 68.832, 6.97442,
    247    89.4844, 68.832, 10.0006,
    248    89.908, 64.6621, 8.4875,
    249    89.908, 64.6621, 6.97442,
    250    89.0607, 73.002, 6.97442,
    251    89.908, 64.6621, 10.0006,
    252    89.0607, 73.002, 10.0006,
    253    89.9319, 64.6645, 6.97442,
    254    89.5083, 68.8345, 6.97442,
    255    89.0846, 73.0044, 6.97442,
    256    89.9319, 64.6645, 8.4875,
    257    89.9319, 64.6645, 10.0006,
    258    89.5083, 68.8345, 10.0006,
    259    89.0846, 73.0044, 10.0006,
    260    89.0846, 73.0044, 8.4875
    261 };
    262 
    263 static const unsigned
    264 glazing_triangles[398*3] = {
    265    0, 1, 2,
    266    2, 1, 3,
    267    4, 5, 6,
    268    7, 8, 4,
    269    3, 9, 10,
    270    11, 8, 7,
    271    1, 5, 8,
    272    8, 5, 4,
    273    6, 5, 0,
    274    10, 9, 11,
    275    1, 8, 9,
    276    3, 1, 9,
    277    0, 5, 1,
    278    9, 8, 11,
    279    3, 10, 12,
    280    13, 14, 2,
    281    3, 13, 2,
    282    3, 12, 13,
    283    0, 2, 14,
    284    15, 16, 6,
    285    0, 15, 6,
    286    0, 14, 15,
    287    4, 6, 16,
    288    17, 18, 7,
    289    4, 17, 7,
    290    4, 16, 17,
    291    11, 12, 10,
    292    19, 7, 18,
    293    11, 7, 19,
    294    11, 19, 12,
    295    17, 20, 18,
    296    19, 20, 12,
    297    12, 20, 13,
    298    16, 21, 17,
    299    13, 22, 14,
    300    15, 21, 16,
    301    17, 21, 20,
    302    14, 22, 15,
    303    20, 21, 22,
    304    13, 20, 22,
    305    22, 21, 15,
    306    18, 20, 19,
    307    23, 24, 25,
    308    23, 25, 26,
    309    23, 27, 24,
    310    24, 28, 25,
    311    25, 29, 26,
    312    26, 30, 23,
    313    24, 27, 31,
    314    32, 33, 28,
    315    24, 32, 28,
    316    24, 31, 32,
    317    25, 28, 33,
    318    34, 35, 29,
    319    25, 34, 29,
    320    25, 33, 34,
    321    26, 29, 35,
    322    36, 37, 30,
    323    26, 36, 30,
    324    26, 35, 36,
    325    23, 31, 27,
    326    38, 30, 37,
    327    23, 30, 38,
    328    23, 38, 31,
    329    34, 32, 38,
    330    36, 34, 38,
    331    32, 31, 38,
    332    34, 33, 32,
    333    36, 35, 34,
    334    38, 37, 36,
    335    39, 40, 41,
    336    41, 40, 42,
    337    43, 44, 45,
    338    46, 47, 43,
    339    42, 48, 49,
    340    50, 47, 46,
    341    40, 44, 47,
    342    47, 44, 43,
    343    45, 44, 39,
    344    49, 48, 50,
    345    40, 47, 48,
    346    42, 40, 48,
    347    39, 44, 40,
    348    48, 47, 50,
    349    43, 51, 46,
    350    52, 45, 53,
    351    43, 45, 52,
    352    43, 52, 51,
    353    50, 46, 51,
    354    54, 55, 49,
    355    50, 54, 49,
    356    50, 51, 54,
    357    56, 49, 55,
    358    42, 49, 56,
    359    42, 57, 41,
    360    42, 56, 57,
    361    39, 53, 45,
    362    58, 41, 57,
    363    41, 58, 39,
    364    39, 58, 53,
    365    57, 59, 58,
    366    56, 59, 57,
    367    53, 60, 52,
    368    52, 61, 51,
    369    55, 62, 56,
    370    51, 61, 54,
    371    61, 60, 59,
    372    52, 60, 61,
    373    58, 60, 53,
    374    54, 62, 55,
    375    62, 61, 59,
    376    62, 59, 56,
    377    59, 60, 58,
    378    54, 61, 62,
    379    63, 64, 65,
    380    66, 64, 63,
    381    64, 67, 65,
    382    66, 68, 64,
    383    65, 69, 63,
    384    63, 70, 66,
    385    64, 71, 67,
    386    72, 68, 73,
    387    64, 68, 72,
    388    64, 72, 71,
    389    65, 67, 71,
    390    74, 75, 69,
    391    65, 74, 69,
    392    65, 71, 74,
    393    76, 69, 75,
    394    63, 69, 76,
    395    63, 77, 70,
    396    63, 76, 77,
    397    66, 73, 68,
    398    78, 70, 77,
    399    70, 78, 66,
    400    66, 78, 73,
    401    74, 72, 76,
    402    76, 72, 78,
    403    74, 71, 72,
    404    72, 73, 78,
    405    76, 75, 74,
    406    78, 77, 76,
    407    79, 80, 81,
    408    82, 83, 84,
    409    85, 83, 82,
    410    81, 80, 86,
    411    87, 88, 79,
    412    89, 90, 85,
    413    84, 88, 87,
    414    86, 90, 89,
    415    79, 88, 80,
    416    90, 83, 85,
    417    80, 88, 83,
    418    83, 88, 84,
    419    90, 80, 83,
    420    86, 80, 90,
    421    84, 91, 82,
    422    92, 87, 93,
    423    84, 87, 92,
    424    84, 92, 91,
    425    85, 82, 91,
    426    94, 95, 89,
    427    85, 94, 89,
    428    85, 91, 94,
    429    96, 89, 95,
    430    86, 89, 96,
    431    86, 97, 81,
    432    86, 96, 97,
    433    79, 93, 87,
    434    98, 81, 97,
    435    81, 98, 79,
    436    79, 98, 93,
    437    97, 99, 98,
    438    92, 100, 91,
    439    91, 100, 94,
    440    96, 99, 97,
    441    98, 101, 93,
    442    94, 102, 95,
    443    93, 101, 92,
    444    95, 102, 96,
    445    99, 101, 98,
    446    94, 100, 102,
    447    100, 101, 99,
    448    92, 101, 100,
    449    100, 99, 102,
    450    102, 99, 96,
    451    103, 104, 105,
    452    103, 106, 104,
    453    106, 107, 104,
    454    103, 108, 106,
    455    104, 109, 105,
    456    105, 110, 103,
    457    106, 111, 107,
    458    112, 108, 113,
    459    106, 108, 112,
    460    106, 112, 111,
    461    104, 107, 111,
    462    114, 115, 109,
    463    104, 114, 109,
    464    104, 111, 114,
    465    116, 109, 115,
    466    105, 109, 116,
    467    105, 117, 110,
    468    105, 116, 117,
    469    103, 113, 108,
    470    118, 110, 117,
    471    110, 118, 103,
    472    103, 118, 113,
    473    114, 112, 118,
    474    116, 114, 118,
    475    114, 111, 112,
    476    112, 113, 118,
    477    116, 115, 114,
    478    118, 117, 116,
    479    119, 120, 121,
    480    122, 123, 124,
    481    125, 123, 122,
    482    121, 120, 126,
    483    127, 128, 119,
    484    129, 130, 125,
    485    124, 128, 127,
    486    126, 130, 129,
    487    119, 128, 120,
    488    130, 123, 125,
    489    120, 128, 123,
    490    123, 128, 124,
    491    130, 120, 123,
    492    126, 120, 130,
    493    124, 127, 131,
    494    132, 133, 122,
    495    124, 132, 122,
    496    124, 131, 132,
    497    125, 122, 133,
    498    134, 135, 129,
    499    125, 134, 129,
    500    125, 133, 134,
    501    126, 129, 135,
    502    136, 137, 121,
    503    126, 136, 121,
    504    126, 135, 136,
    505    119, 131, 127,
    506    138, 121, 137,
    507    119, 121, 138,
    508    119, 138, 131,
    509    134, 139, 135,
    510    131, 140, 132,
    511    138, 140, 131,
    512    135, 139, 136,
    513    133, 141, 134,
    514    137, 142, 138,
    515    132, 141, 133,
    516    136, 142, 137,
    517    134, 141, 139,
    518    142, 140, 138,
    519    139, 141, 140,
    520    140, 141, 132,
    521    142, 139, 140,
    522    136, 139, 142,
    523    143, 144, 145,
    524    145, 144, 146,
    525    143, 147, 144,
    526    144, 148, 146,
    527    146, 149, 145,
    528    145, 150, 143,
    529    144, 147, 151,
    530    152, 153, 148,
    531    144, 152, 148,
    532    144, 151, 152,
    533    146, 148, 153,
    534    154, 155, 149,
    535    146, 154, 149,
    536    146, 153, 154,
    537    145, 149, 155,
    538    156, 157, 150,
    539    145, 156, 150,
    540    145, 155, 156,
    541    143, 151, 147,
    542    158, 150, 157,
    543    143, 150, 158,
    544    143, 158, 151,
    545    156, 152, 158,
    546    154, 152, 156,
    547    152, 151, 158,
    548    154, 153, 152,
    549    156, 155, 154,
    550    158, 157, 156,
    551    159, 160, 161,
    552    159, 162, 160,
    553    162, 163, 160,
    554    159, 164, 162,
    555    160, 165, 161,
    556    161, 166, 159,
    557    162, 167, 163,
    558    168, 164, 169,
    559    162, 164, 168,
    560    162, 168, 167,
    561    160, 163, 167,
    562    170, 171, 165,
    563    160, 170, 165,
    564    160, 167, 170,
    565    172, 165, 171,
    566    161, 165, 172,
    567    161, 173, 166,
    568    161, 172, 173,
    569    159, 169, 164,
    570    174, 166, 173,
    571    166, 174, 159,
    572    159, 174, 169,
    573    172, 170, 174,
    574    170, 168, 174,
    575    170, 167, 168,
    576    168, 169, 174,
    577    172, 171, 170,
    578    174, 173, 172,
    579    175, 176, 177,
    580    175, 178, 176,
    581    175, 179, 178,
    582    178, 180, 176,
    583    176, 181, 177,
    584    177, 182, 175,
    585    178, 179, 183,
    586    184, 185, 180,
    587    178, 184, 180,
    588    178, 183, 184,
    589    176, 180, 185,
    590    186, 187, 181,
    591    176, 186, 181,
    592    176, 185, 186,
    593    177, 181, 187,
    594    188, 189, 182,
    595    177, 188, 182,
    596    177, 187, 188,
    597    175, 183, 179,
    598    190, 182, 189,
    599    175, 182, 190,
    600    175, 190, 183,
    601    188, 186, 190,
    602    186, 184, 190,
    603    184, 183, 190,
    604    186, 185, 184,
    605    188, 187, 186,
    606    190, 189, 188,
    607    191, 192, 193,
    608    193, 192, 194,
    609    191, 195, 192,
    610    192, 196, 194,
    611    194, 197, 193,
    612    193, 198, 191,
    613    192, 195, 199,
    614    200, 201, 196,
    615    192, 200, 196,
    616    192, 199, 200,
    617    194, 196, 201,
    618    202, 203, 197,
    619    194, 202, 197,
    620    194, 201, 202,
    621    193, 197, 203,
    622    204, 205, 198,
    623    193, 204, 198,
    624    193, 203, 204,
    625    191, 199, 195,
    626    206, 198, 205,
    627    191, 198, 206,
    628    191, 206, 199,
    629    204, 200, 206,
    630    202, 200, 204,
    631    200, 199, 206,
    632    202, 201, 200,
    633    204, 203, 202,
    634    206, 205, 204,
    635    207, 208, 209,
    636    209, 208, 210,
    637    208, 211, 210,
    638    207, 212, 208,
    639    210, 213, 209,
    640    209, 214, 207,
    641    208, 215, 211,
    642    216, 212, 217,
    643    208, 212, 216,
    644    208, 216, 215,
    645    210, 211, 215,
    646    218, 219, 213,
    647    210, 218, 213,
    648    210, 215, 218,
    649    220, 213, 219,
    650    209, 213, 220,
    651    209, 221, 214,
    652    209, 220, 221,
    653    207, 217, 212,
    654    222, 214, 221,
    655    214, 222, 207,
    656    207, 222, 217,
    657    220, 216, 222,
    658    218, 216, 220,
    659    218, 215, 216,
    660    216, 217, 222,
    661    220, 219, 218,
    662    222, 221, 220
    663 };
    664 
    665 static const unsigned
    666 glazing_properties[398*3] = {
    667    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    668    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    669    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    670    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    671    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    672    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    673    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    674    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    675    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    676    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    677    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    678    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    679    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    680    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    681    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    682    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    683    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    684    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    685    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    686    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    687    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    688    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    689    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    690    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    691    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    692    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    693    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    694    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    695    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    696    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    697    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    698    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    699    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    700    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    701    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    702    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    703    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    704    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    705    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    706    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    707    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    708    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    709    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    710    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    711    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    712    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    713    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    714    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    715    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    716    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    717    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    718    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    719    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    720    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    721    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    722    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    723    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    724    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    725    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    726    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    727    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    728    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    729    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    730    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    731    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    732    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    733    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    734    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    735    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    736    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    737    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    738    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    739    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    740    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    741    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    742    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    743    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    744    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    745    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    746    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    747    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    748    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    749    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    750    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    751    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    752    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    753    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    754    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    755    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    756    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    757    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    758    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    759    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    760    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    761    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    762    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    763    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    764    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    765    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    766    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    767    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    768    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    769    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    770    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    771    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    772    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    773    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    774    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    775    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    776    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    777    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    778    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    779    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    780    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    781    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    782    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    783    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    784    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    785    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    786    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    787    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    788    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    789    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    790    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    791    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    792    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    793    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    794    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    795    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    796    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    797    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    798    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    799    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    800    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    801    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    802    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    803    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    804    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    805    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    806    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    807    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    808    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    809    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    810    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    811    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    812    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    813    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    814    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    815    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    816    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    817    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    818    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    819    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    820    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    821    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    822    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    823    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    824    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    825    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    826    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    827    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    828    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    829    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    830    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    831    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    832    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    833    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    834    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    835    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    836    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    837    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    838    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    839    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    840    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    841    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    842    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    843    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    844    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    845    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    846    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    847    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    848    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    849    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    850    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    851    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    852    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    853    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    854    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    855    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    856    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    857    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    858    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    859    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    860    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    861    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    862    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    863    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    864    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    865    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    866    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    867    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    868    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    869    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    870    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    871    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    872    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    873    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    874    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    875    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    876    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    877    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    878    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    879    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    880    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    881    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    882    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    883    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    884    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    885    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    886    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    887    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    888    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    889    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    890    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    891    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    892    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    893    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    894    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    895    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    896    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    897    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    898    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    899    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    900    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    901    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    902    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    903    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    904    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    905    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    906    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    907    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    908    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    909    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    910    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    911    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    912    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    913    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    914    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    915    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    916    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    917    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    918    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    919    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    920    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    921    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    922    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    923    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    924    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    925    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    926    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    927    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    928    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    929    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    930    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    931    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    932    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    933    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    934    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    935    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    936    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    937    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    938    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    939    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    940    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    941    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    942    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    943    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    944    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    945    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    946    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    947    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    948    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    949    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    950    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    951    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    952    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    953    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    954    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    955    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    956    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    957    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    958    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    959    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    960    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    961    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    962    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    963    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    964    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    965    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    966    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    967    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    968    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    969    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    970    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    971    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    972    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    973    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    974    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    975    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    976    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    977    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    978    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    979    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    980    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    981    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    982    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    983    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    984    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    985    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    986    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    987    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    988    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    989    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    990    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    991    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    992    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    993    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    994    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    995    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    996    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    997    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    998    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
    999    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1000    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1001    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1002    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1003    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1004    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1005    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1006    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1007    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1008    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1009    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1010    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1011    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1012    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1013    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1014    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1015    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1016    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1017    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1018    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1019    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1020    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1021    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1022    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1023    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1024    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1025    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1026    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1027    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1028    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1029    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1030    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1031    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1032    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1033    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1034    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1035    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1036    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1037    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1038    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1039    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1040    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1041    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1042    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1043    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1044    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1045    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1046    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1047    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1048    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1049    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1050    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1051    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1052    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1053    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1054    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1055    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1056    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1057    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1058    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1059    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1060    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1061    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1062    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1063    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
   1064    0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY
   1065 };
   1066 
   1067 
   1068 int
   1069 main(int argc, char** argv)
   1070 {
   1071   struct mem_allocator allocator;
   1072   struct senc3d_device* dev = NULL;
   1073   struct senc3d_scene* scn = NULL;
   1074   struct context ctx = CONTEXT_NULL__;
   1075   unsigned ecount, tcount, e;
   1076   /* Triangle counts and their numbers of occurence */
   1077   const unsigned possible_trg_counts[] = { 28, 44, 398, 42 };
   1078   int possible_cpt[] = { 8, 3, 1, 1 };
   1079   const size_t sz = sizeof(possible_trg_counts)/sizeof(*possible_trg_counts);
   1080   size_t i;
   1081   (void)argc, (void)argv;
   1082   ASSERT(sz == sizeof(possible_cpt)/sizeof(*possible_cpt));
   1083 
   1084   OK(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
   1085   OK(senc3d_device_create(NULL, &allocator, SENC3D_NTHREADS_DEFAULT, 1, &dev));
   1086 
   1087   /* Degenerated triangle: duplicated vertex */
   1088   ctx.positions = glazing_vertices;
   1089   ctx.indices = glazing_triangles;
   1090   ctx.properties = glazing_properties;
   1091   OK(senc3d_scene_create(dev,
   1092     SENC3D_CONVENTION_NORMAL_FRONT | SENC3D_CONVENTION_NORMAL_INSIDE,
   1093     glazing_triangles_count, get_indices, get_media_from_properties,
   1094     glazing_vertices_count, get_position, &ctx, &scn));
   1095 
   1096   OK(senc3d_scene_get_triangles_count(scn, &tcount));
   1097   CHK(tcount == glazing_triangles_count);
   1098   OK(senc3d_scene_get_enclosure_count(scn, &ecount));
   1099   CHK(ecount == 13);
   1100   for(e = 0; e < ecount; e++) {
   1101     struct senc3d_enclosure_header header;
   1102     struct senc3d_enclosure* enc;
   1103     int found = 0;
   1104     OK(senc3d_scene_get_enclosure(scn, e, &enc));
   1105     OK(senc3d_enclosure_get_header(enc, &header));
   1106     for(i = 0; i < sz; i++) {
   1107       if(possible_trg_counts[i] == header.unique_primitives_count) {
   1108         possible_cpt[i]--;
   1109         found = 1;
   1110         break;
   1111       }
   1112     }
   1113     CHK(found);
   1114     OK(senc3d_enclosure_ref_put(enc));
   1115   }
   1116   for(i = 0; i < sz; i++) {
   1117     CHK(possible_cpt[i] == 0);
   1118   }
   1119 
   1120   OK(senc3d_scene_ref_put(scn));
   1121   OK(senc3d_device_ref_put(dev));
   1122 
   1123   check_memory_allocator(&allocator);
   1124   mem_shutdown_proxy_allocator(&allocator);
   1125   CHK(mem_allocated_size() == 0);
   1126   return 0;
   1127 }