/// <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)); }
/* * 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); }
/// <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)); }