示例#1
0
        internal string InternalToDot([CanBeNull] GraphvizVertex commonFormat = null)
        {
            var properties = new Dictionary <string, object>();

            TextRelatedPropertiesToDot(properties);
            ShapeRelatedPropertiesToDot(commonFormat, properties);
            LayoutRelatedPropertiesToDot(properties);
            if (Regular)
            {
                properties["regular"] = Regular;
            }
            if (Group != null)
            {
                properties["group"] = Group;
            }
            if (Layer != null)
            {
                properties["layer"] = Layer.Name;
            }
            if (Peripheries >= 0)
            {
                properties["peripheries"] = Peripheries;
            }
            PositionRelatedProperties(properties);

            return(GenerateDot(properties));
        }
示例#2
0
        private void ShapeRelatedPropertiesToDot(
            [CanBeNull] GraphvizVertex commonFormat,
            [NotNull] IDictionary <string, object> properties)
        {
            if (Shape != GraphvizVertexShape.Unspecified)
            {
                properties["shape"] = Shape;
            }

            GraphvizVertexShape shape = Shape == GraphvizVertexShape.Unspecified && commonFormat != null
                ? commonFormat.Shape
                : Shape;

            LabelOrRecordToDot(properties, shape);

            if (shape == GraphvizVertexShape.Polygon)
            {
                if (Sides != 0)
                {
                    properties["sides"] = Sides;
                }

                if (!IsZero(Skew))
                {
                    properties["skew"] = Skew;
                }

                if (!IsZero(Distortion))
                {
                    properties["distortion"] = Distortion;
                }
            }
        }