/** TrakEM2 plugin for ImageJ(C). Copyright (C) 2005-2009 Albert Cardona. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation (http://www.gnu.org/licenses/gpl.txt ) This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. You may contact Albert Cardona at acardona at ini.phys.ethz.ch Institute of Neuroinformatics, University of Zurich / ETH, Switzerland. **/ package ini.trakem2.vector; public interface VectorString { static public final int X_AXIS = 0; static public final int Y_AXIS = 1; static public final int Z_AXIS = 2; public void resample(double delta, boolean with_source); public void resample(double delta); public void reorder(int min_j); public int length(); /** Get the array at dimension dim which ranges from 0 to n-dimensions -1; 0=X, 1=Y, 2=Z, et cetera depending on how many dimensions this VectorString supports. */ public double[] getPoints(int dim); public double[] getVectors(int dim); /** Get the value at index i for dimension dim; dimensions start at 0 and go up to n-dimensions -1, for example for VectorString3D, 0=X, 1=Y, 2=Z; to get y[32] call getPoint(1, 32);*/ public double getPoint(int dim, int i); public double getVector(int dim, int i); public boolean isClosed(); public double getDiffVectorLength(int i, int j, VectorString vs); public double distance(int i, VectorString vs, int j); public VectorString subVectorString(int first, int last) throws Exception; public void reverse(); public int getDimensions(); public double getDelta(); }