//EnvironmentNotifierExampleTerrainStreamObserver/// void EnvironmentNotifierExampleTerrainStreamObserver::AddSphere(const Eegeo::Streaming::MortonKey& key) { Eegeo::Space::CubeMap::CubeMapCellInfo cellInfo(key); const Eegeo::dv2& resourceQuadtreeCellCenter = cellInfo.GetFaceCentre(); Eegeo::dv3 worldSpaceCellCenter = Eegeo::Space::CubeMap::FacePointToWorld(cellInfo.GetFaceIndex(), resourceQuadtreeCellCenter, Eegeo::Space::EarthConstants::CubeSideLengthHalf); Eegeo::dv3 up = worldSpaceCellCenter.Norm(); Eegeo::dv3 spherePosition = Eegeo::dv3::Scale(up, Eegeo::Space::EarthConstants::Radius + SPHERE_HEIGHT_ABOVE_SEA); Eegeo::v4 color(1.f, 0.f, 1.f, 0.75f); SphereData sphereData(spherePosition, color); m_spheres.insert(std::make_pair(key,sphereData)); }
void DynamicText3DExample::CreateDynamic3DText(const std::string& str, float fontPointSize, double latitudeDegrees, double longitudeDegrees, const Eegeo::v3& colour, float alpha) { Eegeo::Space::LatLongAltitude location = Eegeo::Space::LatLongAltitude::FromDegrees(latitudeDegrees, longitudeDegrees, 0.f); Eegeo::dv3 posEcef = location.ToECEF(); Eegeo::Space::CubeMap::CubeMapCellInfo cellInfo(Space::CubeMap::EcefToKey(posEcef, 15)); std::vector<u32> textUtf32; Unicode::UnicodeConverter::Utf8ToUtf32(str.c_str(), textUtf32); Resources::PlaceNames::PlaceNameView* pPlaceNameView = m_placeNameViewBuilder.CreatePlaceNameView(textUtf32, "", fontPointSize, posEcef, "", cellInfo); if (pPlaceNameView != NULL) { pPlaceNameView->GetConfig().UpdateColorAndScale(colour, 1.f); pPlaceNameView->SetAlpha(alpha); m_views.push_back(pPlaceNameView); } }