61 LabelInfo(
int num,
double height,
double maxinangle = 20.0,
double maxoutangle = -20.0 )
63 max_char_angle_inside = maxinangle;
65 max_char_angle_outside = maxoutangle > 0 ? -maxoutangle : maxoutangle;
66 label_height = height;
93 void setFixedPosition(
double x,
double y ) { fixedPos =
true; fixedPosX = x; fixedPosY = y;}
94 void setQuadOffset(
double x,
double y ) { quadOffset =
true; quadOffsetX = x; quadOffsetY = y;}
95 void setPosOffset(
double x,
double y ) { offsetPos =
true; offsetPosX = x; offsetPosY = y;}
98 void setFixedAngle(
double a ) { fixedRotation =
true; fixedAngle = a; }
151 void extractCoords(
const GEOSGeometry* geom );
156 void removeDuplicatePoints();
184 int setPositionForPoint(
double x,
double y,
double scale,
LabelPosition ***lPos,
double delta_width,
double angle );
189 int setPositionOverPoint(
double x,
double y,
double scale,
LabelPosition ***lPos,
double delta_width,
double angle );
200 int setPositionForLine(
double scale,
LabelPosition ***lPos,
PointSet *mapShape,
double delta_width );
203 int orientation,
int index,
double distance );
219 int setPositionForPolygon(
double scale,
LabelPosition ***lPos,
PointSet *mapShape,
double delta_width );
264 void save( std::ofstream *file );
280 , std::ofstream &svgmap
288 const char *getUID();
300 void setLabelSize(
double lx,
double ly ) { f->label_x = lx; f->label_y = ly; }
322 void addSizePenalty(
int nbp,
LabelPosition** lPos,
double bbx[4],
double bby[4] );
void setLabelInfo(LabelInfo *info)
double max_char_angle_outside
Feature * getFeature()
return the feature
double getLabelHeight() const
int getNumSelfObstacles() const
A layer of spacial entites.
void setFixedAngle(double a)
double getLabelWidth() const
LabelInfo(int num, double height, double maxinangle=20.0, double maxoutangle=-20.0)
PalGeometry * getUserGeometry()
void setDistLabel(double dist)
CharacterInfo * char_info
void setPosOffset(double x, double y)
void setQuadOffset(double x, double y)
double getLabelDistance() const
const GEOSGeometry * getGeometry() const
return the geometry
void setAlwaysShow(bool bl)
void setRepeatDistance(double dist)
void setLabelInfo(LabelInfo *info)
optional additional info about label (for curved labels)
PointSet * getSelfObstacle(int i)
Main class to handle feature.
double ANALYSIS_EXPORT angle(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
void setFixedPosition(double x, double y)
void setLabelSize(double lx, double ly)
double max_char_angle_inside
void setLabelDistance(double dist)
LabelPosition is a candidate feature label position.
Quadrant
Position of label candidate relative to feature.
Interface that allows Pal to access user's geometries.
double repeatDistance() const
bool fixedPosition() const