/// <summary>
 /// Determine if the object is visible
 /// </summary>
 bool IsVisible(WorldWind.Camera.CameraBase camera)
 {
     if (worldXyz == Vector3.Empty)
     {
         worldXyz = MathEngine.SphericalToCartesian(Latitude, Longitude, camera.WorldRadius);
     }
     return(camera.ViewFrustum.ContainsPoint(worldXyz));
 }
示例#2
0
        /*
         * public override void Update(DrawArgs drawArgs)
         * {
         *  if (!isInitialized)
         *      this.Initialize(drawArgs);
         * }
         */
        /*
         *      public void Update(Matrix matView, Matrix matProj)
         *      {
         *  /*
         *              matWorld.Translate(0.0f, -80.0f, 0.0f);
         *              this.matView = matView;
         *              this.matProj = matProj;
         *
         *      }
         */

        new protected bool IsVisible(WorldWind.Camera.CameraBase camera)
        {
            if (base.IsVisible(camera))
            {
                //donot render at high altitudes
                if (camera.Altitude > 60000)
                {
                    return(false);
                }
            }
            return(true);
        }
示例#3
0
        /// <summary>
        /// Determine if the object is visible
        /// </summary>
        protected bool IsVisible(WorldWind.Camera.CameraBase camera)
        {
            if (IsVertExaggerable == true)
            {
                vertExaggeration = World.Settings.VerticalExaggeration;
            }
            else
            {
                vertExaggeration = 1;
            }

            //if (worldXyz == Vector3.Empty)
            worldXyz = MathEngine.SphericalToCartesian(Latitude, Longitude, World.EquatorialRadius + ((currentElevation + Altitude) * vertExaggeration));
            return(camera.ViewFrustum.ContainsPoint(worldXyz));
        }