decimal pGetReferenceValue(int refElement, PatternElement.properties_decimal prop, int subshapeindex) { return(commonVars.stitcher .getPatternElement(patternIndex: 0, refElement) .getDecimal(prop, subshapeindex)); }
void pSetReferenceValues(int index, int subshapeindex, ObservableCollection <string> uilist, PatternElement.properties_decimal targetValue, PatternElement.properties_i propertyIndex, PatternElement.properties_i subShapeIndex, DropDown cb, NumericStepper ns) { uilist.Clear(); uilist.Add("1"); decimal val = commonVars.stitcher.getPatternElement(patternIndex: 0, index).getDecimal(targetValue, subshapeindex); int refElement = commonVars.stitcher.getPatternElement(patternIndex: 0, index).getInt(propertyIndex, subshapeindex); bool refActive = (refElement != 0); if (refActive) { if (refElement <= index) { refElement--; } int refSubShapeCount = commonVars.stitcher.getPatternElement(patternIndex: 0, refElement).getSubShapeCount(); for (int i = 1; i < refSubShapeCount; i++) { uilist.Add((i + 1).ToString()); } int _subShapeRef = commonVars.stitcher.getPatternElement(patternIndex: 0, index).getInt(subShapeIndex, subshapeindex); // Safety check in case our reference element shifted under us. if (_subShapeRef >= refSubShapeCount) { _subShapeRef = 0; commonVars.stitcher.getPatternElement(patternIndex: 0, index).setInt(subShapeIndex, _subShapeRef, subshapeindex); } cb.SelectedIndex = _subShapeRef; val = pGetReferenceValue(refElement, targetValue, _subShapeRef); } else { cb.SelectedIndex = 0; } ns.Value = Convert.ToDouble(val); commonVars.stitcher.getPatternElement(patternIndex: 0, index).setDecimal(targetValue, val, subshapeindex); }