public static TIN readTIN(ByteReader reader, boolean hasZ, boolean hasM) {
    """
	Read a TIN
	
	@param reader
	@param hasZ
	@param hasM
	@return TIN
    """

		TIN tin = new TIN(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			tin.addPolygon(polygon);

		}

		return tin;
	}
public static TIN readTIN(ByteReader reader, boolean hasZ, boolean hasM) {

		TIN tin = new TIN(hasZ, hasM);

		int numPolygons = reader.readInt();

		for (int i = 0; i < numPolygons; i++) {
			Polygon polygon = readGeometry(reader, Polygon.class);
			tin.addPolygon(polygon);

		}

		return tin;
	}
public static TIN readTIN ( ByteReader reader , boolean hasZ , boolean hasM ) { TIN tin = new TIN ( hasZ , hasM ) ; int numPolygons = reader . readInt ( ) ; for ( int i = 0 ; i < numPolygons ; i ++ ) { Polygon polygon = readGeometry ( reader , Polygon . class ) ; tin . addPolygon ( polygon ) ; } return tin ; }
Read a TIN

@param reader
@param hasZ
@param hasM
@return TIN
Read a TIN