namespace GeoAPI.Geometries
{
///
/// An object that knows how to build a particular implementation of
/// ICoordinateSequence from an array of Coordinates.
///
///
public interface ICoordinateSequenceFactory
{
///
/// Returns a based on the given array;
/// whether or not the array is copied is implementation-dependent.
///
/// A coordinates array, which may not be null nor contain null elements
ICoordinateSequence Create(ICoordinate[] coordinates);
///
/// Creates a which is a copy
/// of the given .
/// This method must handle null arguments by creating an empty sequence.
///
///
///
ICoordinateSequence Create(ICoordinateSequence coordSeq);
///
/// Creates a of the specified size and dimension.
/// For this to be useful, the implementation must be mutable.
///
///
/// the dimension of the coordinates in the sequence
/// (if user-specifiable, otherwise ignored)
///
ICoordinateSequence Create(int size, int dimension);
}
}