Smrf.NodeXL.Visualization.Wpf.VertexDrawer.GetRadius C# (CSharp) Method

GetRadius() protected method

protected GetRadius ( IVertex oVertex ) : Double
oVertex IVertex
return Double
    GetRadius
    (
        IVertex oVertex
    )
    {
        Debug.Assert(oVertex != null);
        AssertValid();

        // Start with the default radius.

        Double dRadius = m_dRadius;

        Object oPerVertexRadiusAsObject;

        // Check for a per-vertex radius.  Note that the radius is stored as a
        // Single in the vertex's metadata to reduce memory usage.

        if ( oVertex.TryGetValue(ReservedMetadataKeys.PerVertexRadius,
            typeof(Single), out oPerVertexRadiusAsObject) )
        {
            dRadius = (Double)(Single)oPerVertexRadiusAsObject;

            if (dRadius < MinimumRadius || dRadius > MaximumRadius)
            {
                throw new FormatException( String.Format(

                    "{0}: The vertex with the ID {1} has an out-of-range"
                    + " ReservedMetadataKeys.PerVertexRadius value.  Valid"
                    + " values are between {2} and {3}."
                    ,
                    this.ClassName,
                    oVertex.ID,
                    MinimumRadius,
                    MaximumRadius
                    ) );
            }
        }

        return (dRadius * m_dGraphScale);
    }