About the Arranging MOLE graphics using manual decluttering Sample
[C#]
DemoSymbolIDs.cs
using System; using System.Collections.Generic; using System.Text; namespace ManualGroupDraw { /// <summary> /// A simple "wrapping" array of symbol IDs used for demonstration purposes. /// </summary> class DemoSymbolIDs { public string this [int index] { get { if ( index < 0 ) index *= -1; if ( index < s_symbols.Length ) return s_symbols[index]; else return s_symbols[index % s_symbols.Length]; } } public int Count { get { return s_symbols.Length; } } private static string[] s_symbols = { "SFAPC----------", "SFAPCF---------", "SFAPCH---------", "SFAPCL---------", "SFAPM----------", "SFAPMF---------", "SFAPMFA--------", "SFAPMFB--------", "SFAPMFC--------", "SFAPMFCH-------", "SFAPMFCL-------", "SFAPMFCM-------", "SFAPMFD--------", "SFAPMFF--------", "SFAPMFFI-------", "SFAPMFH--------", "SFAPMFJ--------", "SFAPMFK--------", "SFAPMFL--------", "SFAPMFM--------" }; } }
[Visual Basic .NET]
DemoSymbolIDs.vb
Imports System Imports System.Collections.Generic Imports System.Text Namespace ManualGroupDraw ''' <summary> ''' A simple "wrapping" array of symbol IDs used for demonstration purposes. ''' </summary> Class DemoSymbolIDs Public Default ReadOnly Property Item(ByVal index As Integer) As String Get If index < 0 Then index *= -1 End If If index < s_symbols.Length Then Return s_symbols(index) Else Return s_symbols(index Mod s_symbols.Length) End If End Get End Property Public ReadOnly Property Count() As Integer Get Return s_symbols.Length End Get End Property Private Shared s_symbols As String() = { _ "SFAPC----------", "SFAPCF---------", "SFAPCH---------", "SFAPCL---------", "SFAPM----------", "SFAPMF---------", _ "SFAPMFA--------", "SFAPMFB--------", "SFAPMFC--------", "SFAPMFCH-------", "SFAPMFCL-------", "SFAPMFCM-------", _ "SFAPMFD--------", "SFAPMFF--------", "SFAPMFFI-------", "SFAPMFH--------", "SFAPMFJ--------", "SFAPMFK--------", _ "SFAPMFL--------", "SFAPMFM--------" _ } End Class End Namespace