public void FixupInternalDataStructures(IPlotArea layer, Func <CSLineID, CSAxisInformation> GetAxisStyleInformation) { // update the logical values of the physical axes before if (_styleID.UsePhysicalValueOtherFirst) { // then update the logical value of this identifier double logicalValue = layer.Scales[_styleID.AxisNumberOtherFirst].PhysicalVariantToNormal(_styleID.PhysicalValueOtherFirst); _styleID = _styleID.WithLogicalValueOtherFirst(logicalValue); } if (_styleID.UsePhysicalValueOtherSecond) { // then update the logical value of this identifier double logicalValue = layer.Scales[_styleID.AxisNumberOtherSecond].PhysicalVariantToNormal(_styleID.PhysicalValueOtherSecond); _styleID = _styleID.WithLogicalValueOtherSecond(logicalValue); } CachedAxisInformation = GetAxisStyleInformation(_styleID); if (null != _customTickSpacing) { CSLineID styleID = _cachedAxisInfo.Identifier; Scale scale = layer.Scales[styleID.ParallelAxisNumber]; Altaxo.Data.AltaxoVariant org = scale.OrgAsVariant, end = scale.EndAsVariant; _customTickSpacing.PreProcessScaleBoundaries(ref org, ref end, false, false); _customTickSpacing.FinalProcessScaleBoundaries(org, end, scale); } if (null != _axisTitle) { _axisTitle.SetParentSize(layer.Size, false); } }
protected virtual void UpdateTicksAndOrgEndUsingRescalingObject() { if (null == TickSpacing) { SetScaleOrgEnd(Rescaling.ResultingOrg, Rescaling.ResultingEnd); } else { AltaxoVariant org = Rescaling.ResultingOrg, end = Rescaling.ResultingEnd; TickSpacing.PreProcessScaleBoundaries(ref org, ref end, !Rescaling.IsResultingOrgFixed, !Rescaling.IsResultingEndFixed); SetScaleOrgEnd(org, end); TickSpacing.FinalProcessScaleBoundaries(org, end, this); } }
protected virtual void UpdateTicksAndOrgEndUsingRescalingObject() { DateTime org = Rescaling.ResultingOrg, end = Rescaling.ResultingEnd; AdjustResultingOrgEndToValidValues(ref org, ref end); if (null == TickSpacing) { SetScaleOrgEnd(org, end); } else { AltaxoVariant orgV = org, endV = end; TickSpacing.PreProcessScaleBoundaries(ref orgV, ref endV, !Rescaling.IsResultingOrgFixed, !Rescaling.IsResultingEndFixed); SetScaleOrgEnd(orgV, endV); TickSpacing.FinalProcessScaleBoundaries(orgV, endV, this); } }