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_some_triangles.c (41510B)


      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_some_triangles.
     18  * This test is similar to test_senc3d_many_triangles that creates a huge
     19  * geometry by program. */
     20 
     21 #include "senc3d.h"
     22 #include "test_senc3d_utils.h"
     23 
     24 #include <rsys/double3.h>
     25 
     26 /* Dump of star-geometry 'some_triangles'. */
     27 static const unsigned some_triangles_vertices_count = 536;
     28 static const double some_triangles_vertices[1608] =
     29 {
     30  1, 0, -1,
     31  1, 0, -0.8,
     32  1, 0, -0.6,
     33  1, 0, -0.4,
     34  1, 0, -0.2,
     35  1, 0, -5.55112e-17,
     36  1, 0, 0.2,
     37  1, 0, 0.4,
     38  1, 0, 0.6,
     39  1, 0, 0.8,
     40  1, 0, 1,
     41  0.866025, 0.5, -1,
     42  0.866025, 0.5, -0.8,
     43  0.866025, 0.5, -0.6,
     44  0.866025, 0.5, -0.4,
     45  0.866025, 0.5, -0.2,
     46  0.866025, 0.5, -5.55112e-17,
     47  0.866025, 0.5, 0.2,
     48  0.866025, 0.5, 0.4,
     49  0.866025, 0.5, 0.6,
     50  0.866025, 0.5, 0.8,
     51  0.866025, 0.5, 1,
     52  0.5, 0.866025, -1,
     53  0.5, 0.866025, -0.8,
     54  0.5, 0.866025, -0.6,
     55  0.5, 0.866025, -0.4,
     56  0.5, 0.866025, -0.2,
     57  0.5, 0.866025, -5.55112e-17,
     58  0.5, 0.866025, 0.2,
     59  0.5, 0.866025, 0.4,
     60  0.5, 0.866025, 0.6,
     61  0.5, 0.866025, 0.8,
     62  0.5, 0.866025, 1,
     63  6.12323e-17, 1, -1,
     64  6.12323e-17, 1, -0.8,
     65  6.12323e-17, 1, -0.6,
     66  6.12323e-17, 1, -0.4,
     67  6.12323e-17, 1, -0.2,
     68  6.12323e-17, 1, -5.55112e-17,
     69  6.12323e-17, 1, 0.2,
     70  6.12323e-17, 1, 0.4,
     71  6.12323e-17, 1, 0.6,
     72  6.12323e-17, 1, 0.8,
     73  6.12323e-17, 1, 1,
     74  -0.5, 0.866025, -1,
     75  -0.5, 0.866025, -0.8,
     76  -0.5, 0.866025, -0.6,
     77  -0.5, 0.866025, -0.4,
     78  -0.5, 0.866025, -0.2,
     79  -0.5, 0.866025, -5.55112e-17,
     80  -0.5, 0.866025, 0.2,
     81  -0.5, 0.866025, 0.4,
     82  -0.5, 0.866025, 0.6,
     83  -0.5, 0.866025, 0.8,
     84  -0.5, 0.866025, 1,
     85  -0.866025, 0.5, -1,
     86  -0.866025, 0.5, -0.8,
     87  -0.866025, 0.5, -0.6,
     88  -0.866025, 0.5, -0.4,
     89  -0.866025, 0.5, -0.2,
     90  -0.866025, 0.5, -5.55112e-17,
     91  -0.866025, 0.5, 0.2,
     92  -0.866025, 0.5, 0.4,
     93  -0.866025, 0.5, 0.6,
     94  -0.866025, 0.5, 0.8,
     95  -0.866025, 0.5, 1,
     96  -1, 1.22465e-16, -1,
     97  -1, 1.22465e-16, -0.8,
     98  -1, 1.22465e-16, -0.6,
     99  -1, 1.22465e-16, -0.4,
    100  -1, 1.22465e-16, -0.2,
    101  -1, 1.22465e-16, -5.55112e-17,
    102  -1, 1.22465e-16, 0.2,
    103  -1, 1.22465e-16, 0.4,
    104  -1, 1.22465e-16, 0.6,
    105  -1, 1.22465e-16, 0.8,
    106  -1, 1.22465e-16, 1,
    107  -0.866025, -0.5, -1,
    108  -0.866025, -0.5, -0.8,
    109  -0.866025, -0.5, -0.6,
    110  -0.866025, -0.5, -0.4,
    111  -0.866025, -0.5, -0.2,
    112  -0.866025, -0.5, -5.55112e-17,
    113  -0.866025, -0.5, 0.2,
    114  -0.866025, -0.5, 0.4,
    115  -0.866025, -0.5, 0.6,
    116  -0.866025, -0.5, 0.8,
    117  -0.866025, -0.5, 1,
    118  -0.5, -0.866025, -1,
    119  -0.5, -0.866025, -0.8,
    120  -0.5, -0.866025, -0.6,
    121  -0.5, -0.866025, -0.4,
    122  -0.5, -0.866025, -0.2,
    123  -0.5, -0.866025, -5.55112e-17,
    124  -0.5, -0.866025, 0.2,
    125  -0.5, -0.866025, 0.4,
    126  -0.5, -0.866025, 0.6,
    127  -0.5, -0.866025, 0.8,
    128  -0.5, -0.866025, 1,
    129  -1.83697e-16, -1, -1,
    130  -1.83697e-16, -1, -0.8,
    131  -1.83697e-16, -1, -0.6,
    132  -1.83697e-16, -1, -0.4,
    133  -1.83697e-16, -1, -0.2,
    134  -1.83697e-16, -1, -5.55112e-17,
    135  -1.83697e-16, -1, 0.2,
    136  -1.83697e-16, -1, 0.4,
    137  -1.83697e-16, -1, 0.6,
    138  -1.83697e-16, -1, 0.8,
    139  -1.83697e-16, -1, 1,
    140  0.5, -0.866025, -1,
    141  0.5, -0.866025, -0.8,
    142  0.5, -0.866025, -0.6,
    143  0.5, -0.866025, -0.4,
    144  0.5, -0.866025, -0.2,
    145  0.5, -0.866025, -5.55112e-17,
    146  0.5, -0.866025, 0.2,
    147  0.5, -0.866025, 0.4,
    148  0.5, -0.866025, 0.6,
    149  0.5, -0.866025, 0.8,
    150  0.5, -0.866025, 1,
    151  0.866025, -0.5, -1,
    152  0.866025, -0.5, -0.8,
    153  0.866025, -0.5, -0.6,
    154  0.866025, -0.5, -0.4,
    155  0.866025, -0.5, -0.2,
    156  0.866025, -0.5, -5.55112e-17,
    157  0.866025, -0.5, 0.2,
    158  0.866025, -0.5, 0.4,
    159  0.866025, -0.5, 0.6,
    160  0.866025, -0.5, 0.8,
    161  0.866025, -0.5, 1,
    162  0, 0, -1,
    163  0, 0, 1,
    164  1, 0, 9,
    165  1, 0, 9.2,
    166  1, 0, 9.4,
    167  1, 0, 9.6,
    168  1, 0, 9.8,
    169  1, 0, 10,
    170  1, 0, 10.2,
    171  1, 0, 10.4,
    172  1, 0, 10.6,
    173  1, 0, 10.8,
    174  1, 0, 11,
    175  0.866025, 0.5, 9,
    176  0.866025, 0.5, 9.2,
    177  0.866025, 0.5, 9.4,
    178  0.866025, 0.5, 9.6,
    179  0.866025, 0.5, 9.8,
    180  0.866025, 0.5, 10,
    181  0.866025, 0.5, 10.2,
    182  0.866025, 0.5, 10.4,
    183  0.866025, 0.5, 10.6,
    184  0.866025, 0.5, 10.8,
    185  0.866025, 0.5, 11,
    186  0.5, 0.866025, 9,
    187  0.5, 0.866025, 9.2,
    188  0.5, 0.866025, 9.4,
    189  0.5, 0.866025, 9.6,
    190  0.5, 0.866025, 9.8,
    191  0.5, 0.866025, 10,
    192  0.5, 0.866025, 10.2,
    193  0.5, 0.866025, 10.4,
    194  0.5, 0.866025, 10.6,
    195  0.5, 0.866025, 10.8,
    196  0.5, 0.866025, 11,
    197  6.12323e-17, 1, 9,
    198  6.12323e-17, 1, 9.2,
    199  6.12323e-17, 1, 9.4,
    200  6.12323e-17, 1, 9.6,
    201  6.12323e-17, 1, 9.8,
    202  6.12323e-17, 1, 10,
    203  6.12323e-17, 1, 10.2,
    204  6.12323e-17, 1, 10.4,
    205  6.12323e-17, 1, 10.6,
    206  6.12323e-17, 1, 10.8,
    207  6.12323e-17, 1, 11,
    208  -0.5, 0.866025, 9,
    209  -0.5, 0.866025, 9.2,
    210  -0.5, 0.866025, 9.4,
    211  -0.5, 0.866025, 9.6,
    212  -0.5, 0.866025, 9.8,
    213  -0.5, 0.866025, 10,
    214  -0.5, 0.866025, 10.2,
    215  -0.5, 0.866025, 10.4,
    216  -0.5, 0.866025, 10.6,
    217  -0.5, 0.866025, 10.8,
    218  -0.5, 0.866025, 11,
    219  -0.866025, 0.5, 9,
    220  -0.866025, 0.5, 9.2,
    221  -0.866025, 0.5, 9.4,
    222  -0.866025, 0.5, 9.6,
    223  -0.866025, 0.5, 9.8,
    224  -0.866025, 0.5, 10,
    225  -0.866025, 0.5, 10.2,
    226  -0.866025, 0.5, 10.4,
    227  -0.866025, 0.5, 10.6,
    228  -0.866025, 0.5, 10.8,
    229  -0.866025, 0.5, 11,
    230  -1, 1.22465e-16, 9,
    231  -1, 1.22465e-16, 9.2,
    232  -1, 1.22465e-16, 9.4,
    233  -1, 1.22465e-16, 9.6,
    234  -1, 1.22465e-16, 9.8,
    235  -1, 1.22465e-16, 10,
    236  -1, 1.22465e-16, 10.2,
    237  -1, 1.22465e-16, 10.4,
    238  -1, 1.22465e-16, 10.6,
    239  -1, 1.22465e-16, 10.8,
    240  -1, 1.22465e-16, 11,
    241  -0.866025, -0.5, 9,
    242  -0.866025, -0.5, 9.2,
    243  -0.866025, -0.5, 9.4,
    244  -0.866025, -0.5, 9.6,
    245  -0.866025, -0.5, 9.8,
    246  -0.866025, -0.5, 10,
    247  -0.866025, -0.5, 10.2,
    248  -0.866025, -0.5, 10.4,
    249  -0.866025, -0.5, 10.6,
    250  -0.866025, -0.5, 10.8,
    251  -0.866025, -0.5, 11,
    252  -0.5, -0.866025, 9,
    253  -0.5, -0.866025, 9.2,
    254  -0.5, -0.866025, 9.4,
    255  -0.5, -0.866025, 9.6,
    256  -0.5, -0.866025, 9.8,
    257  -0.5, -0.866025, 10,
    258  -0.5, -0.866025, 10.2,
    259  -0.5, -0.866025, 10.4,
    260  -0.5, -0.866025, 10.6,
    261  -0.5, -0.866025, 10.8,
    262  -0.5, -0.866025, 11,
    263  -1.83697e-16, -1, 9,
    264  -1.83697e-16, -1, 9.2,
    265  -1.83697e-16, -1, 9.4,
    266  -1.83697e-16, -1, 9.6,
    267  -1.83697e-16, -1, 9.8,
    268  -1.83697e-16, -1, 10,
    269  -1.83697e-16, -1, 10.2,
    270  -1.83697e-16, -1, 10.4,
    271  -1.83697e-16, -1, 10.6,
    272  -1.83697e-16, -1, 10.8,
    273  -1.83697e-16, -1, 11,
    274  0.5, -0.866025, 9,
    275  0.5, -0.866025, 9.2,
    276  0.5, -0.866025, 9.4,
    277  0.5, -0.866025, 9.6,
    278  0.5, -0.866025, 9.8,
    279  0.5, -0.866025, 10,
    280  0.5, -0.866025, 10.2,
    281  0.5, -0.866025, 10.4,
    282  0.5, -0.866025, 10.6,
    283  0.5, -0.866025, 10.8,
    284  0.5, -0.866025, 11,
    285  0.866025, -0.5, 9,
    286  0.866025, -0.5, 9.2,
    287  0.866025, -0.5, 9.4,
    288  0.866025, -0.5, 9.6,
    289  0.866025, -0.5, 9.8,
    290  0.866025, -0.5, 10,
    291  0.866025, -0.5, 10.2,
    292  0.866025, -0.5, 10.4,
    293  0.866025, -0.5, 10.6,
    294  0.866025, -0.5, 10.8,
    295  0.866025, -0.5, 11,
    296  0, 0, 9,
    297  0, 0, 11,
    298  1, 0, 19,
    299  1, 0, 19.2,
    300  1, 0, 19.4,
    301  1, 0, 19.6,
    302  1, 0, 19.8,
    303  1, 0, 20,
    304  1, 0, 20.2,
    305  1, 0, 20.4,
    306  1, 0, 20.6,
    307  1, 0, 20.8,
    308  1, 0, 21,
    309  0.866025, 0.5, 19,
    310  0.866025, 0.5, 19.2,
    311  0.866025, 0.5, 19.4,
    312  0.866025, 0.5, 19.6,
    313  0.866025, 0.5, 19.8,
    314  0.866025, 0.5, 20,
    315  0.866025, 0.5, 20.2,
    316  0.866025, 0.5, 20.4,
    317  0.866025, 0.5, 20.6,
    318  0.866025, 0.5, 20.8,
    319  0.866025, 0.5, 21,
    320  0.5, 0.866025, 19,
    321  0.5, 0.866025, 19.2,
    322  0.5, 0.866025, 19.4,
    323  0.5, 0.866025, 19.6,
    324  0.5, 0.866025, 19.8,
    325  0.5, 0.866025, 20,
    326  0.5, 0.866025, 20.2,
    327  0.5, 0.866025, 20.4,
    328  0.5, 0.866025, 20.6,
    329  0.5, 0.866025, 20.8,
    330  0.5, 0.866025, 21,
    331  6.12323e-17, 1, 19,
    332  6.12323e-17, 1, 19.2,
    333  6.12323e-17, 1, 19.4,
    334  6.12323e-17, 1, 19.6,
    335  6.12323e-17, 1, 19.8,
    336  6.12323e-17, 1, 20,
    337  6.12323e-17, 1, 20.2,
    338  6.12323e-17, 1, 20.4,
    339  6.12323e-17, 1, 20.6,
    340  6.12323e-17, 1, 20.8,
    341  6.12323e-17, 1, 21,
    342  -0.5, 0.866025, 19,
    343  -0.5, 0.866025, 19.2,
    344  -0.5, 0.866025, 19.4,
    345  -0.5, 0.866025, 19.6,
    346  -0.5, 0.866025, 19.8,
    347  -0.5, 0.866025, 20,
    348  -0.5, 0.866025, 20.2,
    349  -0.5, 0.866025, 20.4,
    350  -0.5, 0.866025, 20.6,
    351  -0.5, 0.866025, 20.8,
    352  -0.5, 0.866025, 21,
    353  -0.866025, 0.5, 19,
    354  -0.866025, 0.5, 19.2,
    355  -0.866025, 0.5, 19.4,
    356  -0.866025, 0.5, 19.6,
    357  -0.866025, 0.5, 19.8,
    358  -0.866025, 0.5, 20,
    359  -0.866025, 0.5, 20.2,
    360  -0.866025, 0.5, 20.4,
    361  -0.866025, 0.5, 20.6,
    362  -0.866025, 0.5, 20.8,
    363  -0.866025, 0.5, 21,
    364  -1, 1.22465e-16, 19,
    365  -1, 1.22465e-16, 19.2,
    366  -1, 1.22465e-16, 19.4,
    367  -1, 1.22465e-16, 19.6,
    368  -1, 1.22465e-16, 19.8,
    369  -1, 1.22465e-16, 20,
    370  -1, 1.22465e-16, 20.2,
    371  -1, 1.22465e-16, 20.4,
    372  -1, 1.22465e-16, 20.6,
    373  -1, 1.22465e-16, 20.8,
    374  -1, 1.22465e-16, 21,
    375  -0.866025, -0.5, 19,
    376  -0.866025, -0.5, 19.2,
    377  -0.866025, -0.5, 19.4,
    378  -0.866025, -0.5, 19.6,
    379  -0.866025, -0.5, 19.8,
    380  -0.866025, -0.5, 20,
    381  -0.866025, -0.5, 20.2,
    382  -0.866025, -0.5, 20.4,
    383  -0.866025, -0.5, 20.6,
    384  -0.866025, -0.5, 20.8,
    385  -0.866025, -0.5, 21,
    386  -0.5, -0.866025, 19,
    387  -0.5, -0.866025, 19.2,
    388  -0.5, -0.866025, 19.4,
    389  -0.5, -0.866025, 19.6,
    390  -0.5, -0.866025, 19.8,
    391  -0.5, -0.866025, 20,
    392  -0.5, -0.866025, 20.2,
    393  -0.5, -0.866025, 20.4,
    394  -0.5, -0.866025, 20.6,
    395  -0.5, -0.866025, 20.8,
    396  -0.5, -0.866025, 21,
    397  -1.83697e-16, -1, 19,
    398  -1.83697e-16, -1, 19.2,
    399  -1.83697e-16, -1, 19.4,
    400  -1.83697e-16, -1, 19.6,
    401  -1.83697e-16, -1, 19.8,
    402  -1.83697e-16, -1, 20,
    403  -1.83697e-16, -1, 20.2,
    404  -1.83697e-16, -1, 20.4,
    405  -1.83697e-16, -1, 20.6,
    406  -1.83697e-16, -1, 20.8,
    407  -1.83697e-16, -1, 21,
    408  0.5, -0.866025, 19,
    409  0.5, -0.866025, 19.2,
    410  0.5, -0.866025, 19.4,
    411  0.5, -0.866025, 19.6,
    412  0.5, -0.866025, 19.8,
    413  0.5, -0.866025, 20,
    414  0.5, -0.866025, 20.2,
    415  0.5, -0.866025, 20.4,
    416  0.5, -0.866025, 20.6,
    417  0.5, -0.866025, 20.8,
    418  0.5, -0.866025, 21,
    419  0.866025, -0.5, 19,
    420  0.866025, -0.5, 19.2,
    421  0.866025, -0.5, 19.4,
    422  0.866025, -0.5, 19.6,
    423  0.866025, -0.5, 19.8,
    424  0.866025, -0.5, 20,
    425  0.866025, -0.5, 20.2,
    426  0.866025, -0.5, 20.4,
    427  0.866025, -0.5, 20.6,
    428  0.866025, -0.5, 20.8,
    429  0.866025, -0.5, 21,
    430  0, 0, 19,
    431  0, 0, 21,
    432  1, 0, 29,
    433  1, 0, 29.2,
    434  1, 0, 29.4,
    435  1, 0, 29.6,
    436  1, 0, 29.8,
    437  1, 0, 30,
    438  1, 0, 30.2,
    439  1, 0, 30.4,
    440  1, 0, 30.6,
    441  1, 0, 30.8,
    442  1, 0, 31,
    443  0.866025, 0.5, 29,
    444  0.866025, 0.5, 29.2,
    445  0.866025, 0.5, 29.4,
    446  0.866025, 0.5, 29.6,
    447  0.866025, 0.5, 29.8,
    448  0.866025, 0.5, 30,
    449  0.866025, 0.5, 30.2,
    450  0.866025, 0.5, 30.4,
    451  0.866025, 0.5, 30.6,
    452  0.866025, 0.5, 30.8,
    453  0.866025, 0.5, 31,
    454  0.5, 0.866025, 29,
    455  0.5, 0.866025, 29.2,
    456  0.5, 0.866025, 29.4,
    457  0.5, 0.866025, 29.6,
    458  0.5, 0.866025, 29.8,
    459  0.5, 0.866025, 30,
    460  0.5, 0.866025, 30.2,
    461  0.5, 0.866025, 30.4,
    462  0.5, 0.866025, 30.6,
    463  0.5, 0.866025, 30.8,
    464  0.5, 0.866025, 31,
    465  6.12323e-17, 1, 29,
    466  6.12323e-17, 1, 29.2,
    467  6.12323e-17, 1, 29.4,
    468  6.12323e-17, 1, 29.6,
    469  6.12323e-17, 1, 29.8,
    470  6.12323e-17, 1, 30,
    471  6.12323e-17, 1, 30.2,
    472  6.12323e-17, 1, 30.4,
    473  6.12323e-17, 1, 30.6,
    474  6.12323e-17, 1, 30.8,
    475  6.12323e-17, 1, 31,
    476  -0.5, 0.866025, 29,
    477  -0.5, 0.866025, 29.2,
    478  -0.5, 0.866025, 29.4,
    479  -0.5, 0.866025, 29.6,
    480  -0.5, 0.866025, 29.8,
    481  -0.5, 0.866025, 30,
    482  -0.5, 0.866025, 30.2,
    483  -0.5, 0.866025, 30.4,
    484  -0.5, 0.866025, 30.6,
    485  -0.5, 0.866025, 30.8,
    486  -0.5, 0.866025, 31,
    487  -0.866025, 0.5, 29,
    488  -0.866025, 0.5, 29.2,
    489  -0.866025, 0.5, 29.4,
    490  -0.866025, 0.5, 29.6,
    491  -0.866025, 0.5, 29.8,
    492  -0.866025, 0.5, 30,
    493  -0.866025, 0.5, 30.2,
    494  -0.866025, 0.5, 30.4,
    495  -0.866025, 0.5, 30.6,
    496  -0.866025, 0.5, 30.8,
    497  -0.866025, 0.5, 31,
    498  -1, 1.22465e-16, 29,
    499  -1, 1.22465e-16, 29.2,
    500  -1, 1.22465e-16, 29.4,
    501  -1, 1.22465e-16, 29.6,
    502  -1, 1.22465e-16, 29.8,
    503  -1, 1.22465e-16, 30,
    504  -1, 1.22465e-16, 30.2,
    505  -1, 1.22465e-16, 30.4,
    506  -1, 1.22465e-16, 30.6,
    507  -1, 1.22465e-16, 30.8,
    508  -1, 1.22465e-16, 31,
    509  -0.866025, -0.5, 29,
    510  -0.866025, -0.5, 29.2,
    511  -0.866025, -0.5, 29.4,
    512  -0.866025, -0.5, 29.6,
    513  -0.866025, -0.5, 29.8,
    514  -0.866025, -0.5, 30,
    515  -0.866025, -0.5, 30.2,
    516  -0.866025, -0.5, 30.4,
    517  -0.866025, -0.5, 30.6,
    518  -0.866025, -0.5, 30.8,
    519  -0.866025, -0.5, 31,
    520  -0.5, -0.866025, 29,
    521  -0.5, -0.866025, 29.2,
    522  -0.5, -0.866025, 29.4,
    523  -0.5, -0.866025, 29.6,
    524  -0.5, -0.866025, 29.8,
    525  -0.5, -0.866025, 30,
    526  -0.5, -0.866025, 30.2,
    527  -0.5, -0.866025, 30.4,
    528  -0.5, -0.866025, 30.6,
    529  -0.5, -0.866025, 30.8,
    530  -0.5, -0.866025, 31,
    531  -1.83697e-16, -1, 29,
    532  -1.83697e-16, -1, 29.2,
    533  -1.83697e-16, -1, 29.4,
    534  -1.83697e-16, -1, 29.6,
    535  -1.83697e-16, -1, 29.8,
    536  -1.83697e-16, -1, 30,
    537  -1.83697e-16, -1, 30.2,
    538  -1.83697e-16, -1, 30.4,
    539  -1.83697e-16, -1, 30.6,
    540  -1.83697e-16, -1, 30.8,
    541  -1.83697e-16, -1, 31,
    542  0.5, -0.866025, 29,
    543  0.5, -0.866025, 29.2,
    544  0.5, -0.866025, 29.4,
    545  0.5, -0.866025, 29.6,
    546  0.5, -0.866025, 29.8,
    547  0.5, -0.866025, 30,
    548  0.5, -0.866025, 30.2,
    549  0.5, -0.866025, 30.4,
    550  0.5, -0.866025, 30.6,
    551  0.5, -0.866025, 30.8,
    552  0.5, -0.866025, 31,
    553  0.866025, -0.5, 29,
    554  0.866025, -0.5, 29.2,
    555  0.866025, -0.5, 29.4,
    556  0.866025, -0.5, 29.6,
    557  0.866025, -0.5, 29.8,
    558  0.866025, -0.5, 30,
    559  0.866025, -0.5, 30.2,
    560  0.866025, -0.5, 30.4,
    561  0.866025, -0.5, 30.6,
    562  0.866025, -0.5, 30.8,
    563  0.866025, -0.5, 31,
    564  0, 0, 29,
    565  0, 0, 31
    566 };
    567 static const unsigned some_triangles_triangles_count = 1056;
    568 static const unsigned some_triangles_triangles[3168] =
    569 {
    570  0, 1, 11,
    571  11, 1, 12,
    572  1, 2, 12,
    573  12, 2, 13,
    574  2, 3, 13,
    575  13, 3, 14,
    576  3, 4, 14,
    577  14, 4, 15,
    578  4, 5, 15,
    579  15, 5, 16,
    580  5, 6, 16,
    581  16, 6, 17,
    582  6, 7, 17,
    583  17, 7, 18,
    584  7, 8, 18,
    585  18, 8, 19,
    586  8, 9, 19,
    587  19, 9, 20,
    588  9, 10, 20,
    589  20, 10, 21,
    590  11, 12, 22,
    591  22, 12, 23,
    592  12, 13, 23,
    593  23, 13, 24,
    594  13, 14, 24,
    595  24, 14, 25,
    596  14, 15, 25,
    597  25, 15, 26,
    598  15, 16, 26,
    599  26, 16, 27,
    600  16, 17, 27,
    601  27, 17, 28,
    602  17, 18, 28,
    603  28, 18, 29,
    604  18, 19, 29,
    605  29, 19, 30,
    606  19, 20, 30,
    607  30, 20, 31,
    608  20, 21, 31,
    609  31, 21, 32,
    610  22, 23, 33,
    611  33, 23, 34,
    612  23, 24, 34,
    613  34, 24, 35,
    614  24, 25, 35,
    615  35, 25, 36,
    616  25, 26, 36,
    617  36, 26, 37,
    618  26, 27, 37,
    619  37, 27, 38,
    620  27, 28, 38,
    621  38, 28, 39,
    622  28, 29, 39,
    623  39, 29, 40,
    624  29, 30, 40,
    625  40, 30, 41,
    626  30, 31, 41,
    627  41, 31, 42,
    628  31, 32, 42,
    629  42, 32, 43,
    630  33, 34, 44,
    631  44, 34, 45,
    632  34, 35, 45,
    633  45, 35, 46,
    634  35, 36, 46,
    635  46, 36, 47,
    636  36, 37, 47,
    637  47, 37, 48,
    638  37, 38, 48,
    639  48, 38, 49,
    640  38, 39, 49,
    641  49, 39, 50,
    642  39, 40, 50,
    643  50, 40, 51,
    644  40, 41, 51,
    645  51, 41, 52,
    646  41, 42, 52,
    647  52, 42, 53,
    648  42, 43, 53,
    649  53, 43, 54,
    650  44, 45, 55,
    651  55, 45, 56,
    652  45, 46, 56,
    653  56, 46, 57,
    654  46, 47, 57,
    655  57, 47, 58,
    656  47, 48, 58,
    657  58, 48, 59,
    658  48, 49, 59,
    659  59, 49, 60,
    660  49, 50, 60,
    661  60, 50, 61,
    662  50, 51, 61,
    663  61, 51, 62,
    664  51, 52, 62,
    665  62, 52, 63,
    666  52, 53, 63,
    667  63, 53, 64,
    668  53, 54, 64,
    669  64, 54, 65,
    670  55, 56, 66,
    671  66, 56, 67,
    672  56, 57, 67,
    673  67, 57, 68,
    674  57, 58, 68,
    675  68, 58, 69,
    676  58, 59, 69,
    677  69, 59, 70,
    678  59, 60, 70,
    679  70, 60, 71,
    680  60, 61, 71,
    681  71, 61, 72,
    682  61, 62, 72,
    683  72, 62, 73,
    684  62, 63, 73,
    685  73, 63, 74,
    686  63, 64, 74,
    687  74, 64, 75,
    688  64, 65, 75,
    689  75, 65, 76,
    690  66, 67, 77,
    691  77, 67, 78,
    692  67, 68, 78,
    693  78, 68, 79,
    694  68, 69, 79,
    695  79, 69, 80,
    696  69, 70, 80,
    697  80, 70, 81,
    698  70, 71, 81,
    699  81, 71, 82,
    700  71, 72, 82,
    701  82, 72, 83,
    702  72, 73, 83,
    703  83, 73, 84,
    704  73, 74, 84,
    705  84, 74, 85,
    706  74, 75, 85,
    707  85, 75, 86,
    708  75, 76, 86,
    709  86, 76, 87,
    710  77, 78, 88,
    711  88, 78, 89,
    712  78, 79, 89,
    713  89, 79, 90,
    714  79, 80, 90,
    715  90, 80, 91,
    716  80, 81, 91,
    717  91, 81, 92,
    718  81, 82, 92,
    719  92, 82, 93,
    720  82, 83, 93,
    721  93, 83, 94,
    722  83, 84, 94,
    723  94, 84, 95,
    724  84, 85, 95,
    725  95, 85, 96,
    726  85, 86, 96,
    727  96, 86, 97,
    728  86, 87, 97,
    729  97, 87, 98,
    730  88, 89, 99,
    731  99, 89, 100,
    732  89, 90, 100,
    733  100, 90, 101,
    734  90, 91, 101,
    735  101, 91, 102,
    736  91, 92, 102,
    737  102, 92, 103,
    738  92, 93, 103,
    739  103, 93, 104,
    740  93, 94, 104,
    741  104, 94, 105,
    742  94, 95, 105,
    743  105, 95, 106,
    744  95, 96, 106,
    745  106, 96, 107,
    746  96, 97, 107,
    747  107, 97, 108,
    748  97, 98, 108,
    749  108, 98, 109,
    750  99, 100, 110,
    751  110, 100, 111,
    752  100, 101, 111,
    753  111, 101, 112,
    754  101, 102, 112,
    755  112, 102, 113,
    756  102, 103, 113,
    757  113, 103, 114,
    758  103, 104, 114,
    759  114, 104, 115,
    760  104, 105, 115,
    761  115, 105, 116,
    762  105, 106, 116,
    763  116, 106, 117,
    764  106, 107, 117,
    765  117, 107, 118,
    766  107, 108, 118,
    767  118, 108, 119,
    768  108, 109, 119,
    769  119, 109, 120,
    770  110, 111, 121,
    771  121, 111, 122,
    772  111, 112, 122,
    773  122, 112, 123,
    774  112, 113, 123,
    775  123, 113, 124,
    776  113, 114, 124,
    777  124, 114, 125,
    778  114, 115, 125,
    779  125, 115, 126,
    780  115, 116, 126,
    781  126, 116, 127,
    782  116, 117, 127,
    783  127, 117, 128,
    784  117, 118, 128,
    785  128, 118, 129,
    786  118, 119, 129,
    787  129, 119, 130,
    788  119, 120, 130,
    789  130, 120, 131,
    790  121, 122, 0,
    791  0, 122, 1,
    792  122, 123, 1,
    793  1, 123, 2,
    794  123, 124, 2,
    795  2, 124, 3,
    796  124, 125, 3,
    797  3, 125, 4,
    798  125, 126, 4,
    799  4, 126, 5,
    800  126, 127, 5,
    801  5, 127, 6,
    802  127, 128, 6,
    803  6, 128, 7,
    804  128, 129, 7,
    805  7, 129, 8,
    806  129, 130, 8,
    807  8, 130, 9,
    808  130, 131, 9,
    809  9, 131, 10,
    810  132, 0, 11,
    811  132, 11, 22,
    812  132, 22, 33,
    813  132, 33, 44,
    814  132, 44, 55,
    815  132, 55, 66,
    816  132, 66, 77,
    817  132, 77, 88,
    818  132, 88, 99,
    819  132, 99, 110,
    820  132, 110, 121,
    821  132, 121, 0,
    822  133, 21, 10,
    823  133, 32, 21,
    824  133, 43, 32,
    825  133, 54, 43,
    826  133, 65, 54,
    827  133, 76, 65,
    828  133, 87, 76,
    829  133, 98, 87,
    830  133, 109, 98,
    831  133, 120, 109,
    832  133, 131, 120,
    833  133, 10, 131,
    834  134, 135, 145,
    835  145, 135, 146,
    836  135, 136, 146,
    837  146, 136, 147,
    838  136, 137, 147,
    839  147, 137, 148,
    840  137, 138, 148,
    841  148, 138, 149,
    842  138, 139, 149,
    843  149, 139, 150,
    844  139, 140, 150,
    845  150, 140, 151,
    846  140, 141, 151,
    847  151, 141, 152,
    848  141, 142, 152,
    849  152, 142, 153,
    850  142, 143, 153,
    851  153, 143, 154,
    852  143, 144, 154,
    853  154, 144, 155,
    854  145, 146, 156,
    855  156, 146, 157,
    856  146, 147, 157,
    857  157, 147, 158,
    858  147, 148, 158,
    859  158, 148, 159,
    860  148, 149, 159,
    861  159, 149, 160,
    862  149, 150, 160,
    863  160, 150, 161,
    864  150, 151, 161,
    865  161, 151, 162,
    866  151, 152, 162,
    867  162, 152, 163,
    868  152, 153, 163,
    869  163, 153, 164,
    870  153, 154, 164,
    871  164, 154, 165,
    872  154, 155, 165,
    873  165, 155, 166,
    874  156, 157, 167,
    875  167, 157, 168,
    876  157, 158, 168,
    877  168, 158, 169,
    878  158, 159, 169,
    879  169, 159, 170,
    880  159, 160, 170,
    881  170, 160, 171,
    882  160, 161, 171,
    883  171, 161, 172,
    884  161, 162, 172,
    885  172, 162, 173,
    886  162, 163, 173,
    887  173, 163, 174,
    888  163, 164, 174,
    889  174, 164, 175,
    890  164, 165, 175,
    891  175, 165, 176,
    892  165, 166, 176,
    893  176, 166, 177,
    894  167, 168, 178,
    895  178, 168, 179,
    896  168, 169, 179,
    897  179, 169, 180,
    898  169, 170, 180,
    899  180, 170, 181,
    900  170, 171, 181,
    901  181, 171, 182,
    902  171, 172, 182,
    903  182, 172, 183,
    904  172, 173, 183,
    905  183, 173, 184,
    906  173, 174, 184,
    907  184, 174, 185,
    908  174, 175, 185,
    909  185, 175, 186,
    910  175, 176, 186,
    911  186, 176, 187,
    912  176, 177, 187,
    913  187, 177, 188,
    914  178, 179, 189,
    915  189, 179, 190,
    916  179, 180, 190,
    917  190, 180, 191,
    918  180, 181, 191,
    919  191, 181, 192,
    920  181, 182, 192,
    921  192, 182, 193,
    922  182, 183, 193,
    923  193, 183, 194,
    924  183, 184, 194,
    925  194, 184, 195,
    926  184, 185, 195,
    927  195, 185, 196,
    928  185, 186, 196,
    929  196, 186, 197,
    930  186, 187, 197,
    931  197, 187, 198,
    932  187, 188, 198,
    933  198, 188, 199,
    934  189, 190, 200,
    935  200, 190, 201,
    936  190, 191, 201,
    937  201, 191, 202,
    938  191, 192, 202,
    939  202, 192, 203,
    940  192, 193, 203,
    941  203, 193, 204,
    942  193, 194, 204,
    943  204, 194, 205,
    944  194, 195, 205,
    945  205, 195, 206,
    946  195, 196, 206,
    947  206, 196, 207,
    948  196, 197, 207,
    949  207, 197, 208,
    950  197, 198, 208,
    951  208, 198, 209,
    952  198, 199, 209,
    953  209, 199, 210,
    954  200, 201, 211,
    955  211, 201, 212,
    956  201, 202, 212,
    957  212, 202, 213,
    958  202, 203, 213,
    959  213, 203, 214,
    960  203, 204, 214,
    961  214, 204, 215,
    962  204, 205, 215,
    963  215, 205, 216,
    964  205, 206, 216,
    965  216, 206, 217,
    966  206, 207, 217,
    967  217, 207, 218,
    968  207, 208, 218,
    969  218, 208, 219,
    970  208, 209, 219,
    971  219, 209, 220,
    972  209, 210, 220,
    973  220, 210, 221,
    974  211, 212, 222,
    975  222, 212, 223,
    976  212, 213, 223,
    977  223, 213, 224,
    978  213, 214, 224,
    979  224, 214, 225,
    980  214, 215, 225,
    981  225, 215, 226,
    982  215, 216, 226,
    983  226, 216, 227,
    984  216, 217, 227,
    985  227, 217, 228,
    986  217, 218, 228,
    987  228, 218, 229,
    988  218, 219, 229,
    989  229, 219, 230,
    990  219, 220, 230,
    991  230, 220, 231,
    992  220, 221, 231,
    993  231, 221, 232,
    994  222, 223, 233,
    995  233, 223, 234,
    996  223, 224, 234,
    997  234, 224, 235,
    998  224, 225, 235,
    999  235, 225, 236,
   1000  225, 226, 236,
   1001  236, 226, 237,
   1002  226, 227, 237,
   1003  237, 227, 238,
   1004  227, 228, 238,
   1005  238, 228, 239,
   1006  228, 229, 239,
   1007  239, 229, 240,
   1008  229, 230, 240,
   1009  240, 230, 241,
   1010  230, 231, 241,
   1011  241, 231, 242,
   1012  231, 232, 242,
   1013  242, 232, 243,
   1014  233, 234, 244,
   1015  244, 234, 245,
   1016  234, 235, 245,
   1017  245, 235, 246,
   1018  235, 236, 246,
   1019  246, 236, 247,
   1020  236, 237, 247,
   1021  247, 237, 248,
   1022  237, 238, 248,
   1023  248, 238, 249,
   1024  238, 239, 249,
   1025  249, 239, 250,
   1026  239, 240, 250,
   1027  250, 240, 251,
   1028  240, 241, 251,
   1029  251, 241, 252,
   1030  241, 242, 252,
   1031  252, 242, 253,
   1032  242, 243, 253,
   1033  253, 243, 254,
   1034  244, 245, 255,
   1035  255, 245, 256,
   1036  245, 246, 256,
   1037  256, 246, 257,
   1038  246, 247, 257,
   1039  257, 247, 258,
   1040  247, 248, 258,
   1041  258, 248, 259,
   1042  248, 249, 259,
   1043  259, 249, 260,
   1044  249, 250, 260,
   1045  260, 250, 261,
   1046  250, 251, 261,
   1047  261, 251, 262,
   1048  251, 252, 262,
   1049  262, 252, 263,
   1050  252, 253, 263,
   1051  263, 253, 264,
   1052  253, 254, 264,
   1053  264, 254, 265,
   1054  255, 256, 134,
   1055  134, 256, 135,
   1056  256, 257, 135,
   1057  135, 257, 136,
   1058  257, 258, 136,
   1059  136, 258, 137,
   1060  258, 259, 137,
   1061  137, 259, 138,
   1062  259, 260, 138,
   1063  138, 260, 139,
   1064  260, 261, 139,
   1065  139, 261, 140,
   1066  261, 262, 140,
   1067  140, 262, 141,
   1068  262, 263, 141,
   1069  141, 263, 142,
   1070  263, 264, 142,
   1071  142, 264, 143,
   1072  264, 265, 143,
   1073  143, 265, 144,
   1074  266, 134, 145,
   1075  266, 145, 156,
   1076  266, 156, 167,
   1077  266, 167, 178,
   1078  266, 178, 189,
   1079  266, 189, 200,
   1080  266, 200, 211,
   1081  266, 211, 222,
   1082  266, 222, 233,
   1083  266, 233, 244,
   1084  266, 244, 255,
   1085  266, 255, 134,
   1086  267, 155, 144,
   1087  267, 166, 155,
   1088  267, 177, 166,
   1089  267, 188, 177,
   1090  267, 199, 188,
   1091  267, 210, 199,
   1092  267, 221, 210,
   1093  267, 232, 221,
   1094  267, 243, 232,
   1095  267, 254, 243,
   1096  267, 265, 254,
   1097  267, 144, 265,
   1098  268, 269, 279,
   1099  279, 269, 280,
   1100  269, 270, 280,
   1101  280, 270, 281,
   1102  270, 271, 281,
   1103  281, 271, 282,
   1104  271, 272, 282,
   1105  282, 272, 283,
   1106  272, 273, 283,
   1107  283, 273, 284,
   1108  273, 274, 284,
   1109  284, 274, 285,
   1110  274, 275, 285,
   1111  285, 275, 286,
   1112  275, 276, 286,
   1113  286, 276, 287,
   1114  276, 277, 287,
   1115  287, 277, 288,
   1116  277, 278, 288,
   1117  288, 278, 289,
   1118  279, 280, 290,
   1119  290, 280, 291,
   1120  280, 281, 291,
   1121  291, 281, 292,
   1122  281, 282, 292,
   1123  292, 282, 293,
   1124  282, 283, 293,
   1125  293, 283, 294,
   1126  283, 284, 294,
   1127  294, 284, 295,
   1128  284, 285, 295,
   1129  295, 285, 296,
   1130  285, 286, 296,
   1131  296, 286, 297,
   1132  286, 287, 297,
   1133  297, 287, 298,
   1134  287, 288, 298,
   1135  298, 288, 299,
   1136  288, 289, 299,
   1137  299, 289, 300,
   1138  290, 291, 301,
   1139  301, 291, 302,
   1140  291, 292, 302,
   1141  302, 292, 303,
   1142  292, 293, 303,
   1143  303, 293, 304,
   1144  293, 294, 304,
   1145  304, 294, 305,
   1146  294, 295, 305,
   1147  305, 295, 306,
   1148  295, 296, 306,
   1149  306, 296, 307,
   1150  296, 297, 307,
   1151  307, 297, 308,
   1152  297, 298, 308,
   1153  308, 298, 309,
   1154  298, 299, 309,
   1155  309, 299, 310,
   1156  299, 300, 310,
   1157  310, 300, 311,
   1158  301, 302, 312,
   1159  312, 302, 313,
   1160  302, 303, 313,
   1161  313, 303, 314,
   1162  303, 304, 314,
   1163  314, 304, 315,
   1164  304, 305, 315,
   1165  315, 305, 316,
   1166  305, 306, 316,
   1167  316, 306, 317,
   1168  306, 307, 317,
   1169  317, 307, 318,
   1170  307, 308, 318,
   1171  318, 308, 319,
   1172  308, 309, 319,
   1173  319, 309, 320,
   1174  309, 310, 320,
   1175  320, 310, 321,
   1176  310, 311, 321,
   1177  321, 311, 322,
   1178  312, 313, 323,
   1179  323, 313, 324,
   1180  313, 314, 324,
   1181  324, 314, 325,
   1182  314, 315, 325,
   1183  325, 315, 326,
   1184  315, 316, 326,
   1185  326, 316, 327,
   1186  316, 317, 327,
   1187  327, 317, 328,
   1188  317, 318, 328,
   1189  328, 318, 329,
   1190  318, 319, 329,
   1191  329, 319, 330,
   1192  319, 320, 330,
   1193  330, 320, 331,
   1194  320, 321, 331,
   1195  331, 321, 332,
   1196  321, 322, 332,
   1197  332, 322, 333,
   1198  323, 324, 334,
   1199  334, 324, 335,
   1200  324, 325, 335,
   1201  335, 325, 336,
   1202  325, 326, 336,
   1203  336, 326, 337,
   1204  326, 327, 337,
   1205  337, 327, 338,
   1206  327, 328, 338,
   1207  338, 328, 339,
   1208  328, 329, 339,
   1209  339, 329, 340,
   1210  329, 330, 340,
   1211  340, 330, 341,
   1212  330, 331, 341,
   1213  341, 331, 342,
   1214  331, 332, 342,
   1215  342, 332, 343,
   1216  332, 333, 343,
   1217  343, 333, 344,
   1218  334, 335, 345,
   1219  345, 335, 346,
   1220  335, 336, 346,
   1221  346, 336, 347,
   1222  336, 337, 347,
   1223  347, 337, 348,
   1224  337, 338, 348,
   1225  348, 338, 349,
   1226  338, 339, 349,
   1227  349, 339, 350,
   1228  339, 340, 350,
   1229  350, 340, 351,
   1230  340, 341, 351,
   1231  351, 341, 352,
   1232  341, 342, 352,
   1233  352, 342, 353,
   1234  342, 343, 353,
   1235  353, 343, 354,
   1236  343, 344, 354,
   1237  354, 344, 355,
   1238  345, 346, 356,
   1239  356, 346, 357,
   1240  346, 347, 357,
   1241  357, 347, 358,
   1242  347, 348, 358,
   1243  358, 348, 359,
   1244  348, 349, 359,
   1245  359, 349, 360,
   1246  349, 350, 360,
   1247  360, 350, 361,
   1248  350, 351, 361,
   1249  361, 351, 362,
   1250  351, 352, 362,
   1251  362, 352, 363,
   1252  352, 353, 363,
   1253  363, 353, 364,
   1254  353, 354, 364,
   1255  364, 354, 365,
   1256  354, 355, 365,
   1257  365, 355, 366,
   1258  356, 357, 367,
   1259  367, 357, 368,
   1260  357, 358, 368,
   1261  368, 358, 369,
   1262  358, 359, 369,
   1263  369, 359, 370,
   1264  359, 360, 370,
   1265  370, 360, 371,
   1266  360, 361, 371,
   1267  371, 361, 372,
   1268  361, 362, 372,
   1269  372, 362, 373,
   1270  362, 363, 373,
   1271  373, 363, 374,
   1272  363, 364, 374,
   1273  374, 364, 375,
   1274  364, 365, 375,
   1275  375, 365, 376,
   1276  365, 366, 376,
   1277  376, 366, 377,
   1278  367, 368, 378,
   1279  378, 368, 379,
   1280  368, 369, 379,
   1281  379, 369, 380,
   1282  369, 370, 380,
   1283  380, 370, 381,
   1284  370, 371, 381,
   1285  381, 371, 382,
   1286  371, 372, 382,
   1287  382, 372, 383,
   1288  372, 373, 383,
   1289  383, 373, 384,
   1290  373, 374, 384,
   1291  384, 374, 385,
   1292  374, 375, 385,
   1293  385, 375, 386,
   1294  375, 376, 386,
   1295  386, 376, 387,
   1296  376, 377, 387,
   1297  387, 377, 388,
   1298  378, 379, 389,
   1299  389, 379, 390,
   1300  379, 380, 390,
   1301  390, 380, 391,
   1302  380, 381, 391,
   1303  391, 381, 392,
   1304  381, 382, 392,
   1305  392, 382, 393,
   1306  382, 383, 393,
   1307  393, 383, 394,
   1308  383, 384, 394,
   1309  394, 384, 395,
   1310  384, 385, 395,
   1311  395, 385, 396,
   1312  385, 386, 396,
   1313  396, 386, 397,
   1314  386, 387, 397,
   1315  397, 387, 398,
   1316  387, 388, 398,
   1317  398, 388, 399,
   1318  389, 390, 268,
   1319  268, 390, 269,
   1320  390, 391, 269,
   1321  269, 391, 270,
   1322  391, 392, 270,
   1323  270, 392, 271,
   1324  392, 393, 271,
   1325  271, 393, 272,
   1326  393, 394, 272,
   1327  272, 394, 273,
   1328  394, 395, 273,
   1329  273, 395, 274,
   1330  395, 396, 274,
   1331  274, 396, 275,
   1332  396, 397, 275,
   1333  275, 397, 276,
   1334  397, 398, 276,
   1335  276, 398, 277,
   1336  398, 399, 277,
   1337  277, 399, 278,
   1338  400, 268, 279,
   1339  400, 279, 290,
   1340  400, 290, 301,
   1341  400, 301, 312,
   1342  400, 312, 323,
   1343  400, 323, 334,
   1344  400, 334, 345,
   1345  400, 345, 356,
   1346  400, 356, 367,
   1347  400, 367, 378,
   1348  400, 378, 389,
   1349  400, 389, 268,
   1350  401, 289, 278,
   1351  401, 300, 289,
   1352  401, 311, 300,
   1353  401, 322, 311,
   1354  401, 333, 322,
   1355  401, 344, 333,
   1356  401, 355, 344,
   1357  401, 366, 355,
   1358  401, 377, 366,
   1359  401, 388, 377,
   1360  401, 399, 388,
   1361  401, 278, 399,
   1362  402, 403, 413,
   1363  413, 403, 414,
   1364  403, 404, 414,
   1365  414, 404, 415,
   1366  404, 405, 415,
   1367  415, 405, 416,
   1368  405, 406, 416,
   1369  416, 406, 417,
   1370  406, 407, 417,
   1371  417, 407, 418,
   1372  407, 408, 418,
   1373  418, 408, 419,
   1374  408, 409, 419,
   1375  419, 409, 420,
   1376  409, 410, 420,
   1377  420, 410, 421,
   1378  410, 411, 421,
   1379  421, 411, 422,
   1380  411, 412, 422,
   1381  422, 412, 423,
   1382  413, 414, 424,
   1383  424, 414, 425,
   1384  414, 415, 425,
   1385  425, 415, 426,
   1386  415, 416, 426,
   1387  426, 416, 427,
   1388  416, 417, 427,
   1389  427, 417, 428,
   1390  417, 418, 428,
   1391  428, 418, 429,
   1392  418, 419, 429,
   1393  429, 419, 430,
   1394  419, 420, 430,
   1395  430, 420, 431,
   1396  420, 421, 431,
   1397  431, 421, 432,
   1398  421, 422, 432,
   1399  432, 422, 433,
   1400  422, 423, 433,
   1401  433, 423, 434,
   1402  424, 425, 435,
   1403  435, 425, 436,
   1404  425, 426, 436,
   1405  436, 426, 437,
   1406  426, 427, 437,
   1407  437, 427, 438,
   1408  427, 428, 438,
   1409  438, 428, 439,
   1410  428, 429, 439,
   1411  439, 429, 440,
   1412  429, 430, 440,
   1413  440, 430, 441,
   1414  430, 431, 441,
   1415  441, 431, 442,
   1416  431, 432, 442,
   1417  442, 432, 443,
   1418  432, 433, 443,
   1419  443, 433, 444,
   1420  433, 434, 444,
   1421  444, 434, 445,
   1422  435, 436, 446,
   1423  446, 436, 447,
   1424  436, 437, 447,
   1425  447, 437, 448,
   1426  437, 438, 448,
   1427  448, 438, 449,
   1428  438, 439, 449,
   1429  449, 439, 450,
   1430  439, 440, 450,
   1431  450, 440, 451,
   1432  440, 441, 451,
   1433  451, 441, 452,
   1434  441, 442, 452,
   1435  452, 442, 453,
   1436  442, 443, 453,
   1437  453, 443, 454,
   1438  443, 444, 454,
   1439  454, 444, 455,
   1440  444, 445, 455,
   1441  455, 445, 456,
   1442  446, 447, 457,
   1443  457, 447, 458,
   1444  447, 448, 458,
   1445  458, 448, 459,
   1446  448, 449, 459,
   1447  459, 449, 460,
   1448  449, 450, 460,
   1449  460, 450, 461,
   1450  450, 451, 461,
   1451  461, 451, 462,
   1452  451, 452, 462,
   1453  462, 452, 463,
   1454  452, 453, 463,
   1455  463, 453, 464,
   1456  453, 454, 464,
   1457  464, 454, 465,
   1458  454, 455, 465,
   1459  465, 455, 466,
   1460  455, 456, 466,
   1461  466, 456, 467,
   1462  457, 458, 468,
   1463  468, 458, 469,
   1464  458, 459, 469,
   1465  469, 459, 470,
   1466  459, 460, 470,
   1467  470, 460, 471,
   1468  460, 461, 471,
   1469  471, 461, 472,
   1470  461, 462, 472,
   1471  472, 462, 473,
   1472  462, 463, 473,
   1473  473, 463, 474,
   1474  463, 464, 474,
   1475  474, 464, 475,
   1476  464, 465, 475,
   1477  475, 465, 476,
   1478  465, 466, 476,
   1479  476, 466, 477,
   1480  466, 467, 477,
   1481  477, 467, 478,
   1482  468, 469, 479,
   1483  479, 469, 480,
   1484  469, 470, 480,
   1485  480, 470, 481,
   1486  470, 471, 481,
   1487  481, 471, 482,
   1488  471, 472, 482,
   1489  482, 472, 483,
   1490  472, 473, 483,
   1491  483, 473, 484,
   1492  473, 474, 484,
   1493  484, 474, 485,
   1494  474, 475, 485,
   1495  485, 475, 486,
   1496  475, 476, 486,
   1497  486, 476, 487,
   1498  476, 477, 487,
   1499  487, 477, 488,
   1500  477, 478, 488,
   1501  488, 478, 489,
   1502  479, 480, 490,
   1503  490, 480, 491,
   1504  480, 481, 491,
   1505  491, 481, 492,
   1506  481, 482, 492,
   1507  492, 482, 493,
   1508  482, 483, 493,
   1509  493, 483, 494,
   1510  483, 484, 494,
   1511  494, 484, 495,
   1512  484, 485, 495,
   1513  495, 485, 496,
   1514  485, 486, 496,
   1515  496, 486, 497,
   1516  486, 487, 497,
   1517  497, 487, 498,
   1518  487, 488, 498,
   1519  498, 488, 499,
   1520  488, 489, 499,
   1521  499, 489, 500,
   1522  490, 491, 501,
   1523  501, 491, 502,
   1524  491, 492, 502,
   1525  502, 492, 503,
   1526  492, 493, 503,
   1527  503, 493, 504,
   1528  493, 494, 504,
   1529  504, 494, 505,
   1530  494, 495, 505,
   1531  505, 495, 506,
   1532  495, 496, 506,
   1533  506, 496, 507,
   1534  496, 497, 507,
   1535  507, 497, 508,
   1536  497, 498, 508,
   1537  508, 498, 509,
   1538  498, 499, 509,
   1539  509, 499, 510,
   1540  499, 500, 510,
   1541  510, 500, 511,
   1542  501, 502, 512,
   1543  512, 502, 513,
   1544  502, 503, 513,
   1545  513, 503, 514,
   1546  503, 504, 514,
   1547  514, 504, 515,
   1548  504, 505, 515,
   1549  515, 505, 516,
   1550  505, 506, 516,
   1551  516, 506, 517,
   1552  506, 507, 517,
   1553  517, 507, 518,
   1554  507, 508, 518,
   1555  518, 508, 519,
   1556  508, 509, 519,
   1557  519, 509, 520,
   1558  509, 510, 520,
   1559  520, 510, 521,
   1560  510, 511, 521,
   1561  521, 511, 522,
   1562  512, 513, 523,
   1563  523, 513, 524,
   1564  513, 514, 524,
   1565  524, 514, 525,
   1566  514, 515, 525,
   1567  525, 515, 526,
   1568  515, 516, 526,
   1569  526, 516, 527,
   1570  516, 517, 527,
   1571  527, 517, 528,
   1572  517, 518, 528,
   1573  528, 518, 529,
   1574  518, 519, 529,
   1575  529, 519, 530,
   1576  519, 520, 530,
   1577  530, 520, 531,
   1578  520, 521, 531,
   1579  531, 521, 532,
   1580  521, 522, 532,
   1581  532, 522, 533,
   1582  523, 524, 402,
   1583  402, 524, 403,
   1584  524, 525, 403,
   1585  403, 525, 404,
   1586  525, 526, 404,
   1587  404, 526, 405,
   1588  526, 527, 405,
   1589  405, 527, 406,
   1590  527, 528, 406,
   1591  406, 528, 407,
   1592  528, 529, 407,
   1593  407, 529, 408,
   1594  529, 530, 408,
   1595  408, 530, 409,
   1596  530, 531, 409,
   1597  409, 531, 410,
   1598  531, 532, 410,
   1599  410, 532, 411,
   1600  532, 533, 411,
   1601  411, 533, 412,
   1602  534, 402, 413,
   1603  534, 413, 424,
   1604  534, 424, 435,
   1605  534, 435, 446,
   1606  534, 446, 457,
   1607  534, 457, 468,
   1608  534, 468, 479,
   1609  534, 479, 490,
   1610  534, 490, 501,
   1611  534, 501, 512,
   1612  534, 512, 523,
   1613  534, 523, 402,
   1614  535, 423, 412,
   1615  535, 434, 423,
   1616  535, 445, 434,
   1617  535, 456, 445,
   1618  535, 467, 456,
   1619  535, 478, 467,
   1620  535, 489, 478,
   1621  535, 500, 489,
   1622  535, 511, 500,
   1623  535, 522, 511,
   1624  535, 533, 522,
   1625  535, 412, 533
   1626 };
   1627 static const unsigned some_triangles_properties[3168] =
   1628 {
   1629  0, 0, 0,
   1630  0, 0, 0,
   1631  0, 0, 0,
   1632  0, 0, 0,
   1633  0, 0, 0,
   1634  0, 0, 0,
   1635  0, 0, 0,
   1636  0, 0, 0,
   1637  0, 0, 0,
   1638  0, 0, 0,
   1639  0, 0, 0,
   1640  0, 0, 0,
   1641  0, 0, 0,
   1642  0, 0, 0,
   1643  0, 0, 0,
   1644  0, 0, 0,
   1645  0, 0, 0,
   1646  0, 0, 0,
   1647  0, 0, 0,
   1648  0, 0, 0,
   1649  0, 0, 0,
   1650  0, 0, 0,
   1651  0, 0, 0,
   1652  0, 0, 0,
   1653  0, 0, 0,
   1654  0, 0, 0,
   1655  0, 0, 0,
   1656  0, 0, 0,
   1657  0, 0, 0,
   1658  0, 0, 0,
   1659  0, 0, 0,
   1660  0, 0, 0,
   1661  0, 0, 0,
   1662  0, 0, 0,
   1663  0, 0, 0,
   1664  0, 0, 0,
   1665  0, 0, 0,
   1666  0, 0, 0,
   1667  0, 0, 0,
   1668  0, 0, 0,
   1669  0, 0, 0,
   1670  0, 0, 0,
   1671  0, 0, 0,
   1672  0, 0, 0,
   1673  0, 0, 0,
   1674  0, 0, 0,
   1675  0, 0, 0,
   1676  0, 0, 0,
   1677  0, 0, 0,
   1678  0, 0, 0,
   1679  0, 0, 0,
   1680  0, 0, 0,
   1681  0, 0, 0,
   1682  0, 0, 0,
   1683  0, 0, 0,
   1684  0, 0, 0,
   1685  0, 0, 0,
   1686  0, 0, 0,
   1687  0, 0, 0,
   1688  0, 0, 0,
   1689  0, 0, 0,
   1690  0, 0, 0,
   1691  0, 0, 0,
   1692  0, 0, 0,
   1693  0, 0, 0,
   1694  0, 0, 0,
   1695  0, 0, 0,
   1696  0, 0, 0,
   1697  0, 0, 0,
   1698  0, 0, 0,
   1699  0, 0, 0,
   1700  0, 0, 0,
   1701  0, 0, 0,
   1702  0, 0, 0,
   1703  0, 0, 0,
   1704  0, 0, 0,
   1705  0, 0, 0,
   1706  0, 0, 0,
   1707  0, 0, 0,
   1708  0, 0, 0,
   1709  0, 0, 0,
   1710  0, 0, 0,
   1711  0, 0, 0,
   1712  0, 0, 0,
   1713  0, 0, 0,
   1714  0, 0, 0,
   1715  0, 0, 0,
   1716  0, 0, 0,
   1717  0, 0, 0,
   1718  0, 0, 0,
   1719  0, 0, 0,
   1720  0, 0, 0,
   1721  0, 0, 0,
   1722  0, 0, 0,
   1723  0, 0, 0,
   1724  0, 0, 0,
   1725  0, 0, 0,
   1726  0, 0, 0,
   1727  0, 0, 0,
   1728  0, 0, 0,
   1729  0, 0, 0,
   1730  0, 0, 0,
   1731  0, 0, 0,
   1732  0, 0, 0,
   1733  0, 0, 0,
   1734  0, 0, 0,
   1735  0, 0, 0,
   1736  0, 0, 0,
   1737  0, 0, 0,
   1738  0, 0, 0,
   1739  0, 0, 0,
   1740  0, 0, 0,
   1741  0, 0, 0,
   1742  0, 0, 0,
   1743  0, 0, 0,
   1744  0, 0, 0,
   1745  0, 0, 0,
   1746  0, 0, 0,
   1747  0, 0, 0,
   1748  0, 0, 0,
   1749  0, 0, 0,
   1750  0, 0, 0,
   1751  0, 0, 0,
   1752  0, 0, 0,
   1753  0, 0, 0,
   1754  0, 0, 0,
   1755  0, 0, 0,
   1756  0, 0, 0,
   1757  0, 0, 0,
   1758  0, 0, 0,
   1759  0, 0, 0,
   1760  0, 0, 0,
   1761  0, 0, 0,
   1762  0, 0, 0,
   1763  0, 0, 0,
   1764  0, 0, 0,
   1765  0, 0, 0,
   1766  0, 0, 0,
   1767  0, 0, 0,
   1768  0, 0, 0,
   1769  0, 0, 0,
   1770  0, 0, 0,
   1771  0, 0, 0,
   1772  0, 0, 0,
   1773  0, 0, 0,
   1774  0, 0, 0,
   1775  0, 0, 0,
   1776  0, 0, 0,
   1777  0, 0, 0,
   1778  0, 0, 0,
   1779  0, 0, 0,
   1780  0, 0, 0,
   1781  0, 0, 0,
   1782  0, 0, 0,
   1783  0, 0, 0,
   1784  0, 0, 0,
   1785  0, 0, 0,
   1786  0, 0, 0,
   1787  0, 0, 0,
   1788  0, 0, 0,
   1789  0, 0, 0,
   1790  0, 0, 0,
   1791  0, 0, 0,
   1792  0, 0, 0,
   1793  0, 0, 0,
   1794  0, 0, 0,
   1795  0, 0, 0,
   1796  0, 0, 0,
   1797  0, 0, 0,
   1798  0, 0, 0,
   1799  0, 0, 0,
   1800  0, 0, 0,
   1801  0, 0, 0,
   1802  0, 0, 0,
   1803  0, 0, 0,
   1804  0, 0, 0,
   1805  0, 0, 0,
   1806  0, 0, 0,
   1807  0, 0, 0,
   1808  0, 0, 0,
   1809  0, 0, 0,
   1810  0, 0, 0,
   1811  0, 0, 0,
   1812  0, 0, 0,
   1813  0, 0, 0,
   1814  0, 0, 0,
   1815  0, 0, 0,
   1816  0, 0, 0,
   1817  0, 0, 0,
   1818  0, 0, 0,
   1819  0, 0, 0,
   1820  0, 0, 0,
   1821  0, 0, 0,
   1822  0, 0, 0,
   1823  0, 0, 0,
   1824  0, 0, 0,
   1825  0, 0, 0,
   1826  0, 0, 0,
   1827  0, 0, 0,
   1828  0, 0, 0,
   1829  0, 0, 0,
   1830  0, 0, 0,
   1831  0, 0, 0,
   1832  0, 0, 0,
   1833  0, 0, 0,
   1834  0, 0, 0,
   1835  0, 0, 0,
   1836  0, 0, 0,
   1837  0, 0, 0,
   1838  0, 0, 0,
   1839  0, 0, 0,
   1840  0, 0, 0,
   1841  0, 0, 0,
   1842  0, 0, 0,
   1843  0, 0, 0,
   1844  0, 0, 0,
   1845  0, 0, 0,
   1846  0, 0, 0,
   1847  0, 0, 0,
   1848  0, 0, 0,
   1849  0, 0, 0,
   1850  0, 0, 0,
   1851  0, 0, 0,
   1852  0, 0, 0,
   1853  0, 0, 0,
   1854  0, 0, 0,
   1855  0, 0, 0,
   1856  0, 0, 0,
   1857  0, 0, 0,
   1858  0, 0, 0,
   1859  0, 0, 0,
   1860  0, 0, 0,
   1861  0, 0, 0,
   1862  0, 0, 0,
   1863  0, 0, 0,
   1864  0, 0, 0,
   1865  0, 0, 0,
   1866  0, 0, 0,
   1867  0, 0, 0,
   1868  0, 0, 0,
   1869  0, 0, 0,
   1870  0, 0, 0,
   1871  0, 0, 0,
   1872  0, 0, 0,
   1873  0, 0, 0,
   1874  0, 0, 0,
   1875  0, 0, 0,
   1876  0, 0, 0,
   1877  0, 0, 0,
   1878  0, 0, 0,
   1879  0, 0, 0,
   1880  0, 0, 0,
   1881  0, 0, 0,
   1882  0, 0, 0,
   1883  0, 0, 0,
   1884  0, 0, 0,
   1885  0, 0, 0,
   1886  0, 0, 0,
   1887  0, 0, 0,
   1888  0, 0, 0,
   1889  0, 0, 0,
   1890  0, 0, 0,
   1891  0, 0, 0,
   1892  0, 0, 0,
   1893  1, 0, 0,
   1894  1, 0, 0,
   1895  1, 0, 0,
   1896  1, 0, 0,
   1897  1, 0, 0,
   1898  1, 0, 0,
   1899  1, 0, 0,
   1900  1, 0, 0,
   1901  1, 0, 0,
   1902  1, 0, 0,
   1903  1, 0, 0,
   1904  1, 0, 0,
   1905  1, 0, 0,
   1906  1, 0, 0,
   1907  1, 0, 0,
   1908  1, 0, 0,
   1909  1, 0, 0,
   1910  1, 0, 0,
   1911  1, 0, 0,
   1912  1, 0, 0,
   1913  1, 0, 0,
   1914  1, 0, 0,
   1915  1, 0, 0,
   1916  1, 0, 0,
   1917  1, 0, 0,
   1918  1, 0, 0,
   1919  1, 0, 0,
   1920  1, 0, 0,
   1921  1, 0, 0,
   1922  1, 0, 0,
   1923  1, 0, 0,
   1924  1, 0, 0,
   1925  1, 0, 0,
   1926  1, 0, 0,
   1927  1, 0, 0,
   1928  1, 0, 0,
   1929  1, 0, 0,
   1930  1, 0, 0,
   1931  1, 0, 0,
   1932  1, 0, 0,
   1933  1, 0, 0,
   1934  1, 0, 0,
   1935  1, 0, 0,
   1936  1, 0, 0,
   1937  1, 0, 0,
   1938  1, 0, 0,
   1939  1, 0, 0,
   1940  1, 0, 0,
   1941  1, 0, 0,
   1942  1, 0, 0,
   1943  1, 0, 0,
   1944  1, 0, 0,
   1945  1, 0, 0,
   1946  1, 0, 0,
   1947  1, 0, 0,
   1948  1, 0, 0,
   1949  1, 0, 0,
   1950  1, 0, 0,
   1951  1, 0, 0,
   1952  1, 0, 0,
   1953  1, 0, 0,
   1954  1, 0, 0,
   1955  1, 0, 0,
   1956  1, 0, 0,
   1957  1, 0, 0,
   1958  1, 0, 0,
   1959  1, 0, 0,
   1960  1, 0, 0,
   1961  1, 0, 0,
   1962  1, 0, 0,
   1963  1, 0, 0,
   1964  1, 0, 0,
   1965  1, 0, 0,
   1966  1, 0, 0,
   1967  1, 0, 0,
   1968  1, 0, 0,
   1969  1, 0, 0,
   1970  1, 0, 0,
   1971  1, 0, 0,
   1972  1, 0, 0,
   1973  1, 0, 0,
   1974  1, 0, 0,
   1975  1, 0, 0,
   1976  1, 0, 0,
   1977  1, 0, 0,
   1978  1, 0, 0,
   1979  1, 0, 0,
   1980  1, 0, 0,
   1981  1, 0, 0,
   1982  1, 0, 0,
   1983  1, 0, 0,
   1984  1, 0, 0,
   1985  1, 0, 0,
   1986  1, 0, 0,
   1987  1, 0, 0,
   1988  1, 0, 0,
   1989  1, 0, 0,
   1990  1, 0, 0,
   1991  1, 0, 0,
   1992  1, 0, 0,
   1993  1, 0, 0,
   1994  1, 0, 0,
   1995  1, 0, 0,
   1996  1, 0, 0,
   1997  1, 0, 0,
   1998  1, 0, 0,
   1999  1, 0, 0,
   2000  1, 0, 0,
   2001  1, 0, 0,
   2002  1, 0, 0,
   2003  1, 0, 0,
   2004  1, 0, 0,
   2005  1, 0, 0,
   2006  1, 0, 0,
   2007  1, 0, 0,
   2008  1, 0, 0,
   2009  1, 0, 0,
   2010  1, 0, 0,
   2011  1, 0, 0,
   2012  1, 0, 0,
   2013  1, 0, 0,
   2014  1, 0, 0,
   2015  1, 0, 0,
   2016  1, 0, 0,
   2017  1, 0, 0,
   2018  1, 0, 0,
   2019  1, 0, 0,
   2020  1, 0, 0,
   2021  1, 0, 0,
   2022  1, 0, 0,
   2023  1, 0, 0,
   2024  1, 0, 0,
   2025  1, 0, 0,
   2026  1, 0, 0,
   2027  1, 0, 0,
   2028  1, 0, 0,
   2029  1, 0, 0,
   2030  1, 0, 0,
   2031  1, 0, 0,
   2032  1, 0, 0,
   2033  1, 0, 0,
   2034  1, 0, 0,
   2035  1, 0, 0,
   2036  1, 0, 0,
   2037  1, 0, 0,
   2038  1, 0, 0,
   2039  1, 0, 0,
   2040  1, 0, 0,
   2041  1, 0, 0,
   2042  1, 0, 0,
   2043  1, 0, 0,
   2044  1, 0, 0,
   2045  1, 0, 0,
   2046  1, 0, 0,
   2047  1, 0, 0,
   2048  1, 0, 0,
   2049  1, 0, 0,
   2050  1, 0, 0,
   2051  1, 0, 0,
   2052  1, 0, 0,
   2053  1, 0, 0,
   2054  1, 0, 0,
   2055  1, 0, 0,
   2056  1, 0, 0,
   2057  1, 0, 0,
   2058  1, 0, 0,
   2059  1, 0, 0,
   2060  1, 0, 0,
   2061  1, 0, 0,
   2062  1, 0, 0,
   2063  1, 0, 0,
   2064  1, 0, 0,
   2065  1, 0, 0,
   2066  1, 0, 0,
   2067  1, 0, 0,
   2068  1, 0, 0,
   2069  1, 0, 0,
   2070  1, 0, 0,
   2071  1, 0, 0,
   2072  1, 0, 0,
   2073  1, 0, 0,
   2074  1, 0, 0,
   2075  1, 0, 0,
   2076  1, 0, 0,
   2077  1, 0, 0,
   2078  1, 0, 0,
   2079  1, 0, 0,
   2080  1, 0, 0,
   2081  1, 0, 0,
   2082  1, 0, 0,
   2083  1, 0, 0,
   2084  1, 0, 0,
   2085  1, 0, 0,
   2086  1, 0, 0,
   2087  1, 0, 0,
   2088  1, 0, 0,
   2089  1, 0, 0,
   2090  1, 0, 0,
   2091  1, 0, 0,
   2092  1, 0, 0,
   2093  1, 0, 0,
   2094  1, 0, 0,
   2095  1, 0, 0,
   2096  1, 0, 0,
   2097  1, 0, 0,
   2098  1, 0, 0,
   2099  1, 0, 0,
   2100  1, 0, 0,
   2101  1, 0, 0,
   2102  1, 0, 0,
   2103  1, 0, 0,
   2104  1, 0, 0,
   2105  1, 0, 0,
   2106  1, 0, 0,
   2107  1, 0, 0,
   2108  1, 0, 0,
   2109  1, 0, 0,
   2110  1, 0, 0,
   2111  1, 0, 0,
   2112  1, 0, 0,
   2113  1, 0, 0,
   2114  1, 0, 0,
   2115  1, 0, 0,
   2116  1, 0, 0,
   2117  1, 0, 0,
   2118  1, 0, 0,
   2119  1, 0, 0,
   2120  1, 0, 0,
   2121  1, 0, 0,
   2122  1, 0, 0,
   2123  1, 0, 0,
   2124  1, 0, 0,
   2125  1, 0, 0,
   2126  1, 0, 0,
   2127  1, 0, 0,
   2128  1, 0, 0,
   2129  1, 0, 0,
   2130  1, 0, 0,
   2131  1, 0, 0,
   2132  1, 0, 0,
   2133  1, 0, 0,
   2134  1, 0, 0,
   2135  1, 0, 0,
   2136  1, 0, 0,
   2137  1, 0, 0,
   2138  1, 0, 0,
   2139  1, 0, 0,
   2140  1, 0, 0,
   2141  1, 0, 0,
   2142  1, 0, 0,
   2143  1, 0, 0,
   2144  1, 0, 0,
   2145  1, 0, 0,
   2146  1, 0, 0,
   2147  1, 0, 0,
   2148  1, 0, 0,
   2149  1, 0, 0,
   2150  1, 0, 0,
   2151  1, 0, 0,
   2152  1, 0, 0,
   2153  1, 0, 0,
   2154  1, 0, 0,
   2155  1, 0, 0,
   2156  1, 0, 0,
   2157  2, 0, 0,
   2158  2, 0, 0,
   2159  2, 0, 0,
   2160  2, 0, 0,
   2161  2, 0, 0,
   2162  2, 0, 0,
   2163  2, 0, 0,
   2164  2, 0, 0,
   2165  2, 0, 0,
   2166  2, 0, 0,
   2167  2, 0, 0,
   2168  2, 0, 0,
   2169  2, 0, 0,
   2170  2, 0, 0,
   2171  2, 0, 0,
   2172  2, 0, 0,
   2173  2, 0, 0,
   2174  2, 0, 0,
   2175  2, 0, 0,
   2176  2, 0, 0,
   2177  2, 0, 0,
   2178  2, 0, 0,
   2179  2, 0, 0,
   2180  2, 0, 0,
   2181  2, 0, 0,
   2182  2, 0, 0,
   2183  2, 0, 0,
   2184  2, 0, 0,
   2185  2, 0, 0,
   2186  2, 0, 0,
   2187  2, 0, 0,
   2188  2, 0, 0,
   2189  2, 0, 0,
   2190  2, 0, 0,
   2191  2, 0, 0,
   2192  2, 0, 0,
   2193  2, 0, 0,
   2194  2, 0, 0,
   2195  2, 0, 0,
   2196  2, 0, 0,
   2197  2, 0, 0,
   2198  2, 0, 0,
   2199  2, 0, 0,
   2200  2, 0, 0,
   2201  2, 0, 0,
   2202  2, 0, 0,
   2203  2, 0, 0,
   2204  2, 0, 0,
   2205  2, 0, 0,
   2206  2, 0, 0,
   2207  2, 0, 0,
   2208  2, 0, 0,
   2209  2, 0, 0,
   2210  2, 0, 0,
   2211  2, 0, 0,
   2212  2, 0, 0,
   2213  2, 0, 0,
   2214  2, 0, 0,
   2215  2, 0, 0,
   2216  2, 0, 0,
   2217  2, 0, 0,
   2218  2, 0, 0,
   2219  2, 0, 0,
   2220  2, 0, 0,
   2221  2, 0, 0,
   2222  2, 0, 0,
   2223  2, 0, 0,
   2224  2, 0, 0,
   2225  2, 0, 0,
   2226  2, 0, 0,
   2227  2, 0, 0,
   2228  2, 0, 0,
   2229  2, 0, 0,
   2230  2, 0, 0,
   2231  2, 0, 0,
   2232  2, 0, 0,
   2233  2, 0, 0,
   2234  2, 0, 0,
   2235  2, 0, 0,
   2236  2, 0, 0,
   2237  2, 0, 0,
   2238  2, 0, 0,
   2239  2, 0, 0,
   2240  2, 0, 0,
   2241  2, 0, 0,
   2242  2, 0, 0,
   2243  2, 0, 0,
   2244  2, 0, 0,
   2245  2, 0, 0,
   2246  2, 0, 0,
   2247  2, 0, 0,
   2248  2, 0, 0,
   2249  2, 0, 0,
   2250  2, 0, 0,
   2251  2, 0, 0,
   2252  2, 0, 0,
   2253  2, 0, 0,
   2254  2, 0, 0,
   2255  2, 0, 0,
   2256  2, 0, 0,
   2257  2, 0, 0,
   2258  2, 0, 0,
   2259  2, 0, 0,
   2260  2, 0, 0,
   2261  2, 0, 0,
   2262  2, 0, 0,
   2263  2, 0, 0,
   2264  2, 0, 0,
   2265  2, 0, 0,
   2266  2, 0, 0,
   2267  2, 0, 0,
   2268  2, 0, 0,
   2269  2, 0, 0,
   2270  2, 0, 0,
   2271  2, 0, 0,
   2272  2, 0, 0,
   2273  2, 0, 0,
   2274  2, 0, 0,
   2275  2, 0, 0,
   2276  2, 0, 0,
   2277  2, 0, 0,
   2278  2, 0, 0,
   2279  2, 0, 0,
   2280  2, 0, 0,
   2281  2, 0, 0,
   2282  2, 0, 0,
   2283  2, 0, 0,
   2284  2, 0, 0,
   2285  2, 0, 0,
   2286  2, 0, 0,
   2287  2, 0, 0,
   2288  2, 0, 0,
   2289  2, 0, 0,
   2290  2, 0, 0,
   2291  2, 0, 0,
   2292  2, 0, 0,
   2293  2, 0, 0,
   2294  2, 0, 0,
   2295  2, 0, 0,
   2296  2, 0, 0,
   2297  2, 0, 0,
   2298  2, 0, 0,
   2299  2, 0, 0,
   2300  2, 0, 0,
   2301  2, 0, 0,
   2302  2, 0, 0,
   2303  2, 0, 0,
   2304  2, 0, 0,
   2305  2, 0, 0,
   2306  2, 0, 0,
   2307  2, 0, 0,
   2308  2, 0, 0,
   2309  2, 0, 0,
   2310  2, 0, 0,
   2311  2, 0, 0,
   2312  2, 0, 0,
   2313  2, 0, 0,
   2314  2, 0, 0,
   2315  2, 0, 0,
   2316  2, 0, 0,
   2317  2, 0, 0,
   2318  2, 0, 0,
   2319  2, 0, 0,
   2320  2, 0, 0,
   2321  2, 0, 0,
   2322  2, 0, 0,
   2323  2, 0, 0,
   2324  2, 0, 0,
   2325  2, 0, 0,
   2326  2, 0, 0,
   2327  2, 0, 0,
   2328  2, 0, 0,
   2329  2, 0, 0,
   2330  2, 0, 0,
   2331  2, 0, 0,
   2332  2, 0, 0,
   2333  2, 0, 0,
   2334  2, 0, 0,
   2335  2, 0, 0,
   2336  2, 0, 0,
   2337  2, 0, 0,
   2338  2, 0, 0,
   2339  2, 0, 0,
   2340  2, 0, 0,
   2341  2, 0, 0,
   2342  2, 0, 0,
   2343  2, 0, 0,
   2344  2, 0, 0,
   2345  2, 0, 0,
   2346  2, 0, 0,
   2347  2, 0, 0,
   2348  2, 0, 0,
   2349  2, 0, 0,
   2350  2, 0, 0,
   2351  2, 0, 0,
   2352  2, 0, 0,
   2353  2, 0, 0,
   2354  2, 0, 0,
   2355  2, 0, 0,
   2356  2, 0, 0,
   2357  2, 0, 0,
   2358  2, 0, 0,
   2359  2, 0, 0,
   2360  2, 0, 0,
   2361  2, 0, 0,
   2362  2, 0, 0,
   2363  2, 0, 0,
   2364  2, 0, 0,
   2365  2, 0, 0,
   2366  2, 0, 0,
   2367  2, 0, 0,
   2368  2, 0, 0,
   2369  2, 0, 0,
   2370  2, 0, 0,
   2371  2, 0, 0,
   2372  2, 0, 0,
   2373  2, 0, 0,
   2374  2, 0, 0,
   2375  2, 0, 0,
   2376  2, 0, 0,
   2377  2, 0, 0,
   2378  2, 0, 0,
   2379  2, 0, 0,
   2380  2, 0, 0,
   2381  2, 0, 0,
   2382  2, 0, 0,
   2383  2, 0, 0,
   2384  2, 0, 0,
   2385  2, 0, 0,
   2386  2, 0, 0,
   2387  2, 0, 0,
   2388  2, 0, 0,
   2389  2, 0, 0,
   2390  2, 0, 0,
   2391  2, 0, 0,
   2392  2, 0, 0,
   2393  2, 0, 0,
   2394  2, 0, 0,
   2395  2, 0, 0,
   2396  2, 0, 0,
   2397  2, 0, 0,
   2398  2, 0, 0,
   2399  2, 0, 0,
   2400  2, 0, 0,
   2401  2, 0, 0,
   2402  2, 0, 0,
   2403  2, 0, 0,
   2404  2, 0, 0,
   2405  2, 0, 0,
   2406  2, 0, 0,
   2407  2, 0, 0,
   2408  2, 0, 0,
   2409  2, 0, 0,
   2410  2, 0, 0,
   2411  2, 0, 0,
   2412  2, 0, 0,
   2413  2, 0, 0,
   2414  2, 0, 0,
   2415  2, 0, 0,
   2416  2, 0, 0,
   2417  2, 0, 0,
   2418  2, 0, 0,
   2419  2, 0, 0,
   2420  2, 0, 0,
   2421  3, 0, 0,
   2422  3, 0, 0,
   2423  3, 0, 0,
   2424  3, 0, 0,
   2425  3, 0, 0,
   2426  3, 0, 0,
   2427  3, 0, 0,
   2428  3, 0, 0,
   2429  3, 0, 0,
   2430  3, 0, 0,
   2431  3, 0, 0,
   2432  3, 0, 0,
   2433  3, 0, 0,
   2434  3, 0, 0,
   2435  3, 0, 0,
   2436  3, 0, 0,
   2437  3, 0, 0,
   2438  3, 0, 0,
   2439  3, 0, 0,
   2440  3, 0, 0,
   2441  3, 0, 0,
   2442  3, 0, 0,
   2443  3, 0, 0,
   2444  3, 0, 0,
   2445  3, 0, 0,
   2446  3, 0, 0,
   2447  3, 0, 0,
   2448  3, 0, 0,
   2449  3, 0, 0,
   2450  3, 0, 0,
   2451  3, 0, 0,
   2452  3, 0, 0,
   2453  3, 0, 0,
   2454  3, 0, 0,
   2455  3, 0, 0,
   2456  3, 0, 0,
   2457  3, 0, 0,
   2458  3, 0, 0,
   2459  3, 0, 0,
   2460  3, 0, 0,
   2461  3, 0, 0,
   2462  3, 0, 0,
   2463  3, 0, 0,
   2464  3, 0, 0,
   2465  3, 0, 0,
   2466  3, 0, 0,
   2467  3, 0, 0,
   2468  3, 0, 0,
   2469  3, 0, 0,
   2470  3, 0, 0,
   2471  3, 0, 0,
   2472  3, 0, 0,
   2473  3, 0, 0,
   2474  3, 0, 0,
   2475  3, 0, 0,
   2476  3, 0, 0,
   2477  3, 0, 0,
   2478  3, 0, 0,
   2479  3, 0, 0,
   2480  3, 0, 0,
   2481  3, 0, 0,
   2482  3, 0, 0,
   2483  3, 0, 0,
   2484  3, 0, 0,
   2485  3, 0, 0,
   2486  3, 0, 0,
   2487  3, 0, 0,
   2488  3, 0, 0,
   2489  3, 0, 0,
   2490  3, 0, 0,
   2491  3, 0, 0,
   2492  3, 0, 0,
   2493  3, 0, 0,
   2494  3, 0, 0,
   2495  3, 0, 0,
   2496  3, 0, 0,
   2497  3, 0, 0,
   2498  3, 0, 0,
   2499  3, 0, 0,
   2500  3, 0, 0,
   2501  3, 0, 0,
   2502  3, 0, 0,
   2503  3, 0, 0,
   2504  3, 0, 0,
   2505  3, 0, 0,
   2506  3, 0, 0,
   2507  3, 0, 0,
   2508  3, 0, 0,
   2509  3, 0, 0,
   2510  3, 0, 0,
   2511  3, 0, 0,
   2512  3, 0, 0,
   2513  3, 0, 0,
   2514  3, 0, 0,
   2515  3, 0, 0,
   2516  3, 0, 0,
   2517  3, 0, 0,
   2518  3, 0, 0,
   2519  3, 0, 0,
   2520  3, 0, 0,
   2521  3, 0, 0,
   2522  3, 0, 0,
   2523  3, 0, 0,
   2524  3, 0, 0,
   2525  3, 0, 0,
   2526  3, 0, 0,
   2527  3, 0, 0,
   2528  3, 0, 0,
   2529  3, 0, 0,
   2530  3, 0, 0,
   2531  3, 0, 0,
   2532  3, 0, 0,
   2533  3, 0, 0,
   2534  3, 0, 0,
   2535  3, 0, 0,
   2536  3, 0, 0,
   2537  3, 0, 0,
   2538  3, 0, 0,
   2539  3, 0, 0,
   2540  3, 0, 0,
   2541  3, 0, 0,
   2542  3, 0, 0,
   2543  3, 0, 0,
   2544  3, 0, 0,
   2545  3, 0, 0,
   2546  3, 0, 0,
   2547  3, 0, 0,
   2548  3, 0, 0,
   2549  3, 0, 0,
   2550  3, 0, 0,
   2551  3, 0, 0,
   2552  3, 0, 0,
   2553  3, 0, 0,
   2554  3, 0, 0,
   2555  3, 0, 0,
   2556  3, 0, 0,
   2557  3, 0, 0,
   2558  3, 0, 0,
   2559  3, 0, 0,
   2560  3, 0, 0,
   2561  3, 0, 0,
   2562  3, 0, 0,
   2563  3, 0, 0,
   2564  3, 0, 0,
   2565  3, 0, 0,
   2566  3, 0, 0,
   2567  3, 0, 0,
   2568  3, 0, 0,
   2569  3, 0, 0,
   2570  3, 0, 0,
   2571  3, 0, 0,
   2572  3, 0, 0,
   2573  3, 0, 0,
   2574  3, 0, 0,
   2575  3, 0, 0,
   2576  3, 0, 0,
   2577  3, 0, 0,
   2578  3, 0, 0,
   2579  3, 0, 0,
   2580  3, 0, 0,
   2581  3, 0, 0,
   2582  3, 0, 0,
   2583  3, 0, 0,
   2584  3, 0, 0,
   2585  3, 0, 0,
   2586  3, 0, 0,
   2587  3, 0, 0,
   2588  3, 0, 0,
   2589  3, 0, 0,
   2590  3, 0, 0,
   2591  3, 0, 0,
   2592  3, 0, 0,
   2593  3, 0, 0,
   2594  3, 0, 0,
   2595  3, 0, 0,
   2596  3, 0, 0,
   2597  3, 0, 0,
   2598  3, 0, 0,
   2599  3, 0, 0,
   2600  3, 0, 0,
   2601  3, 0, 0,
   2602  3, 0, 0,
   2603  3, 0, 0,
   2604  3, 0, 0,
   2605  3, 0, 0,
   2606  3, 0, 0,
   2607  3, 0, 0,
   2608  3, 0, 0,
   2609  3, 0, 0,
   2610  3, 0, 0,
   2611  3, 0, 0,
   2612  3, 0, 0,
   2613  3, 0, 0,
   2614  3, 0, 0,
   2615  3, 0, 0,
   2616  3, 0, 0,
   2617  3, 0, 0,
   2618  3, 0, 0,
   2619  3, 0, 0,
   2620  3, 0, 0,
   2621  3, 0, 0,
   2622  3, 0, 0,
   2623  3, 0, 0,
   2624  3, 0, 0,
   2625  3, 0, 0,
   2626  3, 0, 0,
   2627  3, 0, 0,
   2628  3, 0, 0,
   2629  3, 0, 0,
   2630  3, 0, 0,
   2631  3, 0, 0,
   2632  3, 0, 0,
   2633  3, 0, 0,
   2634  3, 0, 0,
   2635  3, 0, 0,
   2636  3, 0, 0,
   2637  3, 0, 0,
   2638  3, 0, 0,
   2639  3, 0, 0,
   2640  3, 0, 0,
   2641  3, 0, 0,
   2642  3, 0, 0,
   2643  3, 0, 0,
   2644  3, 0, 0,
   2645  3, 0, 0,
   2646  3, 0, 0,
   2647  3, 0, 0,
   2648  3, 0, 0,
   2649  3, 0, 0,
   2650  3, 0, 0,
   2651  3, 0, 0,
   2652  3, 0, 0,
   2653  3, 0, 0,
   2654  3, 0, 0,
   2655  3, 0, 0,
   2656  3, 0, 0,
   2657  3, 0, 0,
   2658  3, 0, 0,
   2659  3, 0, 0,
   2660  3, 0, 0,
   2661  3, 0, 0,
   2662  3, 0, 0,
   2663  3, 0, 0,
   2664  3, 0, 0,
   2665  3, 0, 0,
   2666  3, 0, 0,
   2667  3, 0, 0,
   2668  3, 0, 0,
   2669  3, 0, 0,
   2670  3, 0, 0,
   2671  3, 0, 0,
   2672  3, 0, 0,
   2673  3, 0, 0,
   2674  3, 0, 0,
   2675  3, 0, 0,
   2676  3, 0, 0,
   2677  3, 0, 0,
   2678  3, 0, 0,
   2679  3, 0, 0,
   2680  3, 0, 0,
   2681  3, 0, 0,
   2682  3, 0, 0,
   2683  3, 0, 0,
   2684  3, 0, 0
   2685 };
   2686 
   2687 #define NB_CYL 4
   2688 #define CYL_VRTX_COUNT 134u
   2689 #define CYL_TRG_COUNT 264u
   2690 
   2691 int
   2692 main(int argc, char** argv)
   2693 {
   2694   struct mem_allocator allocator;
   2695   struct senc3d_device* dev = NULL;
   2696   struct senc3d_scene* scn = NULL;
   2697   struct context ctx = CONTEXT_NULL__;
   2698   unsigned e, count;
   2699   (void)argc, (void)argv;
   2700 
   2701   OK(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
   2702   OK(senc3d_device_create(NULL, &allocator, SENC3D_NTHREADS_DEFAULT, 1, &dev));
   2703 
   2704   /* Create a scene */
   2705   ctx.positions = some_triangles_vertices;
   2706   ctx.indices = some_triangles_triangles;
   2707   ctx.properties = some_triangles_properties;
   2708   OK(senc3d_scene_create(dev,
   2709     SENC3D_CONVENTION_NORMAL_FRONT | SENC3D_CONVENTION_NORMAL_INSIDE,
   2710     some_triangles_triangles_count, get_indices, get_media_from_properties,
   2711     some_triangles_vertices_count, get_position, &ctx, &scn));
   2712 
   2713   OK(senc3d_scene_get_vertices_count(scn, &count));
   2714   CHK(count == NB_CYL * CYL_VRTX_COUNT);
   2715   OK(senc3d_scene_get_triangles_count(scn, &count));
   2716   CHK(count == NB_CYL * CYL_TRG_COUNT);
   2717 
   2718   OK(senc3d_scene_get_enclosure_count(scn, &count));
   2719   CHK(count == 1 + NB_CYL);
   2720   FOR_EACH(e, 0, count) {
   2721     struct senc3d_enclosure* enclosure;
   2722     struct senc3d_enclosure_header header;
   2723     OK(senc3d_scene_get_enclosure(scn, e, &enclosure));
   2724     OK(senc3d_enclosure_get_header(enclosure, &header));
   2725     CHK(header.primitives_count ==
   2726       (e ? CYL_TRG_COUNT : NB_CYL * CYL_TRG_COUNT));
   2727     OK(senc3d_enclosure_ref_put(enclosure));
   2728   }
   2729 
   2730   OK(senc3d_scene_ref_put(scn));
   2731   OK(senc3d_device_ref_put(dev));
   2732 
   2733   check_memory_allocator(&allocator);
   2734   mem_shutdown_proxy_allocator(&allocator);
   2735   CHK(mem_allocated_size() == 0);
   2736   return 0;
   2737 }