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 };
120 RTree<FeaturePart*, double, 2, double, 8, 4> *
rtree;
144 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 );
155 bool isScaleValid(
double scale );
158 void addFeaturePart(
FeaturePart* fpart,
const char* labelText = NULL );
169 const char * getName();
190 Units getLabelUnit();
196 void setLabelUnit(
Units label_unit );
207 void setActive(
bool active );
222 void setToLabel(
bool toLabel );
238 void setObstacle(
bool obstacle );
250 void setMinScale(
double min_scale );
255 double getMinScale();
263 void setMaxScale(
double max_scale );
269 double getMaxScale();
278 void setPriority(
double priority );
284 double getPriority();
325 bool registerFeature(
const char *geom_id,
PalGeometry *userGeom,
double label_x = -1,
double label_y = -1,
326 const char* labelText = NULL,
double labelPosX = 0.0,
double labelPosY = 0.0,
327 bool fixedPos =
false,
double angle = 0.0,
bool fixedAngle =
false,
328 int xQuadOffset = 0,
int yQuadOffset = 0,
double xOffset = 0.0,
double yOffset = 0.0,
329 bool alwaysShow =
false,
double repeatDistance = 0 );
335 void joinConnectedFeatures();
338 void chopFeaturesAtRepeatDistance();