void AdjustNodeVisualsForHighZoomLevel(int iLevel, GraphmapsNode vnode, Node node) {
            var levelScale = GetLevelScale(iLevel);
            var nodeDotWidth = _lgLayoutSettings.NodeDotWidthInInches*DpiX/levelScale;
            var nodeMinWidth = _lgLayoutSettings.NodeDotWidthInInchesMinInImage*DpiX/levelScale;
            if (vnode.LgNodeInfo.ZoomLevel > Math.Pow(2, iLevel))
                nodeDotWidth = Math.Max(nodeMinWidth,
                    nodeDotWidth*(2*Math.Pow(2, iLevel)/vnode.LgNodeInfo.ZoomLevel));
            else {
                HideVNode(node);
                return;
            }

            vnode.Node.Attr.LineWidth = 0; //GetBorderPathThickness(tileScale);

            vnode.InvalidateNodeDot(nodeDotWidth*0.8); // make them just a bit smaller
            vnode.HideNodeLabel();
            vnode.SetLowTransparency();
        }
        private void ArrangeNodeLabel(GraphmapsNode vNode, double zf)
        {
            double nodeLabelHeight = _lgLayoutSettings.NodeLabelHeightInInches*DpiY/CurrentScale;
            double nodeLabelWidth = nodeLabelHeight*vNode.LgNodeInfo.LabelWidthToHeightRatio;

            if (vNode.LgNodeInfo.LabelVisibleFromScale >= 0 &&
                vNode.LgNodeInfo.LabelVisibleFromScale <= zf) {
                var offset = Point.Scale(nodeLabelWidth + NodeDotWidth*1.01, nodeLabelHeight + NodeDotWidth*1.01,
                    vNode.LgNodeInfo.LabelOffset);
                vNode.InvalidateNodeLabel(nodeLabelHeight, nodeLabelWidth, offset);
            }
            else
                vNode.HideNodeLabel();
        }