It renders the objects associated to an abstract layer. i.e. a generic renderer. More...
#include <AbstractLayerRenderer.h>
Public Member Functions | |
| AbstractLayerRenderer () | |
| virtual 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... | |
| ~AbstractLayerRenderer () | |
| Destructor. More... | |
Protected Member Functions | |
| virtual void | buildChart (Chart *chart, te::da::DataSet *dataset, te::gm::Geometry *geom) |
| virtual void | drawDatSetGeometries (te::da::DataSet *dataset, const std::size_t &gpos, Canvas *canvas, int fromSRID, int toSRID, Chart *chart, bool *cancel, te::common::TaskProgress *task=0) |
| It draws the data set geometries in the given canvas using the informed SRS. More... | |
| virtual void | drawDatSetTexts (te::da::DataSet *dataset, const std::size_t &gpos, Canvas *canvas, int fromSRID, int toSRID, te::se::TextSymbolizer *symb, bool *cancel, te::common::TaskProgress *task=0) |
| virtual void | drawLayerGeometries (AbstractLayer *layer, const std::string &geomPropertyName, te::se::FeatureTypeStyle *style, Canvas *canvas, const te::gm::Envelope &bbox, int srid, const double &scale, bool *cancel) |
| It draws the abstract layer in the given canvas using the SRS informed. More... | |
| virtual void | drawLayerGrouping (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid, bool *cancel) |
| It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
| virtual void | drawLayerGroupingMem (AbstractLayer *layer, const std::string &geomPropertyName, Canvas *canvas, const te::gm::Envelope &bbox, int srid, const double &scale, bool *cancel) |
| It draws the grouping of the abstract layer in the given canvas using the SRS informed. More... | |
| virtual void | reset () |
Protected 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 78 of file AbstractLayerRenderer.h.
| te::map::AbstractLayerRenderer::AbstractLayerRenderer | ( | ) |
Constructor
Definition at line 92 of file AbstractLayerRenderer.cpp.
References ~AbstractLayerRenderer().
|
default |
Destructor.
Referenced by AbstractLayerRenderer().
|
protectedvirtual |
Definition at line 996 of file AbstractLayerRenderer.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(), and drawLayerGroupingMem().
|
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 99 of file AbstractLayerRenderer.cpp.
References te::se::CreateCoverageStyle(), te::se::CreateFeatureTypeStyle(), drawLayerGeometries(), drawLayerGroupingMem(), te::map::DrawRaster(), te::rst::RasterProperty::getBandProperties(), 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::GetRaster(), 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::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().
|
protectedvirtual |
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 763 of file AbstractLayerRenderer.cpp.
References buildChart(), 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(), m_chartCoordinates, m_chartImages, te::da::DataSet::moveNext(), and TE_UNKNOWN_SRS.
Referenced by drawLayerGeometries(), and drawLayerGrouping().
|
protectedvirtual |
Definition at line 828 of file AbstractLayerRenderer.cpp.
References te::gm::AdjustSegment(), te::gm::ClosestPoints(), te::map::Canvas::drawText(), te::se::PointPlacement::getAnchorPoint(), te::se::AnchorPoint::getAnchorPointX(), te::se::AnchorPoint::getAnchorPointY(), te::gm::GetAngle(), te::se::PointPlacement::getDisplacement(), te::se::Displacement::getDisplacementX(), te::se::Displacement::getDisplacementY(), te::se::GetDouble(), te::da::DataSet::getGeometry(), te::se::GetInt(), te::gm::GetIntersectionLine(), te::se::TextSymbolizer::getLabel(), te::se::TextSymbolizer::getLabelPlacement(), te::se::LabelPlacement::getLinePlacement(), te::se::LinePlacement::getPerpendicularOffset(), te::se::LabelPlacement::getPointPlacement(), te::da::GetPropertyIndex(), te::se::PointPlacement::getRotation(), te::se::GetString(), te::da::DataSet::getString(), te::map::Canvas::getTextBoundary(), te::gm::Coord2D::getX(), te::gm::Coord2D::getY(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::insert(), te::common::TaskProgress::isActive(), te::se::LinePlacement::isAligned(), line, te::gm::LineStringType, te::da::DataSet::moveNext(), te::gm::MultiLineStringType, te::common::TaskProgress::pulse(), te::gm::Rotate(), te::sam::rtree::Index< DATATYPE, MAXNODES, MINNODES >::search(), TE_UNKNOWN_SRS, te::gm::Coord2D::x, and te::gm::Coord2D::y.
Referenced by drawLayerGeometries(), drawLayerGrouping(), and drawLayerGroupingMem().
|
protectedvirtual |
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. |
| scale | The scale used to draw the layer. |
Definition at line 226 of file AbstractLayerRenderer.cpp.
References te::se::CreateSymbolizer(), te::common::TaskProgress::DRAW, drawDatSetGeometries(), drawDatSetTexts(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::map::QueryEncoder::getExpression(), te::se::Rule::getFilter(), te::se::Rule::getMaxScaleDenominator(), te::se::Rule::getMinScaleDenominator(), te::da::GetPropertyPos(), te::se::Style::getRule(), te::se::Style::getRules(), te::map::AbstractLayer::getSRID(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::se::Symbolizer::getType(), te::gm::INTERSECTS, te::se::Rule::push_back(), and TE_TR.
Referenced by draw().
|
protectedvirtual |
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 373 of file AbstractLayerRenderer.cpp.
References te::da::PropertyName::clone(), te::common::TaskProgress::DRAW, drawDatSetGeometries(), drawDatSetTexts(), te::map::AbstractLayer::getChart(), te::map::AbstractLayer::getData(), te::se::Rule::getFilter(), te::fe::GetFilterStepValues(), te::fe::GetFilterUniqueValue(), te::map::AbstractLayer::getGrouping(), te::map::Grouping::getPropertyName(), te::da::GetPropertyPos(), te::map::Grouping::getPropertyType(), te::se::Style::getRules(), te::map::AbstractLayer::getSRID(), te::map::AbstractLayer::getStyle(), te::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::se::Symbolizer::getType(), te::common::TaskProgress::isActive(), te::common::TaskProgress::pulse(), te::dt::STRING_TYPE, TE_TR, and te::map::UNIQUE_VALUE.
|
protectedvirtual |
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. |
| scale | The scale used to draw the layer. |
Definition at line 526 of file AbstractLayerRenderer.cpp.
References buildChart(), te::map::CanvasConfigurer::config(), te::map::Canvas::draw(), drawDatSetTexts(), 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::se::Rule::getMaxScaleDenominator(), te::se::Rule::getMinScaleDenominator(), 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::se::Rule::getSymbolizers(), te::map::AbstractLayer::getTitle(), te::map::Grouping::getType(), te::se::Symbolizer::getType(), te::map::Chart::getWidth(), 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().
|
protectedvirtual |
Definition at line 1064 of file AbstractLayerRenderer.cpp.
References m_chartCoordinates, m_chartImages, and m_index.
Referenced by draw().
|
protected |
Definition at line 188 of file AbstractLayerRenderer.h.
Referenced by buildChart(), drawDatSetGeometries(), drawLayerGroupingMem(), and reset().
|
protected |
Definition at line 187 of file AbstractLayerRenderer.h.
Referenced by buildChart(), drawDatSetGeometries(), drawLayerGroupingMem(), and reset().
|
protected |
Definition at line 186 of file AbstractLayerRenderer.h.
Referenced by buildChart(), and reset().
|
protected |
Definition at line 185 of file AbstractLayerRenderer.h.
Referenced by buildChart().
|
protected |
Definition at line 184 of file AbstractLayerRenderer.h.
Referenced by buildChart(), and draw().