private void AddNationPagesPins(Model3DGroup modelGroup, List <OxyColor> colors, AuthorCountry authorCountry, string name, Nation country) { int pagesCount = (int)authorCountry.TotalPagesReadFromCountry; int booksCount = (int)authorCountry.TotalBooksReadFromCountry; var pagesLookup = (int)_countryToLogPagesLookUp[authorCountry.Country]; var maxPages = _countryToLogPagesLookUp.Values.OrderByDescending(x => x).FirstOrDefault(); double height = (12.0 * (double)pagesLookup) / ((double)maxPages); if (height < 1.0) { height = 1.0; } GeometryModel3D countryGeometry = GetCountryOctahedronGeometry(country.Latitude, country.Longitude, height, colors[pagesLookup], booksCount, country.DisplayImage); modelGroup.Children.Add(countryGeometry); string label = string.Format("{0}\nLat/Long ( {1:0.###} ,{2:0.###} ) \nTotal Pages {3}", name, country.Latitude, country.Longitude, pagesCount); TextVisual3D countryText = GetNationText(country, pagesCount, label, height); modelGroup.Children.Add(countryText.Content); }