Back to... GLOBE_3D

Source file : x29.adb


------------------------------------------------------------------------------
--  File:            X29.adb
--  Description:     x29 aircraft data base from Evans & Sutherland
--  Copyright: (c) Evans & Sutherland -- ok to distribute if copyright appears
------------------------------------------------------------------------------

with GL.Math, GL.Materials;

package body X29 is

  use GL, GL.Math, GL.Materials, GLOBE_3D;

  procedure Create(
    object: in out GLOBE_3D.p_Object_3D;
    scale :        GLOBE_3D.Real;
    centre:        GLOBE_3D.Point_3D
  )
  is

    nb_points: constant:= 590;
    nb_faces:  constant:= 955;

    object_points: constant array( 1..nb_points ) of Vector_3D :=
     ((7.05889, 2.89081, 0.0),
      (4.34717, 0.725027, 0.059694),
      (7.07989, 2.88901, 0.0),
      (4.34717, 0.725027, -0.059694),
      (5.06259, 0.662634, 0.119688),
      (7.33007, 2.86711, 0.0419958),
      (7.33007, 2.86711, -0.0419958),
      (5.06259, 0.662634, -0.119688),
      (5.59894, 0.615838, 0.119688),
      (7.51785, 2.85091, 0.0419958),
      (7.51785, 2.85091, -0.0419958),
      (5.59894, 0.615838, -0.119688),
      (7.17858, 0.477852, 0.0),
      (8.14898, 3.006, 0.0),
      (7.21578, 2.9673, 0.0),
      (7.48905, 3.0036, 0.0),
      (7.11439, -0.235476, -1.46055),
      (6.50185, -0.188381, -1.46055),
      (6.50185, -0.188381, -0.577742),
      (7.11439, -0.235476, -0.548645),
      (3.06719, -0.176382, -1.46055),
      (4.28747, -0.180582, -0.683032),
      (3.06719, -0.389961, -1.46055),
      (6.50185, -0.282572, -1.46055),
      (6.50185, -0.282572, -0.577742),
      (4.28747, -0.351865, -0.683032),
      (3.9578, -0.518348, -1.46055),
      (3.55734, -0.285571, -1.46055),
      (3.51475, -0.433457, -1.46055),
      (7.11439, -0.235476, 1.46055),
      (7.11439, -0.235476, 0.548645),
      (6.50185, -0.188381, 0.577742),
      (6.50185, -0.188381, 1.46055),
      (4.28747, -0.180582, 0.683032),
      (3.06719, -0.176382, 1.46055),
      (3.06719, -0.389961, 1.46055),
      (4.28747, -0.351865, 0.683032),
      (6.50185, -0.282572, 0.577742),
      (6.50185, -0.282572, 1.46055),
      (7.11439, -0.235476, 0.548645),
      (7.11439, -0.235476, 1.46055),
      (3.9578, -0.518348, 1.46055),
      (3.51475, -0.433457, 1.46055),
      (3.55734, -0.285571, 1.46055),
      (3.06719, -0.176382, -1.46055),
      (1.79052, -0.151485, -0.80092),
      (1.37116, -0.160484, -1.87571),
      (1.0154, -0.142786, -0.883412),
      (0.848015, -0.235776, -2.0038),
      (0.356064, -0.231577, -0.953605),
      (0.60294, -0.346765, -2.06379),
      (0.0470953, -0.363264, -0.986601),
      (0.356064, -0.231577, -0.953605),
      (0.60294, -0.346765, -2.06379),
      (0.565443, -0.380362, -2.07309),
      (0.0, -0.40286, -0.991701),
      (0.0470953, -0.363264, -0.986601),
      (0.565443, -0.428657, -2.07309),
      (0.0, -0.464054, -0.991701),
      (0.60294, -0.462854, -2.06379),
      (0.0470953, -0.50395, -0.986601),
      (0.767923, -0.49885, -2.0236),
      (0.255274, -0.545645, -0.964403),
      (1.49355, -0.49795, -1.84572),
      (1.16928, -0.539646, -0.867213),
      (0.255274, -0.545645, -0.964403),
      (1.49355, -0.49795, -1.84572),
      (2.50175, -0.392361, -1.59914),
      (1.79052, -0.473953, -0.80092),
      (1.16928, -0.539646, -0.867213),
      (3.06719, -0.389961, -1.46055),
      (4.28747, -0.351865, -0.683032),
      (3.06719, -0.176382, 1.46055),
      (4.28747, -0.180582, 0.683032),
      (1.79052, -0.151485, 0.80092),
      (1.0154, -0.142786, 0.883412),
      (1.37116, -0.160484, 1.87571),
      (0.356064, -0.231577, 0.953605),
      (0.848015, -0.235776, 2.0038),
      (0.0470953, -0.363264, 0.986601),
      (0.60294, -0.346765, 2.06379),
      (0.0, -0.40286, 0.991701),
      (0.565443, -0.380362, 2.07309),
      (0.0, -0.464054, 0.991701),
      (0.565443, -0.428657, 2.07309),
      (0.0470953, -0.50395, 0.986601),
      (0.60294, -0.462854, 2.06379),
      (0.0470953, -0.50395, 0.986601),
      (0.255274, -0.545645, 0.964403),
      (0.767923, -0.49885, 2.0236),
      (1.16928, -0.539646, 0.867213),
      (1.49355, -0.49795, 1.84572),
      (1.79052, -0.473953, 0.80092),
      (2.50175, -0.392361, 1.59914),
      (3.06719, -0.389961, 1.46055),
      (4.28747, -0.351865, 0.683032),
      (0.377062, -0.329667, -5.0413),
      (0.164983, -0.290971, -5.05389),
      (0.183882, -0.223778, -5.05299),
      (-0.0422958, -0.271473, -5.06619),
      (-0.311069, -0.274773, -5.08239),
      (-1.09309, -0.208179, -5.12889),
      (-0.843516, -0.166783, -5.11389),
      (-0.0422958, -0.175782, -5.06619),
      (-0.786821, -0.337766, -5.11059),
      (-1.13089, -0.341966, -5.13099),
      (-1.20618, -0.323968, -5.13549),
      (-1.22508, -0.305069, -5.13669),
      (-1.22508, -0.285571, -5.13669),
      (-1.20618, -0.266673, -5.13549),
      (0.10109, -0.175782, -4.90001),
      (0.327267, -0.226177, -4.90001),
      (0.518348, -0.337166, -4.90001),
      (0.565443, -0.380362, -2.07309),
      (0.565443, -0.428657, -2.07309),
      (0.60294, -0.462854, -2.06379),
      (0.767923, -0.49885, -2.0236),
      (1.49355, -0.49795, -1.84572),
      (2.50175, -0.392361, -1.59914),
      (0.10109, -0.276872, -4.90001),
      (0.308369, -0.29697, -4.90001),
      (0.377062, -0.329667, 5.0413),
      (0.183882, -0.223778, 5.05299),
      (0.164983, -0.290971, 5.05389),
      (-0.0422958, -0.271473, 5.06619),
      (-0.0422958, -0.175782, 5.06619),
      (-0.843516, -0.166783, 5.11389),
      (-1.09309, -0.208179, 5.12889),
      (-0.311069, -0.274773, 5.08239),
      (-1.20618, -0.266673, 5.13549),
      (-1.22508, -0.285571, 5.13669),
      (-1.22508, -0.305069, 5.13669),
      (-1.20618, -0.323968, 5.13549),
      (-1.13089, -0.341966, 5.13099),
      (-0.786821, -0.337766, 5.11059),
      (0.10109, -0.175782, 4.90001),
      (3.06719, -0.176382, 1.46055),
      (1.37116, -0.160484, 1.87571),
      (0.518348, -0.337166, 4.90001),
      (0.327267, -0.226177, 4.90001),
      (0.848015, -0.235776, 2.0038),
      (0.60294, -0.346765, 2.06379),
      (0.565443, -0.380362, 2.07309),
      (0.565443, -0.428657, 2.07309),
      (0.60294, -0.462854, 2.06379),
      (0.10109, -0.276872, 4.90001),
      (0.308369, -0.29697, 4.90001),
      (-2.77982, -0.162584, 1.15428),
      (-3.53365, -0.19798, 1.15428),
      (-2.35566, -0.19798, 2.59144),
      (-2.10879, -0.186281, 2.59144),
      (-2.12019, -0.150885, 1.15428),
      (-1.89281, -0.182382, 2.59144),
      (-1.46055, -0.162584, 1.15428),
      (-1.67653, -0.186281, 2.59144),
      (-0.80092, -0.19798, 1.15428),
      (-1.46055, -0.19798, 2.59144),
      (-2.77982, -0.233077, 1.15428),
      (-2.10879, -0.209379, 2.59144),
      (-2.12019, -0.245075, 1.15428),
      (-1.89281, -0.213279, 2.59144),
      (-1.46055, -0.233077, 1.15428),
      (-1.67653, -0.209379, 2.59144),
      (-1.46055, -0.233077, 1.15428),
      (-0.80092, -0.19798, 1.15428),
      (-1.46055, -0.19798, 2.59144),
      (-1.67653, -0.209379, 2.59144),
      (-2.35566, -0.19798, 2.59144),
      (-2.10879, -0.209379, 2.59144),
      (-1.89281, -0.213279, 2.59144),
      (-1.67653, -0.186281, 2.59144),
      (-1.89281, -0.182382, 2.59144),
      (-2.10879, -0.186281, 2.59144),
      (-3.53365, -0.19798, -1.15428),
      (-2.77982, -0.162584, -1.15428),
      (-2.10879, -0.186281, -2.59144),
      (-2.35566, -0.19798, -2.59144),
      (-2.12019, -0.150885, -1.15428),
      (-1.89281, -0.182382, -2.59144),
      (-1.46055, -0.162584, -1.15428),
      (-1.67653, -0.186281, -2.59144),
      (-1.46055, -0.162584, -1.15428),
      (-0.80092, -0.19798, -1.15428),
      (-1.46055, -0.19798, -2.59144),
      (-1.67653, -0.186281, -2.59144),
      (-2.77982, -0.233077, -1.15428),
      (-3.53365, -0.19798, -1.15428),
      (-2.35566, -0.19798, -2.59144),
      (-2.10879, -0.209379, -2.59144),
      (-2.12019, -0.245075, -1.15428),
      (-1.89281, -0.213279, -2.59144),
      (-1.46055, -0.233077, -1.15428),
      (-1.67653, -0.209379, -2.59144),
      (-2.10879, -0.186281, -2.59144),
      (-1.89281, -0.182382, -2.59144),
      (-1.46055, -0.19798, -2.59144),
      (-1.67653, -0.209379, -2.59144),
      (-1.89281, -0.213279, -2.59144),
      (-2.10879, -0.209379, -2.59144),
      (3.9578, -0.518348, 1.46055),
      (3.55734, -0.285571, 1.46055),
      (3.51475, -0.433457, 1.46055),
      (0.518348, -0.337166, 4.90001),
      (-3.39236, 1.31927, 0.0590941),
      (-0.80092, 1.013, 0.10109),
      (-0.80092, 1.013, -0.10109),
      (-3.39236, 1.31927, -0.0590941),
      (-3.40466, 1.28807, 0.176682),
      (-0.80092, 0.981502, 0.215378),
      (-0.80092, 0.981502, -0.215378),
      (-3.40466, 1.28807, -0.176682),
      (-3.43106, 1.22238, 0.292171),
      (-0.80092, 0.914608, 0.327567),
      (-0.80092, 0.914608, -0.327567),
      (-3.43106, 1.22238, -0.292171),
      (-3.46945, 1.12609, 0.389361),
      (-0.80092, 0.817418, 0.422058),
      (-0.80092, 0.817418, -0.422058),
      (-3.46945, 1.12609, -0.389361),
      (-3.50875, 1.0283, 0.446655),
      (-0.80092, 0.730427, 0.471253),
      (-0.80092, 0.730427, -0.471253),
      (-3.50875, 1.0283, -0.446655),
      (-3.54505, 0.937706, 0.471253),
      (-3.54505, 0.937706, -0.471253),
      (-3.62784, 0.730427, 0.471253),
      (-3.62784, 0.730427, -0.471253),
      (-4.85291, 1.23678, -0.0587941),
      (-4.79172, 1.25237, -0.0587941),
      (-4.79172, 1.25237, 0.0587941),
      (-4.85291, 1.23678, 0.0587941),
      (-4.85291, 1.23678, -0.0587941),
      (-4.85291, 1.20528, -0.176682),
      (-4.79172, 1.22088, -0.176682),
      (-4.79172, 1.25237, -0.0587941),
      (-4.85291, 1.23678, 0.0587941),
      (-4.79172, 1.25237, 0.0587941),
      (-4.79172, 1.22088, 0.176682),
      (-4.85291, 1.20528, 0.176682),
      (-4.85291, 1.13869, -0.292171),
      (-4.79172, 1.15398, -0.292171),
      (-4.79172, 1.15398, 0.292171),
      (-4.85291, 1.13869, 0.292171),
      (-4.85291, 1.0412, -0.389361),
      (-4.79172, 1.05679, -0.389361),
      (-4.79172, 1.05679, 0.389361),
      (-4.85291, 1.0412, 0.389361),
      (-4.85291, 0.942206, -0.446655),
      (-4.79172, 0.957804, -0.446655),
      (-4.79172, 0.957804, 0.446655),
      (-4.85291, 0.942206, 0.446655),
      (-4.85291, 0.850415, -0.471253),
      (-4.79172, 0.866013, -0.471253),
      (-4.79172, 0.866013, 0.471253),
      (-4.85291, 0.850415, 0.471253),
      (-4.85291, 0.730427, -0.471253),
      (-4.79172, 0.730427, -0.471253),
      (-4.79172, 0.730427, 0.471253),
      (-4.85291, 0.730427, 0.471253),
      (-6.12509, 0.730427, 0.0587941),
      (-6.0459, 0.730427, 0.176682),
      (-5.87851, 0.730427, 0.292171),
      (-5.63404, 0.730427, 0.389361),
      (-5.63404, 0.730427, -0.389361),
      (-5.87851, 0.730427, -0.292171),
      (-6.0459, 0.730427, -0.176682),
      (-6.12509, 0.730427, -0.0587941),
      (-5.38536, 0.730427, 0.446655),
      (-5.15498, 0.730427, 0.471253),
      (-5.15498, 0.730427, -0.471253),
      (-5.38536, 0.730427, -0.446655),
      (-4.14619, 0.730427, 0.471253),
      (-4.14619, 0.730427, -0.471253),
      (-3.62784, 0.730427, -0.471253),
      (-3.54505, 0.937706, 0.471253),
      (-3.50875, 1.0283, 0.446655),
      (-3.46945, 1.12609, 0.389361),
      (-3.43106, 1.22238, 0.292171),
      (-3.40466, 1.28807, 0.176682),
      (-3.39236, 1.31927, 0.0590941),
      (-3.39236, 1.31927, -0.0590941),
      (-3.40466, 1.28807, -0.176682),
      (-3.43106, 1.22238, -0.292171),
      (-3.46945, 1.12609, -0.389361),
      (-3.50875, 1.0283, -0.446655),
      (-3.54505, 0.937706, -0.471253),
      (-4.79172, 1.25237, 0.0578942),
      (-4.14619, 1.34267, 0.0587941),
      (-4.14619, 1.34267, -0.0587941),
      (-4.14619, 1.31117, 0.176682),
      (-4.14619, 1.31117, -0.176682),
      (-4.14619, 1.24458, 0.292171),
      (-4.14619, 1.24458, -0.292171),
      (-4.14619, 1.14739, 0.389361),
      (-4.14619, 1.14739, -0.389361),
      (-4.14619, 1.0484, 0.446655),
      (-4.14619, 1.0484, -0.446655),
      (-4.14619, 0.956604, 0.471253),
      (-4.14619, 0.956604, -0.471253),
      (-9.9884, 0.0707929, 0.0),          -- nez 300 - 303
      (-9.9884, 0.0434956, -0.0470953),
      (-9.9884, 0.0, 0.0),
      (-9.9884, 0.0434956, 0.0470953),
      (-9.37616, 0.0749925, -0.233377),  -- 2eme pos. 304
      (-9.37616, 0.0509949, -0.233377),
      (-8.66913, 0.109489, -0.377062),
      (-8.66913, 0.0614938, -0.377062),
      (-9.37616, 0.270873, 0.0),
      (-9.37616, 0.251975, -0.0941906),
      (-9.37616, 0.251975, 0.0941906),
      (-9.37616, 0.20428, 0.176682),
      (-9.37616, 0.20428, -0.176682),
      (-9.37616, 0.105889, -0.233377),
      (-9.37616, 0.105889, 0.233377),
      (-9.37616, 0.0, -0.233377),
      (-9.37616, 0.0, 0.233377),
      (-9.37616, -0.080092, 0.181782),
      (-9.37616, -0.080092, -0.181782),
      (-9.37616, -0.127787, -0.0989901),
      (-9.37616, -0.127787, 0.0989901),
      (-9.37616, -0.141286, -0.0488951),
      (-9.37616, -0.141286, 0.0488951),
      (-8.66913, 0.435856, 0.0470953),
      (-8.66913, 0.435856, -0.0470953),
      (-8.66913, 0.409459, -0.146085),
      (-8.66913, 0.409459, 0.146085),
      (-8.66913, 0.335966, -0.273273),
      (-8.66913, 0.335966, 0.273273),
      (-8.66913, 0.156284, -0.377062),
      (-8.66913, 0.156284, 0.377062),
      (-8.66913, 0.0, -0.377062),
      (-8.66913, 0.0, 0.377062),
      (-8.66913, -0.155384, -0.287071),
      (-8.66913, -0.155384, 0.287071),
      (-8.66913, -0.231577, -0.155384),
      (-8.66913, -0.231577, 0.155384),
      (-8.66913, -0.259174, -0.0524947),
      (-8.66913, -0.259174, 0.0524947),
      (-7.89191, 0.553745, 0.0707929),
      (-7.89191, 0.553745, -0.0707929),
      (-7.89191, 0.512049, -0.226177),
      (-7.89191, 0.512049, 0.226177),
      (-7.89191, 0.435856, -0.358164),
      (-7.89191, 0.435856, 0.358164),
      (-7.89191, 0.239976, -0.471253),
      (-7.89191, 0.239976, 0.471253),
      (-7.89191, 0.0, -0.471253),
      (-7.89191, 0.0, 0.471253),
      (-7.89191, -0.207279, -0.365063),
      (-7.89191, -0.207279, 0.365063),
      (-7.89191, -0.287371, -0.226177),
      (-7.89191, -0.287371, 0.226177),
      (-7.89191, -0.329667, -0.0683932),
      (-7.89191, -0.329667, 0.0683932),
      (-6.12509, 0.730427, 0.10379),
      (-6.12509, 0.730427, -0.10379),
      (-6.12509, 0.682432, -0.282572),
      (-6.12509, 0.682432, 0.282572),
      (-6.12509, 0.580442, -0.459254),
      (-6.12509, 0.580442, 0.459254),
      (-6.12509, 0.39656, -0.565443),
      (-6.12509, 0.39656, 0.565443),
      (-6.12509, -0.164983, -0.565443),
      (-6.12509, -0.164983, 0.565443),
      (-6.12509, -0.29697, -0.489251),
      (-6.12509, -0.29697, 0.489251),
      (-6.12509, -0.377962, -0.348565),
      (-6.12509, -0.377962, 0.348565),
      (-6.12509, -0.424158, -0.176682),
      (-6.12509, -0.424158, 0.176682),
      (-4.85291, 0.566943, 0.565443),
      (-4.85291, 0.566943, -0.565443),
      (-4.85291, -0.188381, -0.565443),
      (-4.85291, -0.188381, 0.565443),
      (-4.85291, -0.329667, -0.483852),
      (-4.85291, -0.329667, 0.483852),
      (-4.85291, -0.410659, -0.344066),
      (-4.85291, -0.410659, 0.344066),
      (-4.85291, -0.447555, -0.205779),
      (-4.85291, -0.447555, 0.205779),
      (-3.9578, 0.730427, -0.471253),
      (-3.9578, 0.566943, -0.565443),
      (-3.9578, 0.566943, 0.565443),
      (-3.9578, 0.730427, 0.471253),
      (-3.9578, -0.212079, -0.565443),
      (-3.9578, -0.212079, 0.565443),
      (-3.9578, -0.348565, -0.486551),
      (-3.9578, -0.348565, 0.486551),
      (-3.9578, -0.431057, -0.344066),
      (-3.9578, -0.431057, 0.344066),
      (-3.9578, -0.471253, -0.194081),
      (-3.9578, -0.471253, 0.194081),
      (-0.80092, 0.730427, -0.471253),
      (-0.80092, 0.730427, 0.471253),
      (-0.80092, -0.706729, -0.471253),
      (-0.80092, -0.706729, 0.471253),
      (0.0, 0.753525, -0.422058),
      (0.0, 0.753525, -0.755624),
      (-0.80092, 0.730427, -0.753825),
      (-0.80092, 1.013, 0.10109),
      (0.0, 0.949105, 0.10109),
      (0.0, 0.949105, -0.10109),
      (-0.80092, 1.013, -0.10109),
      (-0.80092, 0.981502, 0.215378),
      (0.0, 0.917308, 0.215378),
      (0.0, 0.917308, -0.215378),
      (-0.80092, 0.981502, -0.215378),
      (-0.80092, 0.914608, 0.327567),
      (0.0, 0.850415, 0.327567),
      (0.0, 0.850415, -0.327567),
      (-0.80092, 0.914608, -0.327567),
      (-0.80092, 0.817418, 0.422058),
      (0.0, 0.753525, 0.422058),
      (-0.80092, 0.817418, -0.422058),
      (-0.80092, 0.730427, 0.753825),
      (0.0, 0.753525, 0.755624),
      (-0.80092, 0.730427, -1.013),
      (-0.80092, 0.730427, 1.013),
      (0.0, 0.658134, -0.920608),
      (-0.80092, 0.669233, -1.11889),
      (-0.80092, 0.669233, 1.11889),
      (0.0, 0.658134, 0.920608),
      (0.0, 0.535446, -0.991701),
      (-0.80092, 0.607739, -1.15428),
      (-0.80092, 0.607739, 1.15428),
      (0.0, 0.535446, 0.991701),
      (0.0, -0.568443, -0.991701),
      (-0.80092, -0.541746, -1.15428),
      (-0.80092, -0.541746, 1.15428),
      (0.0, -0.568443, 0.991701),
      (0.0, -0.662934, -0.966203),
      (0.0, -0.662934, 0.966203),
      (-0.80092, -0.659634, -1.08619),
      (-0.80092, -0.659634, 1.08619),
      (0.0, -0.710029, -0.919108),
      (0.0, -0.710029, 0.919108),
      (0.0, -0.753825, -0.755624),
      (0.0, -0.753825, 0.755624),
      (-0.80092, -0.706729, -1.0046),
      (-0.80092, -0.706729, 1.0046),
      (-0.80092, -0.706729, -0.753825),
      (-0.80092, -0.706729, 0.753825),
      (1.79052, 0.824618, -0.188381),
      (1.79052, 0.824618, -0.282572),
      (1.79052, 0.824618, 0.188381),
      (1.79052, 0.824618, 0.282572),
      (1.79052, 0.767623, -0.494651),
      (1.79052, 0.767623, 0.494651),
      (1.79052, 0.645235, -0.706729),
      (1.79052, 0.645235, 0.706729),
      (1.79052, 0.482052, -0.80092),
      (1.79052, 0.482052, 0.80092),
      (1.79052, -0.518348, -0.80092),
      (1.79052, -0.518348, 0.80092),
      (1.79052, -0.588841, -0.782022),
      (1.79052, -0.588841, 0.782022),
      (1.79052, -0.69953, -0.671333),
      (1.79052, -0.69953, 0.671333),
      (1.79052, -0.777522, -0.380962),
      (1.79052, -0.777522, 0.380962),
      (4.28747, 0.730427, 0.105889),
      (4.28747, 0.730427, -0.105889),
      (4.28747, 0.660834, -0.365063),
      (4.28747, 0.660834, 0.365063),
      (4.28747, 0.538446, -0.577142),
      (4.28747, 0.538446, 0.577142),
      (4.28747, 0.354864, -0.683032),
      (4.28747, 0.354864, 0.683032),
      (4.28747, -0.424158, -0.683032),
      (4.28747, -0.424158, 0.683032),
      (4.28747, -0.518348, -0.657834),
      (4.28747, -0.518348, 0.657834),
      (4.28747, -0.610739, -0.565443),
      (4.28747, -0.610739, 0.565443),
      (4.28747, -0.730427, -0.119388),
      (4.28747, -0.730427, 0.119388),
      (7.25567, 0.471253, 0.0941906),
      (7.25567, 0.471253, -0.0941906),
      (7.25567, 0.436456, -0.223778),
      (7.25567, 0.436456, 0.223778),
      (7.25567, 0.320968, -0.424158),
      (7.25567, 0.320968, 0.424158),
      (7.25567, 0.116688, -0.541746),
      (7.25567, 0.116688, 0.541746),
      (7.25567, -0.282572, -0.541746),
      (7.25567, -0.282572, 0.541746),
      (7.25567, -0.370763, -0.518348),
      (7.25567, -0.370763, 0.518348),
      (7.25567, -0.512049, -0.376762),
      (7.25567, -0.512049, 0.376762),
      (7.25567, -0.565443, -0.178182),
      (7.25567, -0.565443, 0.178182),
      (8.0098, 0.292171, 0.0452955),
      (8.0098, 0.292171, -0.0452955),
      (8.0098, 0.267873, -0.135586),
      (8.0098, 0.267873, 0.135586),
      (8.0098, 0.223478, -0.212679),
      (8.0098, 0.223478, 0.212679),
      (8.0098, 0.158384, -0.277472),
      (8.0098, 0.158384, 0.277472),
      (8.0098, 0.0863914, -0.319168),
      (8.0098, 0.0863914, 0.319168),
      (8.0098, 0.0, -0.342266),
      (8.0098, 0.0, 0.342266),
      (8.0098, -0.089991, -0.342266),
      (8.0098, -0.089991, 0.342266),
      (8.0098, -0.176082, -0.319168),
      (8.0098, -0.176082, 0.319168),
      (8.0098, -0.252875, -0.274773),
      (8.0098, -0.252875, 0.274773),
      (8.0098, -0.320968, -0.206979),
      (8.0098, -0.320968, 0.206979),
      (8.0098, -0.362064, -0.135586),
      (8.0098, -0.362064, 0.135586),
      (8.0098, -0.386361, -0.0446955),
      (8.0098, -0.386361, 0.0446955),
      (7.5, 0.0, 0.0),              -- << centre reacteur orig: x=4.28747
      (-3.39236, 0.0, -0.753825),
      (-3.39236, 0.0, -0.543846),
      (-1.74343, 0.683032, -1.10119),
      (-1.74343, 0.683032, -0.806619),
      (-1.74343, 0.663834, -1.13509),
      (-1.74343, 0.630237, -1.15428),
      (-1.74343, -0.536046, -1.15428),
      (-2.82692, -0.30027, -1.15428),
      (-1.74343, -0.569643, -1.13479),
      (-1.74343, -0.588841, -1.10149),
      (-1.74343, -0.588841, -0.806919),
      (-1.74343, -0.569643, -0.773023),
      (-1.74343, -0.536046, -0.753825),
      (-2.82692, -0.30057, -0.753825),
      (-1.74343, 0.630237, -0.753825),
      (-1.74343, 0.663834, -0.773323),
      (-2.82692, -0.334167, -1.13479),
      (-2.82692, -0.353365, -1.10149),
      (-2.82692, -0.353365, -0.806919),
      (-2.82692, -0.333867, -0.773023),
      (-3.81622, 0.541746, -1.10719),
      (-3.81622, 0.541746, -0.80092),
      (-3.80722, 0.494651, -1.15428),
      (-3.67493, -0.188381, -1.15428),
      (-3.66593, -0.235476, -1.10719),
      (-3.66593, -0.235476, -0.80092),
      (-3.67493, -0.188381, -0.753825),
      (-3.80722, 0.494651, -0.753825),
      (-3.67043, -0.212079, -0.777522),
      (-3.72473, -0.20038, -0.777522),
      (-3.83092, -0.169483, -0.777522),
      (-3.87801, -0.133487, -0.777522),
      (-3.9812, 0.40046, -0.777522),
      (-3.9578, 0.471253, -0.777522),
      (-3.89871, 0.508749, -0.777522),
      (-3.81172, 0.518348, -0.777522),
      (-3.39236, 0.0, 0.543846),
      (-3.39236, 0.0, 0.753825),
      (-1.74343, 0.683032, 1.10119),
      (-1.74343, 0.683032, 0.806619),
      (-1.74343, 0.663834, 1.13509),
      (-1.74343, 0.630237, 1.15428),
      (-2.82692, -0.30027, 1.15428),
      (-1.74343, -0.536046, 1.15428),
      (-1.74343, -0.569643, 1.13479),
      (-1.74343, -0.588841, 1.10149),
      (-1.74343, -0.588841, 0.806919),
      (-1.74343, -0.569643, 0.773023),
      (-1.74343, -0.536046, 0.753825),
      (-2.82692, -0.30057, 0.753825),
      (-1.74343, 0.630237, 0.753825),
      (-1.74343, 0.663834, 0.773323),
      (-2.82692, -0.334167, 1.13479),
      (-2.82692, -0.353365, 1.10149),
      (-2.82692, -0.353365, 0.806919),
      (-2.82692, -0.333867, 0.773023),
      (-3.81622, 0.541746, 1.10719),
      (-3.81622, 0.541746, 0.80092),
      (-3.80722, 0.494651, 1.15428),
      (-3.67493, -0.188381, 1.15428),
      (-3.66593, -0.235476, 1.10719),
      (-3.66593, -0.235476, 0.80092),
      (-3.67493, -0.188381, 0.753825),
      (-3.80722, 0.494651, 0.753825),
      (-3.81172, 0.518348, 0.777522),
      (-3.89871, 0.508749, 0.777522),
      (-3.9578, 0.471253, 0.777522),
      (-3.9812, 0.40046, 0.777522),
      (-3.87801, -0.133487, 0.777522),
      (-3.83092, -0.169483, 0.777522),
      (-3.72473, -0.20038, 0.777522),
      (-3.67043, -0.212079, 0.777522),   -- ind. 589
      (4.28747, 0.730427, 0.0));         -- ind. 0

    object_faces: constant array( 1..nb_faces, 1..4) of Natural :=
      ((
      3, 590, 2,0), ( 3, 4, 590,0), (
      3, 590, 1,0), ( 6, 3, 2,0), (
      6, 2, 5,0), ( 7, 8, 4,0), (
      7, 4, 3,0), ( 10, 6, 5,0), (
      10, 5, 9,0), ( 11, 12, 8,0), (
      11, 8, 7,0), ( 14, 10, 9,0), (
      14, 9, 13,0), ( 14, 13, 12,0), (
      14, 12, 11,0), ( 3, 15, 1,0), (
      15, 3, 1,0), ( 6, 15, 3,0), (
      15, 7, 3,0), ( 6, 16, 15,0), (
      16, 7, 15,0), ( 6, 10, 16,0), (
      11, 7, 16,0), ( 10, 14, 16,0), (
      14, 11, 16,0), ( 19, 20, 17,0), (
      19, 17, 18,0), ( 22, 19, 18,0), (
      22, 18, 21,0), ( 25, 26, 23,0), (
      25, 23, 24,0), ( 20, 25, 24,0), (
      20, 24, 17,0), ( 21, 18, 17,0), (
      21, 17, 24,0), ( 21, 24, 23,0), (
      28, 29, 27,0), ( 23, 29, 28,0), (
      32, 33, 30,0), ( 32, 30, 31,0), (
      34, 35, 33,0), ( 34, 33, 32,0), (
      38, 39, 36,0), ( 38, 36, 37,0), (
      40, 41, 39,0), ( 40, 39, 38,0), (
      36, 39, 41,0), ( 36, 41, 33,0), (
      36, 33, 35,0), ( 43, 44, 42,0), (
      43, 36, 44,0), ( 46, 22, 45,0), (
      48, 46, 21,0), ( 48, 21, 47,0), (
      50, 48, 47,0), ( 50, 47, 49,0), (
      52, 53, 49,0), ( 52, 49, 51,0), (
      56, 57, 54,0), ( 56, 54, 55,0), (
      59, 56, 55,0), ( 59, 55, 58,0), (
      61, 59, 58,0), ( 61, 58, 60,0), (
      63, 61, 60,0), ( 63, 60, 62,0), (
      65, 66, 62,0), ( 65, 62, 64,0), (
      69, 70, 67,0), ( 69, 67, 68,0), (
      71, 69, 68,0), ( 72, 69, 71,0), (
      74, 75, 73,0), ( 76, 77, 73,0), (
      76, 73, 75,0), ( 78, 79, 77,0), (
      78, 77, 76,0), ( 80, 81, 79,0), (
      80, 79, 78,0), ( 82, 83, 81,0), (
      82, 81, 80,0), ( 84, 85, 83,0), (
      84, 83, 82,0), ( 86, 87, 85,0), (
      86, 85, 84,0), ( 89, 90, 87,0), (
      89, 87, 88,0), ( 91, 92, 90,0), (
      91, 90, 89,0), ( 93, 94, 92,0), (
      93, 92, 91,0), ( 93, 95, 94,0), (
      93, 96, 95,0), ( 98, 99, 97,0), (
      98, 100, 99,0), ( 103, 104, 99,0), (
      103, 99, 100,0), ( 103, 100, 101,0), (
      103, 101, 102,0), ( 109, 110, 102,0), (
      109, 102, 101,0), ( 109, 101, 105,0), (
      109, 105, 106,0), ( 109, 106, 107,0), (
      109, 107, 108,0), ( 47, 21, 111,0), (
      47, 111, 103,0), ( 112, 113, 97,0), (
      112, 97, 99,0), ( 111, 112, 99,0), (
      111, 99, 104,0), ( 103, 111, 104,0), (
      49, 47, 103,0), ( 49, 103, 102,0), (
      51, 49, 102,0), ( 51, 102, 110,0), (
      114, 51, 110,0), ( 114, 110, 109,0), (
      115, 114, 109,0), ( 115, 109, 108,0), (
      116, 115, 108,0), ( 116, 108, 107,0), (
      117, 116, 107,0), ( 117, 107, 106,0), (
      118, 117, 106,0), ( 118, 106, 105,0), (
      119, 118, 105,0), ( 119, 105, 101,0), (
      23, 119, 101,0), ( 23, 101, 120,0), (
      121, 120, 100,0), ( 121, 100, 98,0), (
      113, 121, 98,0), ( 113, 98, 97,0), (
      100, 120, 101,0), ( 123, 124, 122,0), (
      125, 124, 123,0), ( 129, 125, 123,0), (
      129, 123, 126,0), ( 129, 126, 127,0), (
      129, 127, 128,0), ( 135, 129, 128,0), (
      135, 128, 130,0), ( 135, 130, 131,0), (
      135, 131, 132,0), ( 135, 132, 133,0), (
      135, 133, 134,0), ( 138, 127, 136,0), (
      138, 136, 137,0), ( 140, 123, 122,0), (
      140, 122, 139,0), ( 136, 126, 123,0), (
      136, 123, 140,0), ( 136, 127, 126,0), (
      141, 128, 127,0), ( 141, 127, 138,0), (
      142, 130, 128,0), ( 142, 128, 141,0), (
      143, 131, 130,0), ( 143, 130, 142,0), (
      144, 132, 131,0), ( 144, 131, 143,0), (
      145, 133, 132,0), ( 145, 132, 144,0), (
      90, 134, 133,0), ( 90, 133, 145,0), (
      92, 135, 134,0), ( 92, 134, 90,0), (
      94, 129, 135,0), ( 94, 135, 92,0), (
      95, 146, 129,0), ( 95, 129, 94,0), (
      147, 124, 125,0), ( 147, 125, 146,0), (
      139, 122, 124,0), ( 139, 124, 147,0), (
      146, 125, 129,0), ( 150, 151, 148,0), (
      150, 148, 149,0), ( 151, 153, 152,0), (
      151, 152, 148,0), ( 153, 155, 154,0), (
      153, 154, 152,0), ( 155, 157, 156,0), (
      155, 156, 154,0), ( 159, 150, 149,0), (
      159, 149, 158,0), ( 161, 159, 158,0), (
      161, 158, 160,0), ( 163, 161, 160,0), (
      163, 160, 162,0), ( 166, 167, 164,0), (
      166, 164, 165,0), ( 172, 173, 168,0), (
      172, 168, 169,0), ( 172, 169, 170,0), (
      172, 170, 167,0), ( 172, 167, 166,0), (
      172, 166, 171,0), ( 176, 177, 174,0), (
      176, 174, 175,0), ( 179, 176, 175,0), (
      179, 175, 178,0), ( 181, 179, 178,0), (
      181, 178, 180,0), ( 184, 185, 182,0), (
      184, 182, 183,0), ( 188, 189, 186,0), (
      188, 186, 187,0), ( 189, 191, 190,0), (
      189, 190, 186,0), ( 191, 193, 192,0), (
      191, 192, 190,0), ( 193, 184, 183,0), (
      193, 183, 192,0), ( 198, 199, 188,0), (
      198, 188, 194,0), ( 198, 194, 195,0), (
      198, 195, 185,0), ( 198, 185, 196,0), (
      198, 196, 197,0), ( 28, 27, 113,0), (
      28, 113, 112,0), ( 21, 28, 112,0), (
      21, 112, 111,0), ( 29, 23, 120,0), (
      29, 120, 121,0), ( 27, 29, 121,0), (
      27, 121, 113,0), ( 201, 140, 139,0), (
      201, 139, 200,0), ( 137, 136, 140,0), (
      137, 140, 201,0), ( 202, 147, 146,0), (
      202, 146, 95,0), ( 200, 203, 147,0), (
      200, 147, 202,0), ( 206, 207, 204,0), (
      206, 204, 205,0), ( 209, 205, 204,0), (
      209, 204, 208,0), ( 210, 211, 207,0), (
      210, 207, 206,0), ( 213, 209, 208,0), (
      213, 208, 212,0), ( 214, 215, 211,0), (
      214, 211, 210,0), ( 217, 213, 212,0), (
      217, 212, 216,0), ( 218, 219, 215,0), (
      218, 215, 214,0), ( 221, 217, 216,0), (
      221, 216, 220,0), ( 222, 223, 219,0), (
      222, 219, 218,0), ( 224, 221, 220,0), (
      222, 225, 223,0), ( 226, 221, 224,0), (
      222, 227, 225,0), ( 230, 231, 228,0), (
      230, 228, 229,0), ( 234, 235, 232,0), (
      234, 232, 233,0), ( 238, 239, 236,0), (
      238, 236, 237,0), ( 241, 234, 233,0), (
      241, 233, 240,0), ( 242, 243, 239,0), (
      242, 239, 238,0), ( 245, 241, 240,0), (
      245, 240, 244,0), ( 246, 247, 243,0), (
      246, 243, 242,0), ( 249, 245, 244,0), (
      249, 244, 248,0), ( 250, 251, 247,0), (
      250, 247, 246,0), ( 253, 249, 248,0), (
      253, 248, 252,0), ( 254, 255, 251,0), (
      254, 251, 250,0), ( 257, 253, 252,0), (
      257, 252, 256,0), ( 258, 259, 255,0), (
      258, 255, 254,0), ( 266, 267, 260,0), (
      266, 260, 261,0), ( 266, 261, 262,0), (
      266, 262, 263,0), ( 266, 263, 264,0), (
      266, 264, 265,0), ( 271, 264, 263,0), (
      271, 263, 268,0), ( 271, 268, 269,0), (
      271, 269, 259,0), ( 271, 259, 256,0), (
      271, 256, 270,0), ( 257, 256, 259,0), (
      257, 259, 258,0), ( 273, 257, 258,0), (
      273, 258, 272,0), ( 274, 273, 272,0), (
      274, 272, 226,0), ( 280, 281, 226,0), (
      280, 226, 275,0), ( 280, 275, 276,0), (
      280, 276, 277,0), ( 280, 277, 278,0), (
      280, 278, 279,0), ( 274, 226, 281,0), (
      274, 281, 282,0), ( 274, 282, 283,0), (
      274, 283, 284,0), ( 274, 284, 285,0), (
      274, 285, 286,0), ( 289, 235, 287,0), (
      289, 287, 288,0), ( 290, 288, 237,0), (
      290, 237, 238,0), ( 291, 234, 235,0), (
      291, 235, 289,0), ( 292, 290, 238,0), (
      292, 238, 242,0), ( 293, 241, 234,0), (
      293, 234, 291,0), ( 294, 292, 242,0), (
      294, 242, 246,0), ( 295, 245, 241,0), (
      295, 241, 293,0), ( 296, 294, 246,0), (
      296, 246, 250,0), ( 297, 249, 245,0), (
      297, 245, 295,0), ( 298, 296, 250,0), (
      298, 250, 254,0), ( 299, 253, 249,0), (
      299, 249, 297,0), ( 272, 298, 254,0), (
      272, 254, 258,0), ( 273, 257, 253,0), (
      273, 253, 299,0), ( 281, 289, 288,0), (
      281, 288, 280,0), ( 279, 280, 288,0), (
      279, 288, 290,0), ( 282, 291, 289,0), (
      282, 289, 281,0), ( 278, 279, 290,0), (
      278, 290, 292,0), ( 283, 293, 291,0), (
      283, 291, 282,0), ( 277, 278, 292,0), (
      277, 292, 294,0), ( 284, 295, 293,0), (
      284, 293, 283,0), ( 276, 277, 294,0), (
      276, 294, 296,0), ( 285, 297, 295,0), (
      285, 295, 284,0), ( 275, 276, 296,0), (
      275, 296, 298,0), ( 286, 299, 297,0), (
      286, 297, 285,0), ( 226, 275, 298,0), (
      226, 298, 272,0), ( 274, 273, 299,0), (
      274, 299, 286,0), ( 232, 267, 260,0), (
      232, 260, 236,0), ( 239, 236, 260,0), (
      239, 260, 261,0), ( 233, 266, 267,0), (
      233, 267, 232,0), ( 243, 239, 261,0), (
      243, 261, 262,0), ( 240, 265, 266,0), (
      240, 266, 233,0), ( 247, 243, 262,0), (
      247, 262, 263,0), ( 244, 264, 265,0), (
      244, 265, 240,0), ( 251, 247, 263,0), (
      251, 263, 268,0), ( 248, 271, 264,0), (
      248, 264, 244,0), ( 255, 251, 268,0), (
      255, 268, 269,0), ( 252, 270, 271,0), (
      252, 271, 248,0), ( 259, 255, 269,0), (
      252, 256, 270,0), ( 302, 303, 300, 301), -- 392, nez 2 tri. fusionnes
      (304, 305, 301,0), (318,301,315,0), -- 394, tri. ajoute (manque dans vrml!)
      (307, 305, 304,0), ( 307, 304, 306,0), (
      308, 309, 300,0), ( 310, 308, 300,0), (
      311, 310, 300,0), ( 311, 300, 303,0), (
      312, 301, 300,0), ( 312, 300, 309,0), (
      312, 313, 301,0), ( 314, 311, 303,0), (
      313, 315, 301,0), ( 316, 314, 303,0), (
      317, 316, 303,0), ( 319, 302, 301,0), (
      319, 301, 318,0), ( 320, 317, 303,0), (
      320, 303, 302,0), ( 319, 321, 302,0), (
      322, 320, 302,0), ( 321, 322, 302,0), (
      324, 308, 323,0), ( 325, 309, 308,0), (
      325, 308, 324,0), ( 326, 323, 308,0), (
      326, 308, 310,0), ( 327, 312, 309,0), (
      327, 309, 325,0), ( 328, 326, 310,0), (
      328, 310, 311,0), ( 329, 313, 312,0), (
      329, 312, 327,0), ( 330, 328, 311,0), (
      330, 311, 314,0), ( 331, 315, 313,0), (
      331, 313, 329,0), ( 332, 330, 314,0), (
      332, 314, 316,0), ( 333, 318, 315,0), (
      333, 315, 331,0), ( 334, 332, 316,0), (
      334, 316, 317,0), ( 335, 319, 318,0), (
      335, 318, 333,0), ( 336, 334, 317,0), (
      336, 317, 320,0), ( 337, 321, 319,0), (
      337, 319, 335,0), ( 338, 336, 320,0), (
      338, 320, 322,0), ( 338, 322, 321,0), (
      338, 321, 337,0), ( 340, 324, 323,0), (
      340, 323, 339,0), ( 341, 325, 324,0), (
      341, 324, 340,0), ( 342, 339, 323,0), (
      342, 323, 326,0), ( 343, 327, 325,0), (
      343, 325, 341,0), ( 344, 342, 326,0), (
      344, 326, 328,0), ( 345, 329, 327,0), (
      345, 327, 343,0), ( 346, 344, 328,0), (
      346, 328, 330,0), ( 347, 331, 329,0), (
      347, 329, 345,0), ( 348, 346, 330,0), (
      348, 330, 332,0), ( 349, 333, 331,0), (
      349, 331, 347,0), ( 350, 348, 332,0), (
      350, 332, 334,0), ( 351, 335, 333,0), (
      351, 333, 349,0), ( 352, 350, 334,0), (
      352, 334, 336,0), ( 353, 337, 335,0), (
      353, 335, 351,0), ( 354, 352, 336,0), (
      354, 336, 338,0), ( 354, 338, 337,0), (
      354, 337, 353,0), ( 355, 356, 340,0), (
      355, 340, 339,0), ( 357, 341, 340,0), (
      357, 340, 356,0), ( 358, 355, 339,0), (
      358, 339, 342,0), ( 359, 343, 341,0), (
      359, 341, 357,0), ( 360, 358, 342,0), (
      360, 342, 344,0), ( 361, 345, 343,0), (
      361, 343, 359,0), ( 362, 360, 344,0), (
      362, 344, 346,0), ( 363, 347, 345,0), (
      363, 345, 361,0), ( 364, 362, 346,0), (
      364, 346, 348,0), ( 365, 349, 347,0), (
      365, 347, 363,0), ( 366, 364, 348,0), (
      366, 348, 350,0), ( 367, 351, 349,0), (
      367, 349, 365,0), ( 368, 366, 350,0), (
      368, 350, 352,0), ( 369, 353, 351,0), (
      369, 351, 367,0), ( 370, 368, 352,0), (
      370, 352, 354,0), ( 370, 354, 353,0), (
      370, 353, 369,0), ( 371, 259, 269,0), (
      256, 372, 270,0), ( 270, 372, 361,0), (
      371, 269, 362,0), ( 373, 363, 361,0), (
      373, 361, 372,0), ( 374, 371, 362,0), (
      374, 362, 364,0), ( 375, 365, 363,0), (
      375, 363, 373,0), ( 376, 374, 364,0), (
      376, 364, 366,0), ( 377, 367, 365,0), (
      377, 365, 375,0), ( 378, 376, 366,0), (
      378, 366, 368,0), ( 379, 369, 367,0), (
      379, 367, 377,0), ( 380, 378, 368,0), (
      380, 368, 370,0), ( 380, 370, 369,0), (
      380, 369, 379,0), ( 261, 260, 355,0), (
      267, 266, 356,0), ( 358, 261, 355,0), (
      266, 357, 356,0), ( 262, 261, 358,0), (
      266, 265, 357,0), ( 360, 262, 358,0), (
      265, 359, 357,0), ( 263, 262, 360,0), (
      265, 264, 359,0), ( 268, 263, 360,0), (
      264, 271, 359,0), ( 362, 268, 360,0), (
      271, 361, 359,0), ( 269, 268, 362,0), (
      271, 270, 361,0), ( 382, 372, 256,0), (
      382, 256, 381,0), ( 383, 384, 259,0), (
      383, 259, 371,0), ( 385, 373, 372,0), (
      385, 372, 382,0), ( 386, 383, 371,0), (
      386, 371, 374,0), ( 387, 375, 373,0), (
      387, 373, 385,0), ( 388, 386, 374,0), (
      388, 374, 376,0), ( 389, 377, 375,0), (
      389, 375, 387,0), ( 390, 388, 376,0), (
      390, 376, 378,0), ( 391, 379, 377,0), (
      391, 377, 389,0), ( 392, 390, 378,0), (
      392, 378, 380,0), ( 391, 392, 380,0), (
      391, 380, 379,0), ( 393, 382, 381,0), (
      383, 394, 384,0), ( 395, 385, 382,0), (
      395, 382, 393,0), ( 396, 394, 383,0), (
      396, 383, 386,0), ( 395, 387, 385,0), (
      388, 396, 386,0), ( 395, 389, 387,0), (
      390, 396, 388,0), ( 395, 391, 389,0), (
      392, 396, 390,0), ( 396, 392, 391,0), (
      396, 391, 395,0), ( 398, 399, 393,0), (
      398, 393, 397,0), ( 402, 403, 400,0), (
      402, 400, 401,0), ( 405, 401, 400,0), (
      405, 400, 404,0), ( 406, 407, 403,0), (
      406, 403, 402,0), ( 409, 405, 404,0), (
      409, 404, 408,0), ( 410, 411, 407,0), (
      410, 407, 406,0), ( 413, 409, 408,0), (
      413, 408, 412,0), ( 397, 414, 411,0), (
      397, 411, 410,0), ( 394, 413, 412,0), (
      397, 393, 414,0), ( 416, 413, 394,0), (
      416, 394, 415,0), ( 398, 417, 399,0), (
      418, 416, 415,0), ( 419, 420, 417,0), (
      419, 417, 398,0), ( 422, 416, 418,0), (
      422, 418, 421,0), ( 423, 424, 420,0), (
      423, 420, 419,0), ( 426, 422, 421,0), (
      426, 421, 425,0), ( 427, 428, 424,0), (
      427, 424, 423,0), ( 430, 426, 425,0), (
      430, 425, 429,0), ( 427, 431, 428,0), (
      432, 430, 429,0), ( 431, 433, 428,0), (
      434, 432, 429,0), ( 431, 435, 433,0), (
      436, 432, 434,0), ( 435, 437, 433,0), (
      438, 436, 434,0), ( 437, 439, 433,0), (
      440, 438, 434,0), ( 437, 441, 439,0), (
      442, 438, 440,0), ( 437, 395, 441,0), (
      396, 438, 442,0), ( 438, 396, 395,0), (
      438, 395, 437,0), ( 444, 398, 397,0), (
      444, 397, 443,0), ( 443, 402, 401,0), (
      443, 401, 445,0), ( 405, 445, 401,0), (
      443, 406, 402,0), ( 409, 445, 405,0), (
      443, 410, 406,0), ( 413, 445, 409,0), (
      443, 397, 410,0), ( 446, 445, 413,0), (
      446, 413, 416,0), ( 444, 447, 398,0), (
      448, 446, 416,0), ( 449, 419, 398,0), (
      449, 398, 447,0), ( 450, 448, 416,0), (
      450, 416, 422,0), ( 451, 423, 419,0), (
      451, 419, 449,0), ( 452, 450, 422,0), (
      452, 422, 426,0), ( 453, 427, 423,0), (
      453, 423, 451,0), ( 454, 452, 426,0), (
      454, 426, 430,0), ( 455, 431, 427,0), (
      455, 427, 453,0), ( 456, 454, 430,0), (
      456, 430, 432,0), ( 457, 435, 431,0), (
      457, 431, 455,0), ( 458, 456, 432,0), (
      458, 432, 436,0), ( 459, 437, 435,0), (
      459, 435, 457,0), ( 460, 458, 436,0), (
      460, 436, 438,0), ( 460, 438, 437,0), (
      460, 437, 459,0), ( 461, 462, 443,0), (
      461, 443, 445,0), ( 461, 445, 446,0), (
      443, 462, 444,0), ( 463, 447, 444,0), (
      463, 444, 462,0), ( 464, 461, 446,0), (
      464, 446, 448,0), ( 465, 449, 447,0), (
      465, 447, 463,0), ( 466, 464, 448,0), (
      466, 448, 450,0), ( 467, 451, 449,0), (
      467, 449, 465,0), ( 468, 466, 450,0), (
      468, 450, 452,0), ( 469, 453, 451,0), (
      469, 451, 467,0), ( 470, 468, 452,0), (
      470, 452, 454,0), ( 471, 455, 453,0), (
      471, 453, 469,0), ( 472, 470, 454,0), (
      472, 454, 456,0), ( 473, 457, 455,0), (
      473, 455, 471,0), ( 474, 472, 456,0), (
      474, 456, 458,0), ( 475, 459, 457,0), (
      475, 457, 473,0), ( 476, 474, 458,0), (
      476, 458, 460,0), ( 476, 460, 459,0), (
      476, 459, 475,0), ( 478, 462, 461,0), (
      478, 461, 477,0), ( 479, 463, 462,0), (
      479, 462, 478,0), ( 480, 477, 461,0), (
      480, 461, 464,0), ( 481, 465, 463,0), (
      481, 463, 479,0), ( 482, 480, 464,0), (
      482, 464, 466,0), ( 483, 467, 465,0), (
      483, 465, 481,0), ( 484, 482, 466,0), (
      484, 466, 468,0), ( 485, 469, 467,0), (
      485, 467, 483,0), ( 486, 484, 468,0), (
      486, 468, 470,0), ( 487, 471, 469,0), (
      487, 469, 485,0), ( 488, 486, 470,0), (
      488, 470, 472,0), ( 489, 473, 471,0), (
      489, 471, 487,0), ( 490, 488, 472,0), (
      490, 472, 474,0), ( 491, 475, 473,0), (
      491, 473, 489,0), ( 492, 490, 474,0), (
      492, 474, 476,0), ( 492, 476, 475,0), (
      492, 475, 491,0), ( 494, 478, 477,0), (
      494, 477, 493,0), ( 495, 479, 478,0), (
      495, 478, 494,0), ( 496, 493, 477,0), (
      496, 477, 480,0), ( 497, 481, 479,0), (
      497, 479, 495,0), ( 498, 496, 480,0), (
      498, 480, 482,0), ( 497, 499, 481,0), (
      500, 498, 482,0), ( 501, 483, 481,0), (
      501, 481, 499,0), ( 502, 500, 482,0), (
      502, 482, 484,0), ( 501, 503, 483,0), (
      504, 502, 484,0), ( 505, 485, 483,0), (
      505, 483, 503,0), ( 506, 504, 484,0), (
      506, 484, 486,0), ( 507, 487, 485,0), (
      507, 485, 505,0), ( 508, 506, 486,0), (
      508, 486, 488,0), ( 507, 509, 487,0), (
      510, 508, 488,0), ( 511, 489, 487,0), (
      511, 487, 509,0), ( 512, 510, 488,0), (
      512, 488, 490,0), ( 511, 513, 489,0), (
      514, 512, 490,0), ( 515, 491, 489,0), (
      515, 489, 513,0), ( 516, 514, 490,0), (
      516, 490, 492,0), ( 516, 492, 491,0), (
      516, 491, 515,0), ( 493, 517, 494,0), (
      494, 517, 495,0), ( 496, 517, 493,0), (
      495, 517, 497,0), ( 498, 517, 496,0), (
      497, 517, 499,0), ( 500, 517, 498,0), (
      499, 517, 501,0), ( 502, 517, 500,0), (
      501, 517, 503,0), ( 504, 517, 502,0), (
      503, 517, 505,0), ( 506, 517, 504,0), (
      505, 517, 507,0), ( 508, 517, 506,0), (
      507, 517, 509,0), ( 510, 517, 508,0), (
      509, 517, 511,0), ( 512, 517, 510,0), (
      511, 517, 513,0), ( 514, 517, 512,0), (
      513, 517, 515,0), ( 516, 517, 514,0), (
      515, 517, 516,0), ( 518, 519, 393,0), (
      518, 393, 399,0), ( 518, 441, 395,0), (
      518, 395, 519,0), ( 399, 417, 520,0), (
      399, 520, 521,0), ( 420, 522, 520,0), (
      420, 520, 417,0), ( 424, 523, 522,0), (
      424, 522, 420,0), ( 524, 525, 523,0), (
      524, 523, 424,0), ( 524, 424, 428,0), (
      433, 526, 524,0), ( 433, 524, 428,0), (
      439, 527, 526,0), ( 439, 526, 433,0), (
      441, 528, 527,0), ( 441, 527, 439,0), (
      441, 529, 528,0), ( 441, 530, 529,0), (
      399, 532, 531,0), ( 399, 531, 530,0), (
      399, 530, 441,0), ( 399, 533, 532,0), (
      399, 521, 533,0), ( 526, 534, 525,0), (
      526, 525, 524,0), ( 527, 535, 534,0), (
      527, 534, 526,0), ( 528, 536, 535,0), (
      528, 535, 527,0), ( 529, 537, 536,0), (
      529, 536, 528,0), ( 530, 531, 537,0), (
      530, 537, 529,0), ( 521, 520, 538,0), (
      521, 538, 539,0), ( 520, 522, 538,0), (
      522, 540, 538,0), ( 522, 523, 540,0), (
      525, 541, 540,0), ( 525, 540, 523,0), (
      525, 534, 541,0), ( 534, 542, 541,0), (
      534, 535, 542,0), ( 536, 543, 542,0), (
      536, 542, 535,0), ( 536, 537, 543,0), (
      537, 544, 543,0), ( 537, 531, 544,0), (
      532, 545, 544,0), ( 532, 544, 531,0), (
      532, 533, 545,0), ( 533, 539, 545,0), (
      533, 521, 539,0), ( 545, 539, 538,0), (
      545, 538, 540,0), ( 545, 540, 541,0), (
      545, 541, 542,0), ( 545, 542, 543,0), (
      545, 543, 544,0), ( 552, 553, 546,0), (
      552, 546, 547,0), ( 552, 547, 548,0), (
      552, 548, 549,0), ( 552, 549, 550,0), (
      552, 550, 551,0), ( 549, 544, 545,0), (
      549, 545, 550,0), ( 552, 545, 553,0), (
      551, 545, 552,0), ( 550, 545, 551,0), (
      548, 544, 549,0), ( 547, 544, 548,0), (
      546, 544, 547,0), ( 555, 415, 394,0), (
      555, 394, 554,0), ( 555, 554, 396,0), (
      555, 396, 442,0), ( 415, 557, 556,0), (
      415, 556, 418,0), ( 421, 418, 556,0), (
      421, 556, 558,0), ( 425, 421, 558,0), (
      425, 558, 559,0), ( 429, 425, 559,0), (
      429, 559, 560,0), ( 429, 560, 561,0), (
      434, 429, 561,0), ( 434, 561, 562,0), (
      440, 434, 562,0), ( 440, 562, 563,0), (
      442, 440, 563,0), ( 442, 563, 564,0), (
      565, 442, 564,0), ( 566, 442, 565,0), (
      442, 566, 567,0), ( 442, 567, 568,0), (
      442, 568, 415,0), ( 569, 415, 568,0), (
      557, 415, 569,0), ( 562, 561, 560,0), (
      562, 560, 570,0), ( 563, 562, 570,0), (
      563, 570, 571,0), ( 564, 563, 571,0), (
      564, 571, 572,0), ( 565, 564, 572,0), (
      565, 572, 573,0), ( 566, 565, 573,0), (
      566, 573, 567,0), ( 557, 575, 574,0), (
      557, 574, 556,0), ( 558, 556, 574,0), (
      576, 558, 574,0), ( 559, 558, 576,0), (
      560, 559, 576,0), ( 560, 576, 577,0), (
      570, 560, 577,0), ( 578, 570, 577,0), (
      571, 570, 578,0), ( 572, 571, 578,0), (
      572, 578, 579,0), ( 573, 572, 579,0), (
      580, 573, 579,0), ( 567, 573, 580,0), (
      568, 567, 580,0), ( 568, 580, 581,0), (
      569, 568, 581,0), ( 575, 569, 581,0), (
      557, 569, 575,0), ( 576, 574, 575,0), (
      576, 575, 581,0), ( 576, 581, 580,0), (
      576, 580, 579,0), ( 576, 579, 578,0), (
      576, 578, 577,0), ( 588, 589, 582,0), (
      588, 582, 583,0), ( 588, 583, 584,0), (
      588, 584, 585,0), ( 588, 585, 586,0), (
      588, 586, 587,0), ( 586, 585, 581,0), (
      586, 581, 580,0), ( 581, 583, 582,0), (
      581, 584, 583,0), ( 581, 585, 584,0), (
      580, 587, 586,0), ( 580, 588, 587,0), (
      580, 589, 588,0));

    face_0 : Face_type; -- takes defaults values

  begin
    object:=
      new Object_3D( Max_points=> nb_points, Max_faces=> nb_faces );

    for i in reverse 1..nb_points loop
      object.point(i):= scale * object_points(i);
    end loop;

    face_0.skin:= material_only;
    for i in reverse 1..nb_faces loop
      case i is
        when 178..237 => face_0.material:= Polished_Silver;   -- 1 metal clair
        when 260..315 => face_0.material:= Black_Rubber;   -- 2 (noir) fond cockpit
        when 740..779 => face_0.material:= Black_Plastic;   -- 2 noir
        when 860..865 |
             936..941 => face_0.material:= Bronze;   -- 2 noir entrees air
        when 316..391 => face_0.material:= Polished_Copper;   -- 3
        when 780..803 => face_0.material:= Ruby;   -- 4 feu reacteur
        when 392      => face_0.material:= Gold;   -- jaune (bout du nez)
        when others   => face_0.material:= Polished_Bronze;   -- 0 metal fonce
      end case;

      face_0.P:=
        (object_faces(i,1),
         object_faces(i,2),
         object_faces(i,3),
         object_faces(i,4)
        );

      object.face(i):= face_0;
    end loop;

    object.centre:= centre; -- e3d: 7.5*scale
    Set_name(object.all, "X29 prototype");
  end Create;

end X29;

GLOBE_3D: Ada library for real-time 3D rendering. Ada programming.