It renders the objects associated to an abstract layer. i.e. a generic renderer. More...
#include <AbstractLayerRenderer.h>
Public Member Functions | |
AbstractLayerRenderer () | |
void | draw (AbstractLayer *layer, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the layer geographic objects in the given canvas using the SRS informed. More... | |
~AbstractLayerRenderer () | |
Destructor. More... | |
Private Member Functions | |
void | buildChart (Chart *chart, te::da::DataSet *dataset, te::gm::Geometry *geom) |
void | drawDatSetGeometries (te::da::DataSet *dataset, const std::size_t &gpos, Canvas *canvas, int fromSRID, int toSRID, Chart *chart, te::common::TaskProgress *task=0) |
It draws the data set geometries in the given canvas using the informed SRS. More... | |
void | drawLayerGeometries (AbstractLayer *layer, const std::string &geomPropertyName, te::se::FeatureTypeStyle *style, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the abstract layer in the given canvas using the SRS informed. More... | |
void | drawLayerGrouping (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
void | drawLayerGroupingMem (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
void | reset () |
Private Attributes | |
std::vector< te::gm::Coord2D > | m_chartCoordinates |
std::vector< te::color::RGBAColor ** > | m_chartImages |
std::size_t | m_index |
te::sam::rtree::Index< std::size_t, 8 > | m_rtree |
WorldDeviceTransformer | m_transformer |
It renders the objects associated to an abstract layer. i.e. a generic renderer.
Definition at line 77 of file AbstractLayerRenderer.h.
te::map::AbstractLayerRenderer::AbstractLayerRenderer | ( | ) |
Constructor
Definition at line 81 of file AbstractLayerRenderer.cpp.
te::map::AbstractLayerRenderer::~AbstractLayerRenderer | ( | ) |
Destructor.
Definition at line 86 of file AbstractLayerRenderer.cpp.
|
private |
Definition at line 751 of file AbstractLayerRenderer.cpp.
References te::map::Chart::getAvoidConflicts(), te::gm::Envelope::getCenter(), te::gm::MultiPolygon::getCentroidCoord(), te::gm::CurvePolygon::getCentroidCoord(), te::gm::Geometry::getGeomTypeId(), te::map::Chart::getHeight(), te::common::Singleton< T >::getInstance(), te::gm::Geometry::getMBR(), te::map::Chart::getWidth(), te::map::Chart::isVisible(), te::gm::MultiPolygonType, te::gm::PolygonType, te::gm::Coord2D::x, and te::gm::Coord2D::y.
|
virtual |
It draws the layer geographic objects in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the Layer objects to be drawn. The bbox coordinates must be in the Spatial Reference System given by srid.
layer | The layer that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Implements te::map::AbstractRenderer.
Definition at line 90 of file AbstractLayerRenderer.cpp.
References te::se::CreateCoverageStyle(), te::se::CreateFeatureTypeStyle(), te::map::DrawRaster(), te::rst::RasterProperty::getBandProperties(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getExtent(), te::da::GetFirstGeomProperty(), te::da::GetFirstRasterProperty(), te::gm::GeometryProperty::getGeometryType(), te::map::AbstractLayer::getGeomPropertyName(), te::map::AbstractLayer::getGrouping(), te::map::Canvas::getHeight(), te::dt::Property::getName(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::map::AbstractLayer::getTitle(), te::map::Canvas::getWidth(), te::gm::Envelope::intersection(), te::gm::INTERSECTS, te::gm::Envelope::intersects(), te::gm::Envelope::isValid(), te::map::Grouping::isVisible(), te::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, te::map::AbstractLayer::setStyle(), TE_TR, TE_UNKNOWN_SRS, and te::gm::Envelope::transform().
|
private |
It draws the data set geometries in the given canvas using the informed SRS.
dataset | The data set that will be drawn. |
gpos | The geometry property position that will be drawn. |
canvas | The canvas were the data set geometries will be drawn. |
fromSRID | The SRID of data set geometries. |
srid | The SRID to be used to draw the data set geometries. |
chart | Chart informations that can be used. |
task | An optional task that can be used cancel the draw process. |
Definition at line 689 of file AbstractLayerRenderer.cpp.
References te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::da::DataSet::getGeometry(), te::map::Chart::getHeight(), te::map::Chart::getWidth(), te::common::TaskProgress::isActive(), te::da::DataSet::moveNext(), te::common::TaskProgress::pulse(), and TE_UNKNOWN_SRS.
|
private |
It draws the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
style | The style that will be used. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 224 of file AbstractLayerRenderer.cpp.
References te::se::CreateSymbolizer(), te::common::TaskProgress::DRAW, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::QueryEncoder::getExpression(), te::se::Rule::getFilter(), te::da::GetPropertyPos(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSRID(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::gm::INTERSECTS, te::se::Rule::push_back(), and TE_TR.
|
private |
It draws the grouping of the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 357 of file AbstractLayerRenderer.cpp.
References te::da::PropertyName::clone(), te::common::TaskProgress::DRAW, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getGroupingItems(), te::map::GroupingItem::getLowerLimit(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::map::Grouping::getPropertyType(), te::map::AbstractLayer::getSRID(), te::map::GroupingItem::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::map::GroupingItem::getUpperLimit(), te::map::GroupingItem::getValue(), te::common::TaskProgress::isActive(), te::common::TaskProgress::pulse(), te::dt::STRING_TYPE, TE_TR, and te::map::UNIQUE_VALUE.
|
private |
It draws the grouping of the abstract layer in the given canvas using the SRS informed.
The informed bounding box (bbox) is used to constraint the layer objects to be drawn. Here, we assume that the given bbox was pre-processed. i.e. the bbox was clipped and contains the same projection of abstract layer.
layer | The abstract layer that will be drawn. |
geomPropertyName | The geometry property name that will be drawn. |
canvas | The canvas were the layer objects will be drawn. |
bbox | The interest area to render the map. |
srid | The SRS to be used to draw the layer objects. |
Definition at line 494 of file AbstractLayerRenderer.cpp.
References te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getGroupingItems(), te::map::Chart::getHeight(), te::map::GroupingItem::getLowerLimit(), te::map::Grouping::getPrecision(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::map::GroupingItem::getSymbolizers(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::map::GroupingItem::getUpperLimit(), te::map::GroupingItem::getValue(), te::map::Chart::getWidth(), te::gm::INTERSECTS, te::common::Globals::sm_nanStr, TE_TR, TE_UNKNOWN_SRS, and te::map::UNIQUE_VALUE.
|
private |
Definition at line 819 of file AbstractLayerRenderer.cpp.
|
private |
Definition at line 179 of file AbstractLayerRenderer.h.
|
private |
Definition at line 178 of file AbstractLayerRenderer.h.
|
private |
Definition at line 177 of file AbstractLayerRenderer.h.
|
private |
Definition at line 176 of file AbstractLayerRenderer.h.
|
private |
Definition at line 175 of file AbstractLayerRenderer.h.