package org.cowboycoders.turbotrainers;
public interface PowerModelManipulator {
/**
* Should we roll backwards down hills or "put our feet down"
*/
public abstract boolean isNegativeVelocityAllowed();
/**
* Should we roll backwards down hills or "put our feet down"
*/
public abstract void setNegativeVelocityAllowed(
boolean negativeVelocityAllowed);
public abstract double getWindSpeed();
public abstract void setWindSpeed(double windSpeed);
public abstract double getCurrentBearing();
public abstract void setCurrentBearing(double currentBearing);
public abstract double getWindDirectionDegrees();
public abstract void setWindDirectionDegrees(double windDirectionDegrees);
public abstract double getAirDensity();
public abstract void setAirDensity(double airDensity);
public abstract double getIncrementalDragAreaSpokes();
public abstract void setIncrementalDragAreaSpokes(
double incrementalDragAreaSpokes);
public abstract double getDragArea();
public abstract void setDragArea(double dragArea);
public abstract double getGradientAsPercentage();
public abstract void setGradientAsPercentage(double gradientAsPercentage);
public abstract double getCoefficentRollingResistance();
public abstract void setCoefficentRollingResistance(
double coefficentRollingResistance);
public abstract double getTotalMass();
public abstract void setTotalMass(double totalMass);
public abstract double getKineticEnergy();
public abstract double getMomentOfInertiaWheels();
public abstract void setMomentOfInertiaWheels(double momentOfInertiaWheels);
public abstract double getOutsideRadiusTire();
public abstract void setOutsideRadiusTire(double outsideRadiusTire);
/**
* @return velocity in m/s
*/
public abstract double getVelocity();
public abstract double getAirVelocity();
public abstract double getYaw();
void setVelocity(double velocity);
}