package edu.indiana.soic.ts.utils;
import org.apache.commons.math3.ml.distance.EuclideanDistance;
import java.text.DecimalFormat;
public class Point {
int index;
double x, y, z;
int clazz;
String symbol;
DecimalFormat four = new DecimalFormat("#0.0000");
public Point(int index, double x, double y, double z, int clazz, String symbol) {
this.index = index;
this.x = x;
this.y = y;
this.z = z;
this.clazz = clazz;
this.symbol = symbol;
}
public double distance(Point p) {
EuclideanDistance distance = new EuclideanDistance();
return distance.compute(new double[]{p.x, p.y, p.z}, new double[]{x, y, z});
}
public int getIndex() {
return index;
}
public double getX() {
return x;
}
public double getY() {
return y;
}
public double getZ() {
return z;
}
public int getClazz() {
return clazz;
}
public String getSymbol() {
return symbol;
}
public String serialize() {
StringBuilder sb = new StringBuilder();
if (symbol != null) {
sb.append(symbol).append("\t");
}
sb.append(Integer.toString(index)).append("\t");
sb.append(four.format(x)).append("\t").append(four.format(y)).append("\t").append(four.format(z)).append("\t");
sb.append(Integer.toString(clazz));
return sb.toString();
}
public void setClazz(int clazz) {
this.clazz = clazz;
}
public void setIndex(int index) {
this.index = index;
}
}