void WorldPinsService::GetPinEcefAndScreenLocations(const WorldPinItemModel& pinItemModel, Eegeo::dv3& ecefLocation, Eegeo::v2& screenLocation) const { Eegeo::Pins::Pin* pPin = m_pinRepository.GetPinById(pinItemModel.Id()); Eegeo_ASSERT(pPin != NULL); ecefLocation = m_environmentFlatteningService.GetScaledPointEcef(pPin->GetEcefPosition(), m_environmentFlatteningService.GetCurrentScale()); Eegeo::Geometry::Bounds2D outScreenBounds = Eegeo::Geometry::Bounds2D::Empty(); m_pinController.GetScreenBoundsForPin(*pPin, outScreenBounds); screenLocation = outScreenBounds.center(); }