26 #include "labelposition.h"
42 if ( overlays.size() < 1 )
48 pal::Arrangement labelArrangement;
52 labelArrangement = pal::P_POINT;
55 labelArrangement = pal::P_LINE;
58 labelArrangement = pal::P_HORIZ;
64 pal::Layer* positionLayer =
mPositionEngine.addLayer( QString::number(
mNumberOfLayers ).toLocal8Bit().data(), -1, -1, labelArrangement, pal::PIXEL, 0.5,
true,
true,
true );
74 QList<QgsVectorOverlay*>::const_iterator overlayIt = overlays.begin();
75 for ( ; overlayIt != overlays.end(); ++overlayIt )
77 if ( !( *overlayIt ) )
82 QMap<int, QgsOverlayObject*>* positionObjects = ( *overlayIt )->overlayObjects();
83 if ( !positionObjects )
88 QMap<int, QgsOverlayObject*>::const_iterator objectIt = positionObjects->begin();
89 for ( ; objectIt != positionObjects->end(); ++objectIt )
93 char* featureLabel = QString::number( objectNr ).toAscii().data();
94 positionLayer->registerFeature( featureLabel, palGeom, objectIt.value()->width(), objectIt.value()->height() );
117 mapUnits = pal::METER;
121 mapUnits = pal::FOOT;
125 mapUnits = pal::DEGREE;
137 if ( !resultLabelList )
145 pal::FeaturePart* referredPart = 0;
147 std::list<pal::LabelPosition*>::iterator labelIt = resultLabelList->begin();
148 for ( ; labelIt != resultLabelList->end(); ++labelIt )
155 referredPart = ( *labelIt )->getFeaturePart();
160 referredGeometry =
dynamic_cast<QgsPALGeometry*
>( referredPart->getUserGeometry() );
161 if ( !referredGeometry )
166 if ( !referredOverlayObject )
171 pal::LabelPosition* lp = *labelIt;
174 double x = ( lp->getX( 0 ) + lp->getX( 1 ) + lp->getX( 2 ) + lp->getX( 3 ) ) / 4;
175 double y = ( lp->getY( 0 ) + lp->getY( 1 ) + lp->getY( 2 ) + lp->getY( 3 ) ) / 4;
193 QList<pal::Layer*> layersToRemove;
194 std::list<pal::Layer*>::iterator layerIt = layerList->begin();
195 for ( ; layerIt != layerList->end(); ++layerIt )
197 layersToRemove.push_back( *layerIt );
200 QList<pal::Layer*>::iterator removeIt = layersToRemove.begin();
201 for ( ; removeIt != layersToRemove.end(); ++removeIt )
209 if ( algorithmName ==
"Popmusic tabu chain" )
213 else if ( algorithmName ==
"Popmusic tabu" )
217 else if ( algorithmName ==
"Popmusic chain" )