Helper class to create SVG maps.
More...
|
template<typename Geometry > |
void | add (Geometry const &geometry) |
| Adds a geometry to the transformation matrix. After doing this, the specified geometry can be mapped fully into the SVG map. More...
|
|
template<typename Geometry > |
void | map (Geometry const &geometry, std::string const &style, double size=-1.0) |
| Maps a geometry into the SVG map using the specified style. More...
|
|
| svg_mapper (std::ostream &stream, SvgCoordinateType width, SvgCoordinateType height, std::string const &width_height="width=\"100%\" height=\"100%\"") |
| Constructor, initializing the SVG map. Opens and initializes the SVG. Should be called explicitly. More...
|
|
template<typename TextPoint > |
void | text (TextPoint const &point, std::string const &s, std::string const &style, double offset_x=0.0, double offset_y=0.0, double lineheight=10.0) |
| Adds a text to the SVG map. More...
|
|
virtual | ~svg_mapper () |
| Destructor, called automatically. Closes the SVG by streaming <\/svg> More...
|
|
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
class boost::geometry::svg_mapper< Point, SameScale, SvgCoordinateType >
Helper class to create SVG maps.
- Template Parameters
-
Point | Point type, for input geometries. |
SameScale | Boolean flag indicating if horizontal and vertical scale should be the same. The default value is true |
SvgCoordinateType | Coordinate type of SVG points. SVG is capable to use floating point coordinates. Therefore the default value is double |
- Examples:
- 07_a_graph_route_example.cpp, and 07_b_graph_route_example.cpp.
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
boost::geometry::svg_mapper< Point, SameScale, SvgCoordinateType >::svg_mapper |
( |
std::ostream & |
stream, |
|
|
SvgCoordinateType |
width, |
|
|
SvgCoordinateType |
height, |
|
|
std::string const & |
width_height = "width=\"100%\" height=\"100%\"" |
|
) |
| |
Constructor, initializing the SVG map. Opens and initializes the SVG. Should be called explicitly.
- Parameters
-
stream | Output stream, should be a stream already open |
width | Width of the SVG map (in SVG pixels) |
height | Height of the SVG map (in SVG pixels) |
width_height | Optional information to increase width and/or height |
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
Destructor, called automatically. Closes the SVG by streaming <\/svg>
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
template<typename Geometry >
Adds a geometry to the transformation matrix. After doing this, the specified geometry can be mapped fully into the SVG map.
- Template Parameters
-
Geometry | Any type fulfilling a Geometry Concept |
- Parameters
-
geometry | A model of the specified concept |
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
template<typename Geometry >
void boost::geometry::svg_mapper< Point, SameScale, SvgCoordinateType >::map |
( |
Geometry const & |
geometry, |
|
|
std::string const & |
style, |
|
|
double |
size = -1.0 |
|
) |
| |
Maps a geometry into the SVG map using the specified style.
- Template Parameters
-
Geometry | Any type fulfilling a Geometry Concept |
- Parameters
-
geometry | A model of the specified concept |
style | String containing verbatim SVG style information |
size | Optional size (used for SVG points) in SVG pixels. For linestrings, specify linewidth in the SVG style information |
template<typename Point, bool SameScale = true, typename SvgCoordinateType = double>
template<typename TextPoint >
void boost::geometry::svg_mapper< Point, SameScale, SvgCoordinateType >::text |
( |
TextPoint const & |
point, |
|
|
std::string const & |
s, |
|
|
std::string const & |
style, |
|
|
double |
offset_x = 0.0 , |
|
|
double |
offset_y = 0.0 , |
|
|
double |
lineheight = 10.0 |
|
) |
| |
Adds a text to the SVG map.
- Template Parameters
-
TextPoint | Any type fulfilling a Point Concept |
- Parameters
-
point | Location of the text (in map units) |
s | The text itself |
style | String containing verbatim SVG style information, of the text |
offset_x | Offset in SVG pixels, defaults to 0 |
offset_y | Offset in SVG pixels, defaults to 0 |
lineheight | Line height in SVG pixels, in case the text contains
|