You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
1.4 KiB
106 lines
1.4 KiB
package mightypork.utils.math.vect;
|
|
|
|
|
|
public class VectFilters {
|
|
|
|
private static abstract class Uniform extends VectProxy {
|
|
|
|
public Uniform(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double processX(double x)
|
|
{
|
|
return super.processX(x);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double processY(double y)
|
|
{
|
|
return super.processY(y);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double processZ(double z)
|
|
{
|
|
return super.processZ(z);
|
|
}
|
|
|
|
|
|
protected abstract double process(double a);
|
|
}
|
|
|
|
public static class Round extends Uniform {
|
|
|
|
public Round(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double process(double a)
|
|
{
|
|
return Math.round(a);
|
|
}
|
|
}
|
|
|
|
public static class Ceil extends Uniform {
|
|
|
|
public Ceil(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double process(double a)
|
|
{
|
|
return Math.ceil(a);
|
|
}
|
|
}
|
|
|
|
public static class Floor extends Uniform {
|
|
|
|
public Floor(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double process(double a)
|
|
{
|
|
return Math.floor(a);
|
|
}
|
|
}
|
|
|
|
public static class Neg extends Uniform {
|
|
|
|
public Neg(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double process(double a)
|
|
{
|
|
return -a;
|
|
}
|
|
}
|
|
|
|
public static class Half extends Uniform {
|
|
|
|
public Half(Vect observed) {
|
|
super(observed);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected double process(double a)
|
|
{
|
|
return a / 2D;
|
|
}
|
|
}
|
|
}
|
|
|