/* * GeotoolKit - An Open source Java GIS Toolkit * http://geotoolkit.org * * (C) 2004-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library 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 * Lesser General Public License for more details. * * Created on 31-dic-2004 */ package org.geotoolkit.geometry.jts.coordinatesequence; import com.vividsolutions.jts.geom.CoordinateSequence; /** * A Builder for JTS CoordinateSequences. * * @author wolf * * @module */ public interface CSBuilder { /** * Starts the building of a new coordinate sequence * @param size - the number of coordinates in the coordinate sequence * @param dimensions - the dimension of the coordinates in the coordinate sequence, * may be ignored if the coordinate sequence does not support variabile dimensions */ public void start(int size, int dimensions); /** * Stops the coordinate sequence building and returns the result */ public CoordinateSequence end(); /** * Sets and ordinate in the specified coordinate * @param value * @param ordinateIndex * @param coordinateIndex */ public void setOrdinate(double value, int ordinateIndex, int coordinateIndex); /** * Utility method that allows to set an ordinate in an already built coordinate sequence * Needed because the CoordinateSequence interface does not expose it * @param sequence * @param value * @param ordinateIndex * @param coordinateIndex */ public void setOrdinate(CoordinateSequence sequence, double value, int ordinateIndex, int coordinateIndex); /** * Gets an ordinate in the specified coordinate * * @param ordinateIndex * @param coordinateIndex */ public double getOrdinate(int ordinateIndex, int coordinateIndex); /** * Returns the size of the coordinate sequence we are building, -1 if there is none */ public int getSize(); /** * Returns the dimension of the coordinate sequence we are building, -1 if there is none */ public int getDimension(); }