Example #1
0
        /// <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);
            }
        }