Changeset 2300

Show
Ignore:
Timestamp:
03/09/10 09:09:53 (5 months ago)
Author:
JO94
Message:

fixed setting placemark visibility

Location:
FalconView/trunk/public/fvw_core
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlContainerBase.cpp

    r2272 r2300  
    619619   // Note that Google Earth apparently will set a container to visible if any of its children are 
    620620   // 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; 
    622622   return S_OK; 
    623623} 
     
    625625STDMETHODIMP LibkmlContainerBase::base_put_Visible(VARIANT_BOOL visible) 
    626626{ 
    627    m_container->set_visibility(visible ? true : false); 
     627   if (visible) 
     628      CUtilityMethods::SetKMLFeatureVisible(m_container); 
     629   else 
     630      m_container->set_visibility(false); 
    628631   return S_OK; 
    629632} 
  • FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlGroundOverlay.cpp

    r2286 r2300  
    333333STDMETHODIMP CLibkmlGroundOverlay::put_Visible(VARIANT_BOOL visible) 
    334334{ 
    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); 
    336339   return S_OK; 
    337340} 
  • FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlNetworkLink.cpp

    r2286 r2300  
    385385STDMETHODIMP CLibkmlNetworkLink::put_Visible(VARIANT_BOOL visible) 
    386386{ 
    387    m_networkLink->set_visibility(visible ? true : false); 
     387   if (visible) 
     388      CUtilityMethods::SetKMLFeatureVisible(m_networkLink); 
     389   else 
     390      m_networkLink->set_visibility(false); 
    388391   return S_OK; 
    389392} 
  • FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlScreenOverlay.cpp

    r2286 r2300  
    274274STDMETHODIMP CLibkmlScreenOverlay::put_Visible(VARIANT_BOOL visible) 
    275275{ 
    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); 
    277280   return S_OK; 
    278281} 
  • FalconView/trunk/public/fvw_core/GeodataDataSources/UtilityMethods.cpp

    r2297 r2300  
    709709{ 
    710710   if (feature == NULL) 
    711       return true; 
     711      return true; // end recursion 
    712712 
    713713   // In order for a feature to be visible, the <visibility> tag of all its ancestors must also be set to 1 
     
    718718} 
    719719 
     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} 
    720728 
    721729// 
  • FalconView/trunk/public/fvw_core/GeodataDataSources/UtilityMethods.h

    r2286 r2300  
    108108      DOUBLE leftLon, DOUBLE bottomLat, DOUBLE rightLon, DOUBLE topLat, 
    109109      DOUBLE degreesPerPixelX, DOUBLE degreesPerPixelY); // use negative number if dpp is not set) 
    110  
    111110   static bool KMLFeatureVisible(const kmldom::FeaturePtr& feature); 
     111   static void SetKMLFeatureVisible(const kmldom::FeaturePtr& feature); 
    112112 
    113113   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-2009 Georgia Tech Research Corporation, Atlanta, GA 
     1// Copyright (c) 1994-2010 Georgia Tech Research Corporation, Atlanta, GA 
    22// This file is part of FalconView(tm). 
    33 
     
    314314 
    315315            // 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; 
    317317         } 
    318318