alaCarte Maps
Renderer for OpenStreetMap tiles
RelationRenderer Class Reference

#include <relation_renderer.hpp>

Inheritance diagram for RelationRenderer:
ObjectRenderer

Public Member Functions

 RelationRenderer (const shared_ptr< Geodata > &data, RelId rid, const Style *s, const cairo_matrix_t *transform)
 This file is part of alaCarte. More...
 
void fill (cairo_t *cr, AssetCache &cache)
 
- Public Member Functions inherited from ObjectRenderer
 ObjectRenderer (const shared_ptr< Geodata > &data, const Style *s, const cairo_matrix_t *transform)
 

Private Member Functions

void addRingPath (cairo_t *cr, const std::vector< WayId > &ids, int &idx, bool *used)
 tries to paint a ring starting at ids[idx]. More...
 

Private Attributes

Relationrelation
 

Additional Inherited Members

- Protected Member Functions inherited from ObjectRenderer
void paintLine (cairo_t *cr, const std::vector< NodeId > &nodeIDs, bool reverse=false, bool connect=false) const
 This file is part of alaCarte. More...
 
void addShield (std::list< shared_ptr< Shield > > &shields, const FloatPoint &p, const cairo_text_extents_t *textSize) const
 used by node and way renderer to place a shield. More...
 
void addLabel (std::list< shared_ptr< Label > > &labels, const FloatPoint &p, const cairo_text_extents_t *textSize) const
 used by node and way renderer to place a shield. More...
 
- Protected Attributes inherited from ObjectRenderer
const shared_ptr< Geodata > & data
 
const cairo_matrix_t * transform
 
const Styles
 
FloatRect bounds
 is set by addWayPath for ways or in transformLocation for nodes More...
 

Detailed Description

Definition at line 45 of file relation_renderer.hpp.

Constructor & Destructor Documentation

RelationRenderer::RelationRenderer ( const shared_ptr< Geodata > &  data,
RelId  rid,
const Style s,
const cairo_matrix_t *  transform 
)

This file is part of alaCarte.

alaCarte is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

alaCarte is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with alaCarte. If not, see http://www.gnu.org/licenses/.

Copyright alaCarte 2012-2013 Simon Dreher, Florian Jacob, Tobias Kahlert, Patrick Niklaus, Bernhard Scheirle, Lisa Winter Maintainer: Patrick Niklaus

Definition at line 37 of file relation_renderer.cpp.

Member Function Documentation

void RelationRenderer::addRingPath ( cairo_t *  cr,
const std::vector< WayId > &  ids,
int &  idx,
bool *  used 
)
private

tries to paint a ring starting at ids[idx].

All previous ways are already part of a ring.

Parameters
crthe cairo context to add the path to
idsthe ways to search for a ring
idxthe start index in the way array, is increaed to last unused way
usedarray of bools to indicate which way is already used

Definition at line 53 of file relation_renderer.cpp.

void RelationRenderer::fill ( cairo_t *  cr,
AssetCache cache 
)

Definition at line 94 of file relation_renderer.cpp.

Member Data Documentation

Relation* RelationRenderer::relation
private

Definition at line 48 of file relation_renderer.hpp.


The documentation for this class was generated from the following files: