Changeset 2300
- Timestamp:
- 03/09/10 09:09:53 (5 months ago)
- Location:
- FalconView/trunk/public/fvw_core
- Files:
-
- 7 modified
-
GeodataDataSources/LibkmlContainerBase.cpp (modified) (2 diffs)
-
GeodataDataSources/LibkmlGroundOverlay.cpp (modified) (1 diff)
-
GeodataDataSources/LibkmlNetworkLink.cpp (modified) (1 diff)
-
GeodataDataSources/LibkmlScreenOverlay.cpp (modified) (1 diff)
-
GeodataDataSources/UtilityMethods.cpp (modified) (2 diffs)
-
GeodataDataSources/UtilityMethods.h (modified) (1 diff)
-
SharedDotNetUtils/RubberSheet.cs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlContainerBase.cpp
r2272 r2300 619 619 // Note that Google Earth apparently will set a container to visible if any of its children are 620 620 // visible. The OGC standard doesn't seem to read this way, so we only look at the container itself. 621 *visible = m_container->has_visibility() ? (m_container->get_visibility() ? VARIANT_TRUE : VARIANT_FALSE) : VARIANT_TRUE;621 *visible = CUtilityMethods::KMLFeatureVisible(m_container) ? VARIANT_TRUE : VARIANT_FALSE; 622 622 return S_OK; 623 623 } … … 625 625 STDMETHODIMP LibkmlContainerBase::base_put_Visible(VARIANT_BOOL visible) 626 626 { 627 m_container->set_visibility(visible ? true : false); 627 if (visible) 628 CUtilityMethods::SetKMLFeatureVisible(m_container); 629 else 630 m_container->set_visibility(false); 628 631 return S_OK; 629 632 } -
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlGroundOverlay.cpp
r2286 r2300 333 333 STDMETHODIMP CLibkmlGroundOverlay::put_Visible(VARIANT_BOOL visible) 334 334 { 335 m_ground_overlay->set_visibility(visible ? true : false); 335 if (visible) 336 CUtilityMethods::SetKMLFeatureVisible(m_ground_overlay); 337 else 338 m_ground_overlay->set_visibility(false); 336 339 return S_OK; 337 340 } -
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlNetworkLink.cpp
r2286 r2300 385 385 STDMETHODIMP CLibkmlNetworkLink::put_Visible(VARIANT_BOOL visible) 386 386 { 387 m_networkLink->set_visibility(visible ? true : false); 387 if (visible) 388 CUtilityMethods::SetKMLFeatureVisible(m_networkLink); 389 else 390 m_networkLink->set_visibility(false); 388 391 return S_OK; 389 392 } -
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlScreenOverlay.cpp
r2286 r2300 274 274 STDMETHODIMP CLibkmlScreenOverlay::put_Visible(VARIANT_BOOL visible) 275 275 { 276 m_screen_overlay->set_visibility(visible ? true : false); 276 if (visible) 277 CUtilityMethods::SetKMLFeatureVisible(m_screen_overlay); 278 else 279 m_screen_overlay->set_visibility(false); 277 280 return S_OK; 278 281 } -
FalconView/trunk/public/fvw_core/GeodataDataSources/UtilityMethods.cpp
r2297 r2300 709 709 { 710 710 if (feature == NULL) 711 return true; 711 return true; // end recursion 712 712 713 713 // In order for a feature to be visible, the <visibility> tag of all its ancestors must also be set to 1 … … 718 718 } 719 719 720 /* static */ void CUtilityMethods::SetKMLFeatureVisible(const kmldom::FeaturePtr& feature) 721 { 722 if (feature == NULL) 723 return; // end recursion 724 feature->set_visibility(true); 725 // set all ancestors visible 726 SetKMLFeatureVisible(kmldom::AsFeature(GetAncestorOfType(feature, kmldom::Type_Feature))); 727 } 720 728 721 729 // -
FalconView/trunk/public/fvw_core/GeodataDataSources/UtilityMethods.h
r2286 r2300 108 108 DOUBLE leftLon, DOUBLE bottomLat, DOUBLE rightLon, DOUBLE topLat, 109 109 DOUBLE degreesPerPixelX, DOUBLE degreesPerPixelY); // use negative number if dpp is not set) 110 111 110 static bool KMLFeatureVisible(const kmldom::FeaturePtr& feature); 111 static void SetKMLFeatureVisible(const kmldom::FeaturePtr& feature); 112 112 113 113 static std::string ResolveURI(const char* base_url, const char* uri); -
FalconView/trunk/public/fvw_core/SharedDotNetUtils/RubberSheet.cs
r2296 r2300 1 // Copyright (c) 1994-20 09Georgia Tech Research Corporation, Atlanta, GA1 // Copyright (c) 1994-2010 Georgia Tech Research Corporation, Atlanta, GA 2 2 // This file is part of FalconView(tm). 3 3 … … 314 314 315 315 // constrain the lower left to >= 180 (some KML images, for example, may be outside this bound) 316 while (m_ll_lon < 180) m_ll_lon += 360;316 while (m_ll_lon < -180) m_ll_lon += 360; 317 317 } 318 318
