It renders the objects associated to a query layer. More...
#include <QueryLayerRenderer.h>
Public Member Functions | |
| void | draw (AbstractLayer *layer, Canvas *canvas, const te::gm::Envelope &bbox, int srid, const double &scale, bool *cancel) |
| It draws the layer geographic objects in the given canvas using the SRS informed. More... | |
| QueryLayerRenderer () | |
| ~QueryLayerRenderer () | |
| Destructor. More... | |
Private Member Functions | |
| void | buildChart (const Chart *chart, te::da::DataSet *dataset, te::gm::Geometry *geom) |
| void | buildChart (const Chart *chart, const std::map< std::string, double > &chartValue, 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 | drawLayerLinkedGroupingMem (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid) |
| void | reset () |
Private Attributes | |
| std::vector< te::gm::Coord2D > | m_chartCoordinates |
| std::vector< te::color::RGBAColor ** > | m_chartImages |
| std::size_t | m_index |
| std::vector< std::string > | m_oid |
| te::sam::rtree::Index< std::size_t, 8 > | m_rtree |
| WorldDeviceTransformer | m_transformer |
It renders the objects associated to a query layer.
Definition at line 76 of file QueryLayerRenderer.h.
| te::map::QueryLayerRenderer::QueryLayerRenderer | ( | ) |
|
default |
Destructor.
Referenced by QueryLayerRenderer().
|
private |
Definition at line 1263 of file QueryLayerRenderer.cpp.
References dx, 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::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::map::Chart::isVisible(), m_chartCoordinates, m_chartImages, m_index, m_rtree, m_transformer, te::gm::MultiPolygonType, p, te::gm::PolygonType, te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::map::WorldDeviceTransformer::world2Device(), te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by drawDatSetGeometries(), drawLayerGroupingMem(), and drawLayerLinkedGroupingMem().
|
private |
Definition at line 1210 of file QueryLayerRenderer.cpp.
References dx, 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::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::map::Chart::isVisible(), m_chartCoordinates, m_chartImages, m_index, m_rtree, m_transformer, te::gm::MultiPolygonType, p, te::gm::PolygonType, te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), te::map::WorldDeviceTransformer::world2Device(), 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. |
| scale | The current scale to draw the layer. |
Implements te::map::AbstractRenderer.
Definition at line 92 of file QueryLayerRenderer.cpp.
References te::se::CreateCoverageStyle(), te::se::CreateFeatureTypeStyle(), drawLayerGeometries(), drawLayerGroupingMem(), 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::getRasterContrast(), 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, m_transformer, te::gm::Envelope::m_urx, te::gm::Envelope::m_ury, reset(), te::map::AbstractLayer::setStyle(), te::map::WorldDeviceTransformer::setTransformationParameters(), te::map::Canvas::setWindow(), 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 996 of file QueryLayerRenderer.cpp.
References buildChart(), te::map::Canvas::draw(), te::map::Canvas::drawImage(), te::common::Free(), te::da::DataSet::getAsString(), te::da::DataSet::getGeometry(), te::map::Chart::getHeight(), te::map::Chart::getProperties(), te::map::Chart::getPropertiesPos(), te::da::GetPropertyPos(), te::da::GetSummarizedValue(), te::map::Chart::getSummary(), te::da::GetValueAsDouble(), te::map::Chart::getWidth(), te::common::TaskProgress::isActive(), te::da::DataSet::isAtBegin(), te::da::DataSet::isNull(), m_chartCoordinates, m_chartImages, m_oid, te::da::DataSet::moveNext(), te::common::TaskProgress::pulse(), te::map::Chart::setPropertiesPos(), te::gm::Geometry::setSRID(), TE_UNKNOWN_SRS, and te::gm::Geometry::transform().
Referenced by drawLayerGeometries().
|
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 229 of file QueryLayerRenderer.cpp.
References te::da::Select::clone(), te::map::CanvasConfigurer::config(), te::se::CreateSymbolizer(), te::common::TaskProgress::DRAW, drawDatSetGeometries(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::QueryEncoder::getExpression(), te::se::Rule::getFilter(), te::da::GetPropertyPos(), te::map::QueryLayer::getQuery(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::da::HasLinkedTable(), te::gm::INTERSECTS, m_oid, te::se::Rule::push_back(), te::da::Select::setOrderBy(), te::map::QueryLayer::setQuery(), and TE_TR.
Referenced by draw().
|
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 395 of file QueryLayerRenderer.cpp.
|
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 402 of file QueryLayerRenderer.cpp.
References buildChart(), te::map::CanvasConfigurer::config(), te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), drawLayerLinkedGroupingMem(), dt, te::common::Free(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::se::Rule::getFilter(), te::fe::GetFilterStepValues(), te::fe::GetFilterUniqueValue(), te::map::AbstractLayer::getGrouping(), te::map::Chart::getHeight(), te::map::Grouping::getPrecision(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::map::Grouping::getSummary(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::map::Chart::getWidth(), te::da::HasLinkedTable(), if(), te::gm::INTERSECTS, m_chartCoordinates, m_chartImages, te::common::Globals::sm_nanStr, TE_TR, TE_UNKNOWN_SRS, and te::map::UNIQUE_VALUE.
Referenced by draw().
|
private |
Definition at line 598 of file QueryLayerRenderer.cpp.
References buildChart(), te::da::Select::clone(), te::map::CanvasConfigurer::config(), te::common::TaskProgress::DRAW, te::map::Canvas::draw(), te::map::Canvas::drawImage(), dt, te::common::Free(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::se::Rule::getFilter(), te::fe::GetFilterStepValues(), te::fe::GetFilterUniqueValue(), te::map::AbstractLayer::getGrouping(), te::map::Chart::getHeight(), te::map::Grouping::getPrecision(), te::map::Chart::getProperties(), te::map::Chart::getPropertiesPos(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::map::QueryLayer::getQuery(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSchema(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::da::GetSummarizedValue(), te::map::Chart::getSummary(), te::map::Grouping::getSummary(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::da::GetValueAsDouble(), te::map::Chart::getWidth(), if(), te::gm::INTERSECTS, m_chartCoordinates, m_chartImages, m_oid, te::da::Round(), te::da::Select::setOrderBy(), te::map::Chart::setPropertiesPos(), te::map::QueryLayer::setQuery(), te::gm::Geometry::setSRID(), te::dt::STRING_TYPE, TE_TR, TE_UNKNOWN_SRS, te::gm::Geometry::transform(), and te::map::UNIQUE_VALUE.
Referenced by drawLayerGroupingMem().
|
private |
Definition at line 1316 of file QueryLayerRenderer.cpp.
References m_chartCoordinates, m_chartImages, and m_index.
Referenced by draw().
|
private |
Definition at line 186 of file QueryLayerRenderer.h.
Referenced by buildChart(), drawDatSetGeometries(), drawLayerGroupingMem(), drawLayerLinkedGroupingMem(), and reset().
|
private |
Definition at line 185 of file QueryLayerRenderer.h.
Referenced by buildChart(), drawDatSetGeometries(), drawLayerGroupingMem(), drawLayerLinkedGroupingMem(), and reset().
|
private |
Definition at line 184 of file QueryLayerRenderer.h.
Referenced by buildChart(), and reset().
|
private |
Definition at line 187 of file QueryLayerRenderer.h.
Referenced by drawDatSetGeometries(), drawLayerGeometries(), and drawLayerLinkedGroupingMem().
|
private |
Definition at line 183 of file QueryLayerRenderer.h.
Referenced by buildChart().
|
private |
Definition at line 182 of file QueryLayerRenderer.h.
Referenced by buildChart(), and draw().