public override void Update(DrawArgs drawArgs) { try { if (drawArgs.WorldCamera.Altitude >= m_minimumDisplayAltitude && drawArgs.WorldCamera.Altitude <= m_maximumDisplayAltitude) { if (!Inited) { Initialize(drawArgs); } if (m_verticalExaggeration != World.Settings.VerticalExaggeration) { UpdateVertices(); m_lineFeature.Initialize(drawArgs); } if (m_lineFeature != null) { m_lineFeature.Update(drawArgs); } } } catch (Exception ex) { Log.Write(ex); } }
/// <summary> /// Called before icon render. If the user has clicked on one of the GoTos head there now. /// Renders 3-D model and history trails. If you want to only show models or trails on /// mouseover set the TrailShowDistance or ModelShowDistance to 0. /// </summary> /// <param name="drawArgs"></param> /// <param name="isMouseOver">Whether or not the mouse is over the icon</param> public override void PreRender(DrawArgs drawArgs, bool isMouseOver) { base.PreRender(drawArgs, isMouseOver); if (RenderTrail && ((DistanceToIcon < TrailShowDistance) || isMouseOver || IsHooked)) { if (RenderTrail && m_lineFeature != null) { if (!m_lineFeature.Initialized || m_lineFeature.NeedsUpdate) { m_lineFeature.Update(drawArgs); } m_lineFeature.Render(drawArgs); } } if (RenderModel && ((DistanceToIcon < ModelShowDistance) || isMouseOver || IsHooked)) { if (m_modelFeature == null) { updateModel(isMouseOver); } if (!m_modelFeature.Initialized) { m_modelFeature.Update(drawArgs); } m_modelFeature.Render(drawArgs); } if (m_gotoMe) { GoTo(drawArgs); } }