102      std::size_t maximumPointCandidates() 
const;
 
  107      std::size_t maximumLineCandidates() 
const;
 
  112      std::size_t maximumPolygonCandidates() 
const;
 
  117      std::vector<std::unique_ptr<LabelPosition> > createCandidates( 
Pal *
pal );
 
  127      std::size_t createCandidatesAroundPoint( 
double x, 
double y, std::vector<std::unique_ptr<LabelPosition> > &lPos, 
double angle );
 
  137      std::size_t createCandidatesOverPoint( 
double x, 
double y, std::vector<std::unique_ptr<LabelPosition> > &lPos, 
double angle );
 
  147      std::size_t createCandidateCenteredOverPoint( 
double x, 
double y, std::vector<std::unique_ptr<LabelPosition> > &lPos, 
double angle );
 
  155      std::unique_ptr< LabelPosition > createCandidatePointOnSurface( 
PointSet *mapShape );
 
  165      std::size_t createCandidatesAtOrderedPositionsOverPoint( 
double x, 
double y, std::vector<std::unique_ptr<LabelPosition> > &lPos, 
double angle );
 
  175      std::size_t createCandidatesAlongLine( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
bool allowOverrun, 
Pal *
pal );
 
  184      std::size_t createHorizontalCandidatesAlongLine( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
Pal *
pal );
 
  194      std::size_t createCandidatesAlongLineNearStraightSegments( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
Pal *
pal );
 
  206      std::size_t createCandidatesAlongLineNearMidpoint( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
double initialCost = 0.0, 
Pal *
pal = 
nullptr );
 
  219      std::unique_ptr< LabelPosition > curvedPlacementAtOffset( 
PointSet *mapShape, 
const std::vector<double> &pathDistances,
 
  231      std::size_t createCurvedCandidatesAlongLine( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
bool allowOverrun, 
Pal *
pal );
 
  240      std::size_t createCandidatesForPolygon( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
PointSet *mapShape, 
Pal *
pal );
 
  248      std::size_t createCandidatesOutsidePolygon( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
Pal *
pal );
 
  256      bool hasSameLabelFeatureAs( 
FeaturePart *part ) 
const;
 
  261      double getLabelWidth( 
double angle = 0.0 )
 const { 
return mLF->size( angle ).width(); }
 
  266      double getLabelHeight( 
double angle = 0.0 )
 const { 
return mLF->size( angle ).height(); }
 
  316      void addSizePenalty( std::vector<std::unique_ptr<LabelPosition> > &lPos, 
double bbx[4], 
double bby[4] ) 
const;
 
  322      double calculatePriority() 
const;
 
  325      bool onlyShowUprightLabels() 
const;
 
  331      int totalRepeats() 
const;
 
  337      void setTotalRepeats( 
int repeats );
 
  351      int mTotalRepeats = 0;
 
  353      mutable std::size_t mCachedMaxLineCandidates = 0;
 
  354      mutable std::size_t mCachedMaxPolygonCandidates = 0;
 
 
LabelLineDirection
Controls behavior of curved text with respect to line directions.
QFlags< CurvedTextFlag > CurvedTextFlags
Flags controlling behavior of curved text generation.