46 template <
class Type>
class LinkedList;
47 template <
class Type>
class Cell;
48 template <
typename Data>
class HashTable;
50 template<
class DATATYPE,
class ELEMTYPE,
int NUMDIMS,
class ELEMTYPEREAL,
int TMAXNODES,
int TMINNODES>
class RTree;
74 friend void toSVGPath(
int nbPoints,
double *x,
double *y,
int dpi,
Layer *layer,
int type,
char *uid, std::ostream &out,
double scale,
int xmin,
int ymax,
bool exportInfo,
char *color );
77 enum LabelMode { LabelPerFeature, LabelPerFeaturePart };
121 RTree<FeaturePart*, double, 2, double, 8, 4> *
rtree;
145 Layer(
const char *lyrName,
double min_scale,
double max_scale,
Arrangement arrangement,
Units label_unit,
double defaultPriority,
bool obstacle,
bool active,
bool toLabel,
Pal *pal,
bool displayAll =
false );
156 bool isScaleValid(
double scale );
159 void addFeaturePart(
FeaturePart* fpart,
const char* labelText = NULL );
170 const char * getName();
191 Units getLabelUnit();
197 void setLabelUnit(
Units label_unit );
208 void setActive(
bool active );
223 void setToLabel(
bool toLabel );
239 void setObstacle(
bool obstacle );
251 void setMinScale(
double min_scale );
256 double getMinScale();
264 void setMaxScale(
double max_scale );
270 double getMaxScale();
279 void setPriority(
double priority );
285 double getPriority();
326 bool registerFeature(
const char *geom_id,
PalGeometry *userGeom,
double label_x = -1,
double label_y = -1,
327 const char* labelText = NULL,
double labelPosX = 0.0,
double labelPosY = 0.0,
328 bool fixedPos =
false,
double angle = 0.0,
bool fixedAngle =
false,
329 int xQuadOffset = 0,
int yQuadOffset = 0,
double xOffset = 0.0,
double yOffset = 0.0,
330 bool alwaysShow =
false,
double repeatDistance = 0 );
336 void joinConnectedFeatures();
339 void chopFeaturesAtRepeatDistance();