Changeset 2278

Show
Ignore:
Timestamp:
03/05/10 13:52:02 (5 months ago)
Author:
JO94
Message:

fixed KML polygon fills

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

Legend:

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

    r2249 r2278  
    221221   if (m_placemark->has_extendeddata()) 
    222222   { 
    223        kmldom::ExtendedDataPtr extendedData = m_placemark->get_extendeddata(); 
    224         for (size_t i=0; i<extendedData->get_data_array_size(); i++) 
    225         { 
    226             kmldom::DataPtr data = extendedData->get_data_array_at(i); 
    227             if ((data->has_name()) && (data->has_value())) 
    228             { 
    229                 FieldMember* newField = new FieldMember((PCHAR)data->get_name().c_str(), (PCHAR)data->get_value().c_str()); 
    230                 fields.push_back(newField); 
    231             } 
    232         } 
     223      kmldom::ExtendedDataPtr extendedData = m_placemark->get_extendeddata(); 
     224      for (size_t i=0; i<extendedData->get_data_array_size(); i++) 
     225      { 
     226         kmldom::DataPtr data = extendedData->get_data_array_at(i); 
     227         if ((data->has_name()) && (data->has_value())) 
     228         { 
     229            FieldMember* newField = new FieldMember((PCHAR)data->get_name().c_str(), (PCHAR)data->get_value().c_str()); 
     230            fields.push_back(newField); 
     231         } 
     232      } 
    233233   } 
    234234 
     
    283283         } 
    284284 
    285         if (iconStyle->has_scale()) 
     285        if (iconStyle->has_scale()) 
    286286         { 
    287287            double scale = iconStyle->get_scale(); 
     
    313313      { 
    314314         kmldom::LineStylePtr lineStyle = style->get_linestyle(); 
    315           
     315 
    316316         if (lineStyle->has_color()) 
    317317         { 
     
    328328      } 
    329329 
    330       //POLYSTYLES 
    331       if( style->has_polystyle()) 
    332       { 
    333           kmldom::PolyStylePtr polyStyle = style->get_polystyle(); 
    334  
    335           if( polyStyle->has_color()) 
    336           { 
     330      //POLYSTYLES 
     331      if( style->has_polystyle()) 
     332      { 
     333         kmldom::PolyStylePtr polyStyle = style->get_polystyle(); 
     334 
     335         if( polyStyle->has_color()) 
     336         { 
    337337            kmlbase::Color32 color = polyStyle->get_color(); 
    338338            FieldMember* newField = new FieldMember("style_fill_color", (LONG)color.get_color_argb()); 
    339339            fields.push_back(newField); 
    340           } 
    341  
    342           if( polyStyle->has_colormode()) 
    343           { 
    344               FieldMember* newField = new FieldMember("style_colormode", (LONG)polyStyle->get_colormode()); 
    345               fields.push_back(newField); 
    346           } 
    347  
    348           if( polyStyle->has_fill()) 
    349           { 
    350               FieldMember* newField = new FieldMember("style_fill", (LONG)(polyStyle->get_fill()? 1:0)); 
    351               fields.push_back(newField); 
    352           } 
    353  
    354           if( polyStyle->has_outline()) 
    355           { 
    356               FieldMember* newField = new FieldMember("style_outline", (LONG)(polyStyle->get_outline()? 1:0)); 
    357               fields.push_back(newField); 
    358           } 
    359       } 
    360  
    361      //BALLOON TEXT 
    362      if (style->has_balloonstyle()) 
    363      { 
    364         kmldom::BalloonStylePtr balloonStyle = style->get_balloonstyle(); 
    365         if (balloonStyle->has_text()) 
    366         { 
    367            FieldMember* newField = new FieldMember("balloon_style_text", (PCHAR)balloonStyle->get_text().c_str()); 
    368            fields.push_back(newField); 
    369         } 
    370      } 
    371    } 
    372 } 
     340         } 
     341 
     342         if( polyStyle->has_colormode()) 
     343         { 
     344            FieldMember* newField = new FieldMember("style_colormode", (LONG)polyStyle->get_colormode()); 
     345            fields.push_back(newField); 
     346         } 
     347 
     348         // by default, KML styles without a <fill> tag are to be filled 
     349         FieldMember* newField = new FieldMember("style_fill", (LONG)(!polyStyle->has_fill() || polyStyle->get_fill() ? 1 : 0)); 
     350         fields.push_back(newField); 
     351 
     352         if( polyStyle->has_outline()) 
     353         { 
     354            FieldMember* newField = new FieldMember("style_outline", (LONG)(polyStyle->get_outline()? 1:0)); 
     355            fields.push_back(newField); 
     356         } 
     357      } 
     358 
     359      //BALLOON TEXT 
     360      if (style->has_balloonstyle()) 
     361      { 
     362         kmldom::BalloonStylePtr balloonStyle = style->get_balloonstyle(); 
     363         if (balloonStyle->has_text()) 
     364         { 
     365            FieldMember* newField = new FieldMember("balloon_style_text", (PCHAR)balloonStyle->get_text().c_str()); 
     366            fields.push_back(newField); 
     367         } 
     368      } 
     369   } 
     370} 
  • FalconView/trunk/public/fvw_core/GeodataRenderers/DefaultRenderer.cs

    r2253 r2278  
    297297                     if (feature.GetFieldType(i) == FeatureFieldTypes.FIELD_TYPE_LONG) 
    298298                     { 
    299                         m_polygonSettings.fill = (int)feature.GetFieldValue(i) != 0; 
     299                        m_polygonSettings.outline = (int)feature.GetFieldValue(i) != 0; 
    300300                     } 
    301301                     break;