Changeset 2272
- Timestamp:
- 03/04/10 15:00:20 (5 months ago)
- Location:
- FalconView/trunk/public/fvw_core/GeodataDataSources
- Files:
-
- 2 modified
-
LibkmlContainerBase.cpp (modified) (5 diffs)
-
LibkmlContainerBase.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlContainerBase.cpp
r2268 r2272 40 40 41 41 size_t size = m_container->get_feature_array_size(); 42 size_t skipped_regions = 0;43 42 44 43 for (UINT i = 0; i < size; i++) … … 52 51 !CUtilityMethods::KMLFeatureInRegion(feature, m_leftLon, m_bottomLat, m_rightLon, m_topLat, m_degreesPerPixelX, m_degreesPerPixelY)) 53 52 { 54 skipped_regions++;55 53 continue; 56 54 } 57 58 // if we get here, we've loaded something, so set the root data source to changed59 bNeedToFireDataSourceChanged = true; // stops firing once all regions have been loaded60 55 61 56 // if we already have a COM object for this element, use it … … 66 61 if (it == m_wrapped_objects.end()) 67 62 { 63 // this element has never been wrapped, so wrap it 68 64 unk = CLibkmlDataSource::WrapKMLElement(feature, m_kml_file, m_rootDS); 69 65 if (unk) // may return NULL for unsupported elements 70 66 unk->Release(); // get rid of extra reference 71 67 m_wrapped_objects[i] = unk; 68 69 // we've wrapped something, so need to fire a data source changed notification 70 bNeedToFireDataSourceChanged = true; 72 71 } 73 72 else … … 95 94 } 96 95 97 m_bool_all_ regions_loaded = skipped_regions == 0; // optimization to prevent having to rebuild unnecessarily96 m_bool_all_elements_wrapped = m_wrapped_objects.size() == size; // optimization to prevent having to rebuild unnecessarily 98 97 99 98 m_bool_indicies_populated = TRUE; // set true here so that nested calls to this method get ignored … … 564 563 565 564 // force rebuild of indicies based on any new regionation stuff 566 if (!m_bool_all_ regions_loaded)565 if (!m_bool_all_elements_wrapped) 567 566 { 568 567 m_bool_indicies_populated = FALSE; -
FalconView/trunk/public/fvw_core/GeodataDataSources/LibkmlContainerBase.h
r2268 r2272 100 100 m_bool_indicies_populated = FALSE; 101 101 m_bool_indicies_never_populated = TRUE; 102 m_bool_all_ regions_loaded = FALSE;102 m_bool_all_elements_wrapped = FALSE; 103 103 m_kml_file = NULL; 104 104 m_features_in_filter = NULL; … … 132 132 FEATURE_VECTOR m_features; 133 133 LONG_VECTOR m_feature_indicies; 134 BOOL m_bool_indicies_populated, m_bool_indicies_never_populated, m_bool_all_ regions_loaded;134 BOOL m_bool_indicies_populated, m_bool_indicies_never_populated, m_bool_all_elements_wrapped; 135 135 kmlengine::KmlFilePtr m_kml_file; 136 136 ILibkmlDataSourcePtr m_rootDS;
