void DebugPrimitiveRenderingExample::Draw() { Eegeo::dv3 ecefA = ConvertLatLongAltitudeToEcef(Eegeo::Space::LatLongAltitude::FromDegrees(37.785063, -122.403436, 10)); Eegeo::dv3 ecefB = ConvertLatLongAltitudeToEcef(Eegeo::Space::LatLongAltitude::FromDegrees(37.78469,-122.40143, 100)); Eegeo::dv3 colour(1.0f, 0.0f, 1.0f); float alpha = 0.8f; float lineWidth = 10.0f; m_debugPrimitiveRenderer.DrawEcefLine(ecefA, ecefB, Eegeo::v4(colour.GetX(), colour.GetY(), colour.GetZ(), alpha), lineWidth); }
void ReadHeadingExample::Update(float dt) { double degrees; if(m_locationService.GetHeadingDegrees(degrees)) { EXAMPLE_LOG("Heading: %f\n", degrees); Eegeo::dv3 ecefCenter = ConvertLatLongAltitudeToEcef(Eegeo::Space::LatLongAltitude::FromDegrees(37.78469,-122.40143, 200)); Eegeo::Space::EcefTangentBasis tangentBasis; Eegeo::Camera::CameraHelpers::EcefTangentBasisFromPointAndHeading(ecefCenter, static_cast<float>(degrees), tangentBasis); const float axesSize = 150.0f; m_debugRenderer.DrawAxes(ecefCenter, tangentBasis.GetRight()*axesSize, tangentBasis.GetUp()*axesSize, tangentBasis.GetForward()*axesSize); } else { EXAMPLE_LOG("Unable to read heading from device.\n"); } }