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 79 of file AbstractLayerRenderer.cpp.
te::map::AbstractLayerRenderer::~AbstractLayerRenderer | ( | ) |
Destructor.
Definition at line 84 of file AbstractLayerRenderer.cpp.
|
private |
Definition at line 736 of file AbstractLayerRenderer.cpp.
References te::gm::Envelope::getCenter(), te::map::Chart::getHeight(), te::common::Singleton< T >::getInstance(), te::gm::Geometry::getMBR(), te::map::Chart::getWidth(), te::map::Chart::isVisible(), 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. |
For while if the AbstractLayer has a grouping, do not consider the style. Need review!
Implements te::map::AbstractRenderer.
Definition at line 88 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::GetFirstPropertyPos(), te::da::GetFirstRasterProperty(), te::gm::GeometryProperty::getGeometryType(), 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::gm::Envelope::m_llx, te::gm::Envelope::m_lly, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, te::dt::RASTER_TYPE, te::map::AbstractLayer::setStyle(), TE_UNKNOWN_SRS, TR_MAP, 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 674 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 209 of file AbstractLayerRenderer.cpp.
References te::se::CreateSymbolizer(), te::common::TaskProgress::DRAW, te::dt::GEOMETRY_TYPE, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::QueryEncoder::getExpression(), te::se::Rule::getFilter(), te::da::GetFirstPropertyPos(), 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 TR_MAP.
|
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 342 of file AbstractLayerRenderer.cpp.
References te::da::PropertyName::clone(), te::common::TaskProgress::DRAW, te::dt::GEOMETRY_TYPE, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::da::GetFirstPropertyPos(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getGroupingItems(), te::map::GroupingItem::getLowerLimit(), te::map::Grouping::getPropertyName(), 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, TR_MAP, 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 479 of file AbstractLayerRenderer.cpp.
References te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::dt::GEOMETRY_TYPE, te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::da::GetFirstPropertyPos(), 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_UNKNOWN_SRS, TR_MAP, and te::map::UNIQUE_VALUE.
|
private |
Definition at line 773 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.