Add dummy functions for line placements and reenable line placement code in symbolizer helpers.
This commit is contained in:
parent
f2e2483109
commit
984f136351
3 changed files with 46 additions and 8 deletions
|
@ -99,7 +99,13 @@ public:
|
|||
|
||||
/** Try to place a single label at the given point. */
|
||||
glyph_positions_ptr find_point_placement(pixel_position pos);
|
||||
|
||||
/** Iterate over the given path, placing line-following labels with respect to label_spacing. */
|
||||
template <typename T>
|
||||
glyph_positions_ptr find_line_placements(T & path);
|
||||
/** Iterate over the given path, placing point labels with respect to label_spacing. */
|
||||
template <typename T>
|
||||
glyph_positions_ptr find_point_on_line_placements(T & path);
|
||||
/** Try next position alternative from placement_info. */
|
||||
bool next_position();
|
||||
private:
|
||||
void init_alignment();
|
||||
|
|
|
@ -76,28 +76,33 @@ glyph_positions_ptr text_symbolizer_helper<FaceManagerT, DetectorT>::next_line_p
|
|||
typedef coord_transform<CoordTransform,clipped_geometry_type> path_type;
|
||||
|
||||
clipped_geometry_type clipped(**geo_itr_);
|
||||
clipped.clip_box(query_extent_.minx(),query_extent_.miny(),query_extent_.maxx(),query_extent_.maxy());
|
||||
clipped.clip_box(query_extent_.minx(), query_extent_.miny(),
|
||||
query_extent_.maxx(), query_extent_.maxy());
|
||||
path_type path(t_, clipped, prj_trans_);
|
||||
#if 0
|
||||
glyph_positions_ptr glyphs;
|
||||
if (points_on_line_) {
|
||||
finder_->find_point_placements(path);
|
||||
#if 0
|
||||
finder_.find_point_on_line_placements(path);
|
||||
#endif
|
||||
} else {
|
||||
finder_->find_line_placements(path);
|
||||
glyphs = finder_.find_line_placements(path);
|
||||
}
|
||||
if (!finder_->get_results().empty())
|
||||
if (glyphs)
|
||||
{
|
||||
//Found a placement
|
||||
#if 0
|
||||
if (points_on_line_)
|
||||
{
|
||||
finder_->update_detector();
|
||||
}
|
||||
|
||||
geo_itr_ = geometries_to_process_.erase(geo_itr_);
|
||||
if (writer_.first) writer_.first->add_text(
|
||||
finder_->get_results(), finder_->get_extents(),
|
||||
feature_, t_, writer_.second);
|
||||
return true;
|
||||
#endif
|
||||
return glyphs;
|
||||
}
|
||||
#endif
|
||||
//No placement for this geometry. Keep it in geometries_to_process_ for next try.
|
||||
geo_itr_++;
|
||||
}
|
||||
|
|
|
@ -25,10 +25,14 @@
|
|||
#include <mapnik/text_properties.hpp>
|
||||
#include <mapnik/debug.hpp>
|
||||
#include <mapnik/label_collision_detector.hpp>
|
||||
#include <mapnik/ctrans.hpp>
|
||||
|
||||
//boost
|
||||
#include <boost/make_shared.hpp>
|
||||
|
||||
// agg
|
||||
#include "agg_conv_clip_polyline.h"
|
||||
|
||||
namespace mapnik
|
||||
{
|
||||
|
||||
|
@ -217,6 +221,19 @@ glyph_positions_ptr placement_finder_ng::find_point_placement(pixel_position pos
|
|||
}
|
||||
|
||||
|
||||
template <typename T>
|
||||
glyph_positions_ptr placement_finder_ng::find_point_on_line_placements(T & path)
|
||||
{
|
||||
return glyph_positions_ptr();
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
glyph_positions_ptr placement_finder_ng::find_line_placements(T & path)
|
||||
{
|
||||
return glyph_positions_ptr();
|
||||
}
|
||||
|
||||
|
||||
/*********************************************************************************************/
|
||||
|
||||
|
||||
|
@ -270,4 +287,14 @@ void glyph_positions::set_base_point(pixel_position base_point)
|
|||
}
|
||||
|
||||
|
||||
/*************************************************************************************/
|
||||
typedef agg::conv_clip_polyline<geometry_type> clipped_geometry_type;
|
||||
typedef coord_transform<CoordTransform,clipped_geometry_type> ClippedPathType;
|
||||
typedef coord_transform<CoordTransform,geometry_type> PathType;
|
||||
template glyph_positions_ptr placement_finder_ng::find_point_on_line_placements<ClippedPathType>(ClippedPathType &);
|
||||
template glyph_positions_ptr placement_finder_ng::find_line_placements<ClippedPathType>(ClippedPathType &);
|
||||
template glyph_positions_ptr placement_finder_ng::find_point_on_line_placements<PathType>(PathType &);
|
||||
template glyph_positions_ptr placement_finder_ng::find_line_placements<PathType>(PathType &);
|
||||
|
||||
|
||||
}// ns mapnik
|
||||
|
|
Loading…
Reference in a new issue