unstackedClone method
Copy - clone of this object unstacked. Does not allow to clone if already stacked.
Returns a new StackableValuePoint which is a full deep copy of this object. This includes cloning of double type members and ui.Offset type members.
Implementation
StackableValuePoint unstackedClone() {
if (isStacked) {
throw Exception('Cannot clone if already stacked');
}
StackableValuePoint clone = StackableValuePoint(
xLabel: xLabel, dataY: dataY, dataRowIndex: dataRowIndex, predecessorPoint: predecessorPoint);
// numbers and Strings, being immutable, can be just assigned.
// rest of objects (ui.Offset) must be created from immutable leafs.
clone.xLabel = xLabel;
clone.dataY = dataY;
clone.predecessorPoint = null;
clone.dataRowIndex = dataRowIndex;
clone.isStacked = false;
clone.fromY = fromY;
clone.toY = toY;
clone.scaledX = scaledX;
clone.scaledY = scaledY;
clone.scaledFromY = scaledFromY;
clone.scaledToY = scaledToY;
clone.scaledFrom = ui.Offset(scaledFrom.dx, scaledFrom.dy);
clone.scaledTo = ui.Offset(scaledTo.dx, scaledTo.dy);
return clone;
}