# HG changeset patch # User stevenh # Date 1357670641 0 # Node ID c4d7e4a8ba59f9e776cb8d9335ca2d7a70a9ed1c # Parent 2681a72cc8c9c2898beb9951530b50e034e3a573 new diff -r 2681a72cc8c9 -r c4d7e4a8ba59 src/org/qmul/eecs/c4dm/sia/model/VectorTable.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/org/qmul/eecs/c4dm/sia/model/VectorTable.java Tue Jan 08 18:44:01 2013 +0000 @@ -0,0 +1,77 @@ +package org.qmul.eecs.c4dm.sia.model; + +import java.util.List; + +public class VectorTable { + + private List vteList; + private int numDatapoints; // the number of datapoints used to create this Vector Table + + public VectorTableElement get(int i) + { + return vteList.get(i); + } + + public NDimensionalObject getVector(int i, int j) + { + NDimensionalObject vector = new NDimensionalObject(); + + for (VectorTableElement vte : vteList) + { + if (vte.getFromDatapoint().getOrderedIndex() == i && vte.getToDatapoint().getOrderedIndex() == j) + { + vector = vte.getVector(); + break; + } + } + + return vector; + } + + private int vteListIndex(int i, int j) { + int vteListIndex = (i - 1) * numDatapoints + j - 1; + + return vteListIndex; + } + + public int getI(int i, int j) + { + int vteListIndex = vteListIndex(i, j); + int iResult = vteList.get(vteListIndex).getFromDatapoint().getOrderedIndex(); + + return iResult; + } + + public int size() + { + return vteList.size(); + } + + /** + * @return the vteList + */ + public List getVteList() { + return vteList; + } + + /** + * @param vteList the vteList to set + */ + public void setVteList(List vteList) { + this.vteList = vteList; + } + + /** + * @return the numDatapoints + */ + public int getNumDatapoints() { + return numDatapoints; + } + + /** + * @param numDatapoints the numDatapoints to set + */ + public void setNumDatapoints(int numDatapoints) { + this.numDatapoints = numDatapoints; + } +}