QGIS API Documentation
2.8.2-Wien
|
LabelPositon is a candidate feature label position. More...
#include <labelposition.h>
Classes | |
struct | CountContext |
struct | PruneCtx |
Public Member Functions | |
LabelPosition (int id, double x1, double y1, double w, double h, double alpha, double cost, FeaturePart *feature, bool isReversed=false) | |
create a new LabelPosition | |
LabelPosition (const LabelPosition &other) | |
copy constructor | |
~LabelPosition () | |
double | getAlpha () const |
get alpha | |
void | getBoundingBox (double amin[2], double amax[2]) const |
return bounding box - amin: xmin,ymin - amax: xmax,ymax | |
double | getCost () const |
get the position geographical cost | |
double | getDistanceToPoint (double xp, double yp) |
get distance from this label to a point. | |
FeaturePart * | getFeaturePart () |
return the feature corresponding to this labelposition | |
double | getHeight () const |
int | getId () const |
return id | |
char * | getLayerName () const |
return pointer to layer's name. | |
LabelPosition * | getNextPart () const |
double | getNumOverlaps () const |
int | getNumPointsInPolygon (int npol, double *xp, double *yp) |
returns number of intersections with polygon (testing border and center) | |
int | getPartId () const |
int | getProblemFeatureId () const |
bool | getReversed () const |
bool | getUpsideDown () const |
double | getWidth () const |
double | getX (int i=0) const |
get the down-left x coordinate | |
double | getY (int i=0) const |
get the down-left y coordinate | |
void | insertIntoIndex (RTree< LabelPosition *, double, 2, double > *index) |
bool | isBorderCrossingLine (PointSet *feat) |
returns true if this label crosses the specified line | |
bool | isIn (double *bbox) |
Is the labelposition in the bounding-box ? (intersect or inside????) | |
bool | isInConflict (LabelPosition *ls) |
Check whether or not this overlap with another labelPosition. | |
bool | isInside (double *bbox) |
Is the labelposition inside the bounding-box ? | |
bool | isIntersect (double *bbox) |
Is the labelposition intersect the bounding-box ? | |
void | offsetPosition (double xOffset, double yOffset) |
shift the label by specified offset | |
void | print () |
void | removeFromIndex (RTree< LabelPosition *, double, 2, double > *index) |
void | resetNumOverlaps () |
void | setCost (double newCost) |
Modify candidate's cost. | |
void | setNextPart (LabelPosition *next) |
void | setPartId (int id) |
void | setProblemIds (int probFid, int lpId) |
set problem feature ID and assigned label candidate ID. | |
void | validateCost () |
Make sure the cost is less than 1. |
Static Public Member Functions | |
static bool | costGrow (void *l, void *r) |
static bool | costShrink (void *l, void *r) |
static bool | countFullOverlapCallback (LabelPosition *lp, void *ctx) |
static bool | countOverlapCallback (LabelPosition *lp, void *ctx) |
static bool | polygonObstacleCallback (PointSet *feat, void *ctx) |
static bool | pruneCallback (LabelPosition *lp, void *ctx) |
Check whether the candidate in ctx overlap with obstacle feat. | |
static bool | removeOverlapCallback (LabelPosition *lp, void *ctx) |
Protected Member Functions | |
bool | isInConflictMultiPart (LabelPosition *lp) |
bool | isInConflictSinglePart (LabelPosition *lp) |
Protected Attributes | |
double | alpha |
double | cost |
FeaturePart * | feature |
double | h |
int | id |
int | nbOverlap |
LabelPosition * | nextPart |
int | partId |
int | probFeat |
bool | reversed |
bool | upsideDown |
double | w |
double | x [4] |
double | y [4] |
Friends | |
class | CostCalculator |
class | PolygonCostCalculator |
LabelPositon is a candidate feature label position.
Definition at line 53 of file labelposition.h.
pal::LabelPosition::LabelPosition | ( | int | id, |
double | x1, | ||
double | y1, | ||
double | w, | ||
double | h, | ||
double | alpha, | ||
double | cost, | ||
FeaturePart * | feature, | ||
bool | isReversed = false |
||
) |
create a new LabelPosition
id | id of this labelposition |
x1 | down-left x coordinate |
y1 | down-left y coordinate |
w | label width |
h | label height |
alpha | rotation in rad |
cost | geographic cost |
feature | labelpos owners |
isReversed | label is reversed |
Definition at line 57 of file labelposition.cpp.
pal::LabelPosition::LabelPosition | ( | const LabelPosition & | other | ) |
copy constructor
Definition at line 148 of file labelposition.cpp.
|
inline |
Definition at line 109 of file labelposition.h.
|
static |
Definition at line 391 of file labelposition.cpp.
|
static |
Definition at line 386 of file labelposition.cpp.
|
static |
Definition at line 462 of file labelposition.cpp.
|
static |
Definition at line 448 of file labelposition.cpp.
double pal::LabelPosition::getAlpha | ( | ) | const |
void pal::LabelPosition::getBoundingBox | ( | double | amin[2], |
double | amax[2] | ||
) | const |
return bounding box - amin: xmin,ymin - amax: xmax,ymax
Definition at line 354 of file labelposition.cpp.
double pal::LabelPosition::getCost | ( | ) | const |
get the position geographical cost
Definition at line 335 of file labelposition.cpp.
double pal::LabelPosition::getDistanceToPoint | ( | double | xp, |
double | yp | ||
) |
get distance from this label to a point.
If point lies inside, returns negative number.
Definition at line 499 of file labelposition.cpp.
FeaturePart * pal::LabelPosition::getFeaturePart | ( | ) |
return the feature corresponding to this labelposition
Definition at line 349 of file labelposition.cpp.
|
inline |
Definition at line 208 of file labelposition.h.
int pal::LabelPosition::getId | ( | ) | const |
char * pal::LabelPosition::getLayerName | ( | ) | const |
|
inline |
Definition at line 220 of file labelposition.h.
|
inline |
Definition at line 168 of file labelposition.h.
int pal::LabelPosition::getNumPointsInPolygon | ( | int | npol, |
double * | xp, | ||
double * | yp | ||
) |
returns number of intersections with polygon (testing border and center)
Definition at line 583 of file labelposition.cpp.
|
inline |
Definition at line 224 of file labelposition.h.
|
inline |
Definition at line 171 of file labelposition.h.
|
inline |
Definition at line 215 of file labelposition.h.
|
inline |
Definition at line 216 of file labelposition.h.
|
inline |
Definition at line 207 of file labelposition.h.
double pal::LabelPosition::getX | ( | int | i = 0 | ) | const |
get the down-left x coordinate
Definition at line 320 of file labelposition.cpp.
double pal::LabelPosition::getY | ( | int | i = 0 | ) | const |
get the down-left y coordinate
Definition at line 325 of file labelposition.cpp.
void pal::LabelPosition::insertIntoIndex | ( | RTree< LabelPosition *, double, 2, double > * | index | ) |
Definition at line 422 of file labelposition.cpp.
bool pal::LabelPosition::isBorderCrossingLine | ( | PointSet * | feat | ) |
returns true if this label crosses the specified line
Definition at line 553 of file labelposition.cpp.
bool pal::LabelPosition::isIn | ( | double * | bbox | ) |
Is the labelposition in the bounding-box ? (intersect or inside????)
bbox | the bounding-box double[4] = {xmin, ymin, xmax, ymax} |
Definition at line 171 of file labelposition.cpp.
bool pal::LabelPosition::isInConflict | ( | LabelPosition * | ls | ) |
Check whether or not this overlap with another labelPosition.
ls | other labelposition |
Definition at line 234 of file labelposition.cpp.
|
protected |
Definition at line 282 of file labelposition.cpp.
|
protected |
Definition at line 245 of file labelposition.cpp.
bool pal::LabelPosition::isInside | ( | double * | bbox | ) |
Is the labelposition inside the bounding-box ?
bbox | the bounding-box double[4] = {xmin, ymin, xmax, ymax} |
Definition at line 206 of file labelposition.cpp.
bool pal::LabelPosition::isIntersect | ( | double * | bbox | ) |
Is the labelposition intersect the bounding-box ?
bbox | the bounding-box double[4] = {xmin, ymin, xmax, ymax} |
Definition at line 189 of file labelposition.cpp.
void pal::LabelPosition::offsetPosition | ( | double | xOffset, |
double | yOffset | ||
) |
shift the label by specified offset
Definition at line 302 of file labelposition.cpp.
|
static |
Definition at line 397 of file labelposition.cpp.
void pal::LabelPosition::print | ( | ) |
Definition at line 222 of file labelposition.cpp.
|
static |
Check whether the candidate in ctx overlap with obstacle feat.
Definition at line 433 of file labelposition.cpp.
void pal::LabelPosition::removeFromIndex | ( | RTree< LabelPosition *, double, 2, double > * | index | ) |
Definition at line 413 of file labelposition.cpp.
|
static |
Definition at line 483 of file labelposition.cpp.
|
inline |
Definition at line 169 of file labelposition.h.
|
inline |
Modify candidate's cost.
Definition at line 190 of file labelposition.h.
|
inline |
Definition at line 221 of file labelposition.h.
|
inline |
Definition at line 225 of file labelposition.h.
|
inline |
set problem feature ID and assigned label candidate ID.
called from pal.cpp during extraction
Definition at line 174 of file labelposition.h.
void pal::LabelPosition::validateCost | ( | ) |
Make sure the cost is less than 1.
Definition at line 340 of file labelposition.cpp.
|
friend |
Definition at line 55 of file labelposition.h.
|
friend |
Definition at line 56 of file labelposition.h.
|
protected |
Definition at line 70 of file labelposition.h.
|
protected |
Definition at line 61 of file labelposition.h.
|
protected |
Definition at line 62 of file labelposition.h.
|
protected |
Definition at line 72 of file labelposition.h.
|
protected |
Definition at line 60 of file labelposition.h.
|
protected |
Definition at line 67 of file labelposition.h.
|
protected |
Definition at line 74 of file labelposition.h.
|
protected |
Definition at line 75 of file labelposition.h.
|
protected |
Definition at line 65 of file labelposition.h.
|
protected |
Definition at line 80 of file labelposition.h.
|
protected |
Definition at line 82 of file labelposition.h.
|
protected |
Definition at line 71 of file labelposition.h.
|
protected |
Definition at line 69 of file labelposition.h.
|
protected |
Definition at line 69 of file labelposition.h.