commit 6adc14c2906c90094f239c2af67327cd2a2a4b89
parent d89f80c06a0f20d3c9053d29c21050681ce226aa
Author: Christophe Coustet <christophe.coustet@meso-star.com>
Date: Tue, 27 Feb 2024 18:15:01 +0100
Add a new test that fails.
This test comes from a model that fails in city_generator.
The triangles are the glazing part of a building.
See the commit message of the fix for a description.
Diffstat:
2 files changed, 1128 insertions(+), 0 deletions(-)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
@@ -162,6 +162,7 @@ if(NOT NO_TEST)
new_test(test_senc3d_some_triangles)
new_test(test_senc3d_unspecified_medium)
new_test(test_senc3d_zero_distance)
+ new_test(test_senc3d_glazing)
target_link_libraries(test_senc3d_enclosure Star3D)
rcmake_copy_runtime_libraries(test_senc3d_enclosure)
diff --git a/src/test_senc3d_glazing.c b/src/test_senc3d_glazing.c
@@ -0,0 +1,1127 @@
+/* Copyright (C) 2018-2020, 2023 |Méso|Star> (contact@meso-star.com)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* This test has been created using the sg3_geometry_dump_as_C_code feature
+ * of star-geometry. It uses output from test_sg3_cube_on_cube. */
+
+#define _POSIX_C_SOURCE 200112L /* snprintf */
+
+#include "senc3d.h"
+#include "test_senc3d_utils.h"
+
+#include <rsys/double3.h>
+
+#include <stdio.h>
+
+#define glazing_UNSPECIFIED_PROPERTY 4294967295
+
+static const unsigned
+glazing_vertices_count = 223;
+
+static const unsigned
+glazing_triangles_count = 398;
+
+static const double
+glazing_vertices[223*3] = {
+ 82.6042, 60.329, 2.7625,
+ 83.9367, 60.4228, 2.51177,
+ 82.6042, 60.329, 1.24942,
+ 84.3672, 60.4531, 1.24942,
+ 84.3672, 60.4531, 4.27558,
+ 83.4786, 60.3906, 3.4916,
+ 82.6042, 60.329, 4.27558,
+ 86.1302, 60.5772, 4.27558,
+ 85.0127, 60.4986, 3.24271,
+ 85.1251, 60.5065, 2.219,
+ 86.1302, 60.5772, 1.24942,
+ 86.1302, 60.5772, 2.7625,
+ 86.1319, 60.5533, 1.24942,
+ 84.3689, 60.4292, 1.24942,
+ 82.6059, 60.3051, 1.24942,
+ 82.6059, 60.3051, 2.7625,
+ 82.6059, 60.3051, 4.27558,
+ 84.3689, 60.4292, 4.27558,
+ 86.1319, 60.5533, 4.27558,
+ 86.1319, 60.5533, 2.7625,
+ 84.7508, 60.4561, 2.59095,
+ 83.6545, 60.3789, 3.23353,
+ 83.611, 60.3758, 2.219,
+ 89.8033, 59.2472, 2.7625,
+ 89.1016, 59.2344, 1.24942,
+ 88.3998, 59.2215, 2.7625,
+ 89.1016, 59.2344, 4.27558,
+ 89.8033, 59.2472, 1.24942,
+ 88.3998, 59.2215, 1.24942,
+ 88.3998, 59.2215, 4.27558,
+ 89.8033, 59.2472, 4.27558,
+ 89.8038, 59.2232, 1.24942,
+ 89.102, 59.2104, 1.24942,
+ 88.4002, 59.1975, 1.24942,
+ 88.4002, 59.1975, 2.7625,
+ 88.4002, 59.1975, 4.27558,
+ 89.102, 59.2104, 4.27558,
+ 89.8038, 59.2232, 4.27558,
+ 89.8038, 59.2232, 2.7625,
+ 86.1302, 60.5772, 8.4875,
+ 84.7976, 60.4834, 8.73823,
+ 86.1302, 60.5772, 10.0006,
+ 84.3672, 60.4531, 10.0006,
+ 84.3672, 60.4531, 6.97442,
+ 85.2558, 60.5157, 7.7584,
+ 86.1302, 60.5772, 6.97442,
+ 82.6042, 60.329, 6.97442,
+ 83.7217, 60.4077, 8.00729,
+ 83.6093, 60.3998, 9.031,
+ 82.6042, 60.329, 10.0006,
+ 82.6042, 60.329, 8.4875,
+ 82.6059, 60.3051, 6.97442,
+ 84.3689, 60.4292, 6.97442,
+ 86.1319, 60.5533, 6.97442,
+ 82.6059, 60.3051, 8.4875,
+ 82.6059, 60.3051, 10.0006,
+ 84.3689, 60.4292, 10.0006,
+ 86.1319, 60.5533, 10.0006,
+ 86.1319, 60.5533, 8.4875,
+ 84.7993, 60.4595, 8.73823,
+ 85.2575, 60.4917, 7.7584,
+ 83.7234, 60.3837, 8.00729,
+ 83.611, 60.3758, 9.031,
+ 82.2266, 68.3242, 10.0006,
+ 82.2266, 68.3242, 6.97442,
+ 82.8171, 72.7595, 8.4875,
+ 81.636, 63.889, 8.4875,
+ 82.8171, 72.7595, 6.97442,
+ 81.636, 63.889, 6.97442,
+ 82.8171, 72.7595, 10.0006,
+ 81.636, 63.889, 10.0006,
+ 82.7933, 72.7627, 6.97442,
+ 82.2028, 68.3274, 6.97442,
+ 81.6123, 63.8921, 6.97442,
+ 82.7933, 72.7627, 8.4875,
+ 82.7933, 72.7627, 10.0006,
+ 82.2028, 68.3274, 10.0006,
+ 81.6123, 63.8921, 10.0006,
+ 81.6123, 63.8921, 8.4875,
+ 84.5273, 76.4272, 8.4875,
+ 85.6048, 76.4318, 8.93555,
+ 84.5273, 76.4272, 10.0006,
+ 87.4884, 76.44, 6.97442,
+ 86.3533, 76.4351, 8.11727,
+ 86.0078, 76.4336, 6.97442,
+ 87.4884, 76.44, 8.4875,
+ 86.0078, 76.4336, 10.0006,
+ 84.5273, 76.4272, 6.97442,
+ 85.3385, 76.4307, 7.80041,
+ 87.4884, 76.44, 10.0006,
+ 86.6106, 76.4362, 9.11589,
+ 87.4883, 76.464, 6.97442,
+ 86.0077, 76.4576, 6.97442,
+ 84.5271, 76.4512, 6.97442,
+ 87.4883, 76.464, 8.4875,
+ 87.4883, 76.464, 10.0006,
+ 86.0077, 76.4576, 10.0006,
+ 84.5271, 76.4512, 10.0006,
+ 84.5271, 76.4512, 8.4875,
+ 85.6047, 76.4558, 8.93555,
+ 86.3532, 76.4591, 8.11727,
+ 85.3384, 76.4547, 7.80041,
+ 86.6105, 76.4602, 9.11589,
+ 90.2861, 60.7753, 8.4875,
+ 90.3545, 59.7013, 8.4875,
+ 90.3203, 60.2383, 10.0006,
+ 90.3203, 60.2383, 6.97442,
+ 90.3545, 59.7013, 6.97442,
+ 90.2861, 60.7753, 6.97442,
+ 90.3545, 59.7013, 10.0006,
+ 90.2861, 60.7753, 10.0006,
+ 90.3785, 59.7028, 6.97442,
+ 90.3443, 60.2398, 6.97442,
+ 90.31, 60.7768, 6.97442,
+ 90.3785, 59.7028, 8.4875,
+ 90.3785, 59.7028, 10.0006,
+ 90.3443, 60.2398, 10.0006,
+ 90.31, 60.7768, 10.0006,
+ 90.31, 60.7768, 8.4875,
+ 84.5273, 76.4272, 2.7625,
+ 85.6048, 76.4318, 3.21055,
+ 84.5273, 76.4272, 4.27558,
+ 87.4884, 76.44, 1.24942,
+ 86.3533, 76.4351, 2.39227,
+ 86.0078, 76.4336, 1.24942,
+ 87.4884, 76.44, 2.7625,
+ 86.0078, 76.4336, 4.27558,
+ 84.5273, 76.4272, 1.24942,
+ 85.3385, 76.4307, 2.07541,
+ 87.4884, 76.44, 4.27558,
+ 86.6106, 76.4362, 3.39089,
+ 84.5271, 76.4512, 1.24942,
+ 86.0077, 76.4576, 1.24942,
+ 87.4883, 76.464, 1.24942,
+ 87.4883, 76.464, 2.7625,
+ 87.4883, 76.464, 4.27558,
+ 86.0077, 76.4576, 4.27558,
+ 84.5271, 76.4512, 4.27558,
+ 84.5271, 76.4512, 2.7625,
+ 86.4107, 76.4593, 3.21055,
+ 85.6622, 76.4561, 2.39227,
+ 86.677, 76.4605, 2.07541,
+ 85.405, 76.455, 3.39089,
+ 81.636, 63.889, 2.7625,
+ 82.2266, 68.3242, 1.24942,
+ 82.2266, 68.3242, 4.27558,
+ 82.8171, 72.7595, 2.7625,
+ 81.636, 63.889, 1.24942,
+ 82.8171, 72.7595, 1.24942,
+ 82.8171, 72.7595, 4.27558,
+ 81.636, 63.889, 4.27558,
+ 81.6123, 63.8921, 1.24942,
+ 82.2028, 68.3274, 1.24942,
+ 82.7933, 72.7627, 1.24942,
+ 82.7933, 72.7627, 2.7625,
+ 82.7933, 72.7627, 4.27558,
+ 82.2028, 68.3274, 4.27558,
+ 81.6123, 63.8921, 4.27558,
+ 81.6123, 63.8921, 2.7625,
+ 89.8033, 59.2472, 8.4875,
+ 88.3998, 59.2215, 8.4875,
+ 89.1016, 59.2344, 10.0006,
+ 89.1016, 59.2344, 6.97442,
+ 88.3998, 59.2215, 6.97442,
+ 89.8033, 59.2472, 6.97442,
+ 88.3998, 59.2215, 10.0006,
+ 89.8033, 59.2472, 10.0006,
+ 88.4002, 59.1975, 6.97442,
+ 89.102, 59.2104, 6.97442,
+ 89.8038, 59.2232, 6.97442,
+ 88.4002, 59.1975, 8.4875,
+ 88.4002, 59.1975, 10.0006,
+ 89.102, 59.2104, 10.0006,
+ 89.8038, 59.2232, 10.0006,
+ 89.8038, 59.2232, 8.4875,
+ 90.2861, 60.7753, 2.7625,
+ 90.3545, 59.7013, 2.7625,
+ 90.3203, 60.2383, 4.27558,
+ 90.3203, 60.2383, 1.24942,
+ 90.2861, 60.7753, 1.24942,
+ 90.3545, 59.7013, 1.24942,
+ 90.3545, 59.7013, 4.27558,
+ 90.2861, 60.7753, 4.27558,
+ 90.31, 60.7768, 1.24942,
+ 90.3443, 60.2398, 1.24942,
+ 90.3785, 59.7028, 1.24942,
+ 90.3785, 59.7028, 2.7625,
+ 90.3785, 59.7028, 4.27558,
+ 90.3443, 60.2398, 4.27558,
+ 90.31, 60.7768, 4.27558,
+ 90.31, 60.7768, 2.7625,
+ 89.0607, 73.002, 2.7625,
+ 89.4844, 68.832, 1.24942,
+ 89.4844, 68.832, 4.27558,
+ 89.908, 64.6621, 2.7625,
+ 89.0607, 73.002, 1.24942,
+ 89.908, 64.6621, 1.24942,
+ 89.908, 64.6621, 4.27558,
+ 89.0607, 73.002, 4.27558,
+ 89.0846, 73.0044, 1.24942,
+ 89.5083, 68.8345, 1.24942,
+ 89.9319, 64.6645, 1.24942,
+ 89.9319, 64.6645, 2.7625,
+ 89.9319, 64.6645, 4.27558,
+ 89.5083, 68.8345, 4.27558,
+ 89.0846, 73.0044, 4.27558,
+ 89.0846, 73.0044, 2.7625,
+ 89.0607, 73.002, 8.4875,
+ 89.4844, 68.832, 6.97442,
+ 89.4844, 68.832, 10.0006,
+ 89.908, 64.6621, 8.4875,
+ 89.908, 64.6621, 6.97442,
+ 89.0607, 73.002, 6.97442,
+ 89.908, 64.6621, 10.0006,
+ 89.0607, 73.002, 10.0006,
+ 89.9319, 64.6645, 6.97442,
+ 89.5083, 68.8345, 6.97442,
+ 89.0846, 73.0044, 6.97442,
+ 89.9319, 64.6645, 8.4875,
+ 89.9319, 64.6645, 10.0006,
+ 89.5083, 68.8345, 10.0006,
+ 89.0846, 73.0044, 10.0006,
+ 89.0846, 73.0044, 8.4875
+};
+
+static const unsigned
+glazing_triangles[398*3] = {
+ 0, 1, 2,
+ 2, 1, 3,
+ 4, 5, 6,
+ 7, 8, 4,
+ 3, 9, 10,
+ 11, 8, 7,
+ 1, 5, 8,
+ 8, 5, 4,
+ 6, 5, 0,
+ 10, 9, 11,
+ 1, 8, 9,
+ 3, 1, 9,
+ 0, 5, 1,
+ 9, 8, 11,
+ 3, 10, 12,
+ 13, 14, 2,
+ 3, 13, 2,
+ 3, 12, 13,
+ 0, 2, 14,
+ 15, 16, 6,
+ 0, 15, 6,
+ 0, 14, 15,
+ 4, 6, 16,
+ 17, 18, 7,
+ 4, 17, 7,
+ 4, 16, 17,
+ 11, 12, 10,
+ 19, 7, 18,
+ 11, 7, 19,
+ 11, 19, 12,
+ 17, 20, 18,
+ 19, 20, 12,
+ 12, 20, 13,
+ 16, 21, 17,
+ 13, 22, 14,
+ 15, 21, 16,
+ 17, 21, 20,
+ 14, 22, 15,
+ 20, 21, 22,
+ 13, 20, 22,
+ 22, 21, 15,
+ 18, 20, 19,
+ 23, 24, 25,
+ 23, 25, 26,
+ 23, 27, 24,
+ 24, 28, 25,
+ 25, 29, 26,
+ 26, 30, 23,
+ 24, 27, 31,
+ 32, 33, 28,
+ 24, 32, 28,
+ 24, 31, 32,
+ 25, 28, 33,
+ 34, 35, 29,
+ 25, 34, 29,
+ 25, 33, 34,
+ 26, 29, 35,
+ 36, 37, 30,
+ 26, 36, 30,
+ 26, 35, 36,
+ 23, 31, 27,
+ 38, 30, 37,
+ 23, 30, 38,
+ 23, 38, 31,
+ 34, 32, 38,
+ 36, 34, 38,
+ 32, 31, 38,
+ 34, 33, 32,
+ 36, 35, 34,
+ 38, 37, 36,
+ 39, 40, 41,
+ 41, 40, 42,
+ 43, 44, 45,
+ 46, 47, 43,
+ 42, 48, 49,
+ 50, 47, 46,
+ 40, 44, 47,
+ 47, 44, 43,
+ 45, 44, 39,
+ 49, 48, 50,
+ 40, 47, 48,
+ 42, 40, 48,
+ 39, 44, 40,
+ 48, 47, 50,
+ 43, 51, 46,
+ 52, 45, 53,
+ 43, 45, 52,
+ 43, 52, 51,
+ 50, 46, 51,
+ 54, 55, 49,
+ 50, 54, 49,
+ 50, 51, 54,
+ 56, 49, 55,
+ 42, 49, 56,
+ 42, 57, 41,
+ 42, 56, 57,
+ 39, 53, 45,
+ 58, 41, 57,
+ 41, 58, 39,
+ 39, 58, 53,
+ 57, 59, 58,
+ 56, 59, 57,
+ 53, 60, 52,
+ 52, 61, 51,
+ 55, 62, 56,
+ 51, 61, 54,
+ 61, 60, 59,
+ 52, 60, 61,
+ 58, 60, 53,
+ 54, 62, 55,
+ 62, 61, 59,
+ 62, 59, 56,
+ 59, 60, 58,
+ 54, 61, 62,
+ 63, 64, 65,
+ 66, 64, 63,
+ 64, 67, 65,
+ 66, 68, 64,
+ 65, 69, 63,
+ 63, 70, 66,
+ 64, 71, 67,
+ 72, 68, 73,
+ 64, 68, 72,
+ 64, 72, 71,
+ 65, 67, 71,
+ 74, 75, 69,
+ 65, 74, 69,
+ 65, 71, 74,
+ 76, 69, 75,
+ 63, 69, 76,
+ 63, 77, 70,
+ 63, 76, 77,
+ 66, 73, 68,
+ 78, 70, 77,
+ 70, 78, 66,
+ 66, 78, 73,
+ 74, 72, 76,
+ 76, 72, 78,
+ 74, 71, 72,
+ 72, 73, 78,
+ 76, 75, 74,
+ 78, 77, 76,
+ 79, 80, 81,
+ 82, 83, 84,
+ 85, 83, 82,
+ 81, 80, 86,
+ 87, 88, 79,
+ 89, 90, 85,
+ 84, 88, 87,
+ 86, 90, 89,
+ 79, 88, 80,
+ 90, 83, 85,
+ 80, 88, 83,
+ 83, 88, 84,
+ 90, 80, 83,
+ 86, 80, 90,
+ 84, 91, 82,
+ 92, 87, 93,
+ 84, 87, 92,
+ 84, 92, 91,
+ 85, 82, 91,
+ 94, 95, 89,
+ 85, 94, 89,
+ 85, 91, 94,
+ 96, 89, 95,
+ 86, 89, 96,
+ 86, 97, 81,
+ 86, 96, 97,
+ 79, 93, 87,
+ 98, 81, 97,
+ 81, 98, 79,
+ 79, 98, 93,
+ 97, 99, 98,
+ 92, 100, 91,
+ 91, 100, 94,
+ 96, 99, 97,
+ 98, 101, 93,
+ 94, 102, 95,
+ 93, 101, 92,
+ 95, 102, 96,
+ 99, 101, 98,
+ 94, 100, 102,
+ 100, 101, 99,
+ 92, 101, 100,
+ 100, 99, 102,
+ 102, 99, 96,
+ 103, 104, 105,
+ 103, 106, 104,
+ 106, 107, 104,
+ 103, 108, 106,
+ 104, 109, 105,
+ 105, 110, 103,
+ 106, 111, 107,
+ 112, 108, 113,
+ 106, 108, 112,
+ 106, 112, 111,
+ 104, 107, 111,
+ 114, 115, 109,
+ 104, 114, 109,
+ 104, 111, 114,
+ 116, 109, 115,
+ 105, 109, 116,
+ 105, 117, 110,
+ 105, 116, 117,
+ 103, 113, 108,
+ 118, 110, 117,
+ 110, 118, 103,
+ 103, 118, 113,
+ 114, 112, 118,
+ 116, 114, 118,
+ 114, 111, 112,
+ 112, 113, 118,
+ 116, 115, 114,
+ 118, 117, 116,
+ 119, 120, 121,
+ 122, 123, 124,
+ 125, 123, 122,
+ 121, 120, 126,
+ 127, 128, 119,
+ 129, 130, 125,
+ 124, 128, 127,
+ 126, 130, 129,
+ 119, 128, 120,
+ 130, 123, 125,
+ 120, 128, 123,
+ 123, 128, 124,
+ 130, 120, 123,
+ 126, 120, 130,
+ 124, 127, 131,
+ 132, 133, 122,
+ 124, 132, 122,
+ 124, 131, 132,
+ 125, 122, 133,
+ 134, 135, 129,
+ 125, 134, 129,
+ 125, 133, 134,
+ 126, 129, 135,
+ 136, 137, 121,
+ 126, 136, 121,
+ 126, 135, 136,
+ 119, 131, 127,
+ 138, 121, 137,
+ 119, 121, 138,
+ 119, 138, 131,
+ 134, 139, 135,
+ 131, 140, 132,
+ 138, 140, 131,
+ 135, 139, 136,
+ 133, 141, 134,
+ 137, 142, 138,
+ 132, 141, 133,
+ 136, 142, 137,
+ 134, 141, 139,
+ 142, 140, 138,
+ 139, 141, 140,
+ 140, 141, 132,
+ 142, 139, 140,
+ 136, 139, 142,
+ 143, 144, 145,
+ 145, 144, 146,
+ 143, 147, 144,
+ 144, 148, 146,
+ 146, 149, 145,
+ 145, 150, 143,
+ 144, 147, 151,
+ 152, 153, 148,
+ 144, 152, 148,
+ 144, 151, 152,
+ 146, 148, 153,
+ 154, 155, 149,
+ 146, 154, 149,
+ 146, 153, 154,
+ 145, 149, 155,
+ 156, 157, 150,
+ 145, 156, 150,
+ 145, 155, 156,
+ 143, 151, 147,
+ 158, 150, 157,
+ 143, 150, 158,
+ 143, 158, 151,
+ 156, 152, 158,
+ 154, 152, 156,
+ 152, 151, 158,
+ 154, 153, 152,
+ 156, 155, 154,
+ 158, 157, 156,
+ 159, 160, 161,
+ 159, 162, 160,
+ 162, 163, 160,
+ 159, 164, 162,
+ 160, 165, 161,
+ 161, 166, 159,
+ 162, 167, 163,
+ 168, 164, 169,
+ 162, 164, 168,
+ 162, 168, 167,
+ 160, 163, 167,
+ 170, 171, 165,
+ 160, 170, 165,
+ 160, 167, 170,
+ 172, 165, 171,
+ 161, 165, 172,
+ 161, 173, 166,
+ 161, 172, 173,
+ 159, 169, 164,
+ 174, 166, 173,
+ 166, 174, 159,
+ 159, 174, 169,
+ 172, 170, 174,
+ 170, 168, 174,
+ 170, 167, 168,
+ 168, 169, 174,
+ 172, 171, 170,
+ 174, 173, 172,
+ 175, 176, 177,
+ 175, 178, 176,
+ 175, 179, 178,
+ 178, 180, 176,
+ 176, 181, 177,
+ 177, 182, 175,
+ 178, 179, 183,
+ 184, 185, 180,
+ 178, 184, 180,
+ 178, 183, 184,
+ 176, 180, 185,
+ 186, 187, 181,
+ 176, 186, 181,
+ 176, 185, 186,
+ 177, 181, 187,
+ 188, 189, 182,
+ 177, 188, 182,
+ 177, 187, 188,
+ 175, 183, 179,
+ 190, 182, 189,
+ 175, 182, 190,
+ 175, 190, 183,
+ 188, 186, 190,
+ 186, 184, 190,
+ 184, 183, 190,
+ 186, 185, 184,
+ 188, 187, 186,
+ 190, 189, 188,
+ 191, 192, 193,
+ 193, 192, 194,
+ 191, 195, 192,
+ 192, 196, 194,
+ 194, 197, 193,
+ 193, 198, 191,
+ 192, 195, 199,
+ 200, 201, 196,
+ 192, 200, 196,
+ 192, 199, 200,
+ 194, 196, 201,
+ 202, 203, 197,
+ 194, 202, 197,
+ 194, 201, 202,
+ 193, 197, 203,
+ 204, 205, 198,
+ 193, 204, 198,
+ 193, 203, 204,
+ 191, 199, 195,
+ 206, 198, 205,
+ 191, 198, 206,
+ 191, 206, 199,
+ 204, 200, 206,
+ 202, 200, 204,
+ 200, 199, 206,
+ 202, 201, 200,
+ 204, 203, 202,
+ 206, 205, 204,
+ 207, 208, 209,
+ 209, 208, 210,
+ 208, 211, 210,
+ 207, 212, 208,
+ 210, 213, 209,
+ 209, 214, 207,
+ 208, 215, 211,
+ 216, 212, 217,
+ 208, 212, 216,
+ 208, 216, 215,
+ 210, 211, 215,
+ 218, 219, 213,
+ 210, 218, 213,
+ 210, 215, 218,
+ 220, 213, 219,
+ 209, 213, 220,
+ 209, 221, 214,
+ 209, 220, 221,
+ 207, 217, 212,
+ 222, 214, 221,
+ 214, 222, 207,
+ 207, 222, 217,
+ 220, 216, 222,
+ 218, 216, 220,
+ 218, 215, 216,
+ 216, 217, 222,
+ 220, 219, 218,
+ 222, 221, 220
+};
+
+static const unsigned
+glazing_properties[398*3] = {
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY,
+ 0, glazing_UNSPECIFIED_PROPERTY, glazing_UNSPECIFIED_PROPERTY
+};
+
+
+int
+main(int argc, char** argv)
+{
+ struct mem_allocator allocator;
+ struct senc3d_device* dev = NULL;
+ struct senc3d_scene* scn = NULL;
+ struct context ctx = CONTEXT_NULL__;
+ unsigned ecount, tcount, e;
+ /* Triangle counts and their numbers of occurence */
+ const unsigned possible_trg_counts[] = { 28, 44, 398, 42 };
+ int possible_cpt[] = { 8, 3, 1, 1 };
+ const size_t sz = sizeof(possible_trg_counts)/sizeof(*possible_trg_counts);
+ size_t i;
+ (void)argc, (void)argv;
+ ASSERT(sz == sizeof(possible_cpt)/sizeof(*possible_cpt));
+
+ OK(mem_init_proxy_allocator(&allocator, &mem_default_allocator));
+ OK(senc3d_device_create(NULL, &allocator, SENC3D_NTHREADS_DEFAULT, 1, &dev));
+
+ /* Degenerated triangle: duplicated vertex */
+ ctx.positions = glazing_vertices;
+ ctx.indices = glazing_triangles;
+ ctx.properties = glazing_properties;
+ OK(senc3d_scene_create(dev,
+ SENC3D_CONVENTION_NORMAL_FRONT | SENC3D_CONVENTION_NORMAL_INSIDE,
+ glazing_triangles_count, get_indices, get_media_from_properties,
+ glazing_vertices_count, get_position, &ctx, &scn));
+
+ OK(senc3d_scene_get_triangles_count(scn, &tcount));
+ CHK(tcount == glazing_triangles_count);
+ OK(senc3d_scene_get_enclosure_count(scn, &ecount));
+ CHK(ecount == 13);
+ for(e = 0; e < ecount; e++) {
+ struct senc3d_enclosure_header header;
+ struct senc3d_enclosure* enc;
+ int found = 0;
+ OK(senc3d_scene_get_enclosure(scn, e, &enc));
+ OK(senc3d_enclosure_get_header(enc, &header));
+ for(i = 0; i < sz; i++) {
+ if(possible_trg_counts[i] == header.unique_primitives_count) {
+ possible_cpt[i]--;
+ found = 1;
+ break;
+ }
+ }
+ CHK(found);
+ OK(senc3d_enclosure_ref_put(enc));
+ }
+ for(i = 0; i < sz; i++) {
+ CHK(possible_cpt[i] == 0);
+ }
+
+ OK(senc3d_scene_ref_put(scn));
+ OK(senc3d_device_ref_put(dev));
+
+ check_memory_allocator(&allocator);
+ mem_shutdown_proxy_allocator(&allocator);
+ CHK(mem_allocated_size() == 0);
+ return 0;
+}