IF
IO.GetInt[ris !
IO.EndOfStream,
IO.Error =>
LOOP] = 98
THEN {
nVertices: NAT;
polygon: G3dBasic.Surface;
FOR n: NAT IN [0..3) DO [] ¬ IO.GetTokenRope[ris]; ENDLOOP; -- skipping
nVertices ¬ IO.GetInt[ris];
[] ¬ IO.GetTokenRope[ris]; -- skip "vertices"
polygon ¬ [NIL, NEW[G3dBasic.NatSequenceRep[nVertices]]];
polygon.vertices.length ¬ nVertices;
FOR n:
NAT
IN [0..nVertices)
DO
reals: ARRAY [0..3) OF REAL;
FOR j: NAT IN [0..3) DO reals[j] ¬ IO.GetReal[in]; ENDLOOP;
polygon.vertices[nVertices-1-n] ¬ MaybeAdd[[reals[0], reals[1], reals[2]]];
ENDLOOP;
polygons ¬ G3dBasic.AddToSurfaceSequence[polygons, polygon];
};