// try all of the different path types (each attempt is O(1), so no real performace hit here)
Path res = new DALD(curTime, curPos, curSpeed, destPos, destSpeed, Dmax, Amax, Vmax);
if (res.selfValidate()) {
return res;
}
res = new ALD(curTime, curPos, curSpeed, destPos, destSpeed, Dmax, Amax, Vmax);
if (res.selfValidate()) {
return res;
}
res = new SCurve(curTime, curPos, curSpeed, destPos, destSpeed, Dmax, Amax, Vmax);
if (res.selfValidate()) {