@Override public NormalizedDouble normalizeValue(Boolean val) { return new NormalizedDouble(val ? 1 : 0); }
@Override public Integer denormalizeValue(NormalizedDouble v) { return (int)(v.getValue()*myRange + myMin); }
/** * Checks that the value is within the range [0.0, 1.0]. * @param value the value to check * @throws IllegalArgumentException if value is not in the range [0.0,1.0] */ protected final void rangeCheck(double value){ if(!isValid(value)){ throw new IllegalArgumentException("NormalizedRange must be within " + "the range [0.0, 1.0] (0.0 <= val <= 1.0)."); } }
private String getGoalPos(Joint j){ NormalizedDouble pos = j.getGoalPosition(); if(pos == null){ pos = new NormalizedDouble(0.0); } String ret = pos.toString(); if(ret.length() > thePropStringLen){ return ret.substring(0, thePropStringLen-1); } return ret; }
/** * Creates a new NormalizedDouble with the given value * @param value the value to set * @throws IllegalArgumentException if value is not in the range [0.0, 1.0] */ public NormalizedDouble(double value){ rangeCheck(value); myValue = value; }
@Override public Object clone(){ return new NormalizedDouble(myValue); }
@Override public NormalizedDouble normalizeValue(Integer val) { if(!isValid(val)){ return null; } double norm = (val - myMin)/myRange; return new NormalizedDouble(norm); }
@Override public Double denormalizeValue(NormalizedDouble v) { return (v.getValue()*myRange + myMin); }
@Override public NormalizedDouble normalizeValue(Double val) { if(!isValid(val)){ return null; } double norm = (val - myMin)/myRange; return new NormalizedDouble(norm); }
public List<BoneProjectionPosition> getRotationListForNormPos(NormalizedDouble normPos) { List<BoneProjectionPosition> rotations = new ArrayList<BoneProjectionPosition>(myBoneProjectionRanges.size()); for(BoneProjectionRange range : myBoneProjectionRanges){ rotations.add(range.makePositionForNormalizedFraction(normPos.getValue())); } return rotations; } public List<BoneProjectionPosition> getRotationListForCurrentGoal() {
protected void updateConfig(BoneJointConfig bjc, boolean flag_hardResetGoalPosToDefault) { double defPosVal = Utils.bound(bjc.myNormalDefaultPos, 0.0, 1.0); myDefaultPosNorm = new NormalizedDouble(defPosVal); myBoneProjectionRanges = bjc.myProjectionRanges; List<BoneProjectionRange> projRanges = getBoneRotationRanges(); if(projRanges == null || projRanges.isEmpty()){ myNormalizableRange = NormalizableRange.NORMALIZED_RANGE; } else { BoneProjectionRange range = projRanges.get(0); double min = range.getMinPosAngRad(); double max = range.getMaxPosAngRad(); myNormalizableRange = new DoubleRange(min, max); } if (flag_hardResetGoalPosToDefault) { hardResetGoalPosToDefault(); } } private void hardResetGoalPosToDefault() {