interAreaPortals { /* numAreas = */ 2 /* numIAP = */ 1 /* interAreaPortal format is: numPoints positiveSideArea negativeSideArea ( point) ... */ /* iap 0 */ 4 0 1 ( -128 128 8 ) ( -128 -128 8 ) ( -128 -128 248 ) ( -128 128 248 ) } nodes { /* numNodes = */ 29 /* node format is: ( planeVector ) positiveChild negativeChild */ /* a child number of 0 is an opaque, solid area */ /* negative child numbers are areas: (-1-child) */ /* node 0 */ ( 1 0 0 0 ) 1 14 /* node 1 */ ( 0 1 0 0 ) 2 8 /* node 2 */ ( 1 0 0 -128 ) 0 3 /* node 3 */ ( 0 1 0 -128 ) 0 4 /* node 4 */ ( 0 0 1 -256 ) 0 5 /* node 5 */ ( 0 0 1 0 ) 6 0 /* node 6 */ ( 0 0 1 -248 ) 0 7 /* node 7 */ ( 0 0 1 -8 ) -1 0 /* node 8 */ ( 0 1 0 128 ) 9 0 /* node 9 */ ( 1 0 0 -128 ) 0 10 /* node 10 */ ( 0 0 1 -256 ) 0 11 /* node 11 */ ( 0 0 1 0 ) 12 0 /* node 12 */ ( 0 0 1 -248 ) 0 13 /* node 13 */ ( 0 0 1 -8 ) -1 0 /* node 14 */ ( 0 1 0 0 ) 15 22 /* node 15 */ ( 0 1 0 -128 ) 0 16 /* node 16 */ ( 1 0 0 384 ) 17 0 /* node 17 */ ( 0 0 1 -256 ) 0 18 /* node 18 */ ( 0 0 1 0 ) 19 0 /* node 19 */ ( 0 0 1 -248 ) 0 20 /* node 20 */ ( 0 0 1 -8 ) 21 0 /* node 21 */ ( 1 0 0 128 ) -1 -2 /* node 22 */ ( 1 0 0 384 ) 23 0 /* node 23 */ ( 0 1 0 128 ) 24 0 /* node 24 */ ( 0 0 1 -256 ) 0 25 /* node 25 */ ( 0 0 1 0 ) 26 0 /* node 26 */ ( 0 0 1 -248 ) 0 27 /* node 27 */ ( 0 0 1 -8 ) 28 0 /* node 28 */ ( 1 0 0 128 ) -1 -2 }