Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
0
        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);
            }
        }