2012-05-01 01:43:09 +02:00
|
|
|
#ifndef _MULTIPOLYGONS_H
|
|
|
|
#define _MULTIPOLYGONS_H
|
2011-10-30 00:57:40 +02:00
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <map>
|
|
|
|
#include <set>
|
|
|
|
|
|
|
|
#include "renderRules.h"
|
|
|
|
#include "common.h"
|
|
|
|
#include "mapObjects.h"
|
|
|
|
|
|
|
|
/// !!! Fuly copied from MapRenderRepositories.java, should be carefully synchroinized
|
|
|
|
bool isClockwiseWay(std::vector<int_pair>& c) ;
|
2012-05-01 01:43:09 +02:00
|
|
|
|
2011-10-30 00:57:40 +02:00
|
|
|
bool calculateLineCoordinates(bool inside, int x, int y, bool pinside, int px, int py, int leftX, int rightX,
|
|
|
|
int bottomY, int topY, std::vector<int_pair>& coordinates);
|
|
|
|
|
2012-04-28 21:43:14 +02:00
|
|
|
void combineMultipolygonLine(std::vector<coordinates>& completedRings, std::vector<coordinates>& incompletedRings,
|
|
|
|
coordinates& coordinates);
|
2011-10-30 00:57:40 +02:00
|
|
|
|
2012-04-28 21:43:14 +02:00
|
|
|
void unifyIncompletedRings(std::vector<std::vector<int_pair> >& incompletedRings, std::vector<std::vector<int_pair> >& completedRings,
|
|
|
|
int leftX, int rightX, int bottomY, int topY, long dbId, int zoom);
|
2012-04-28 18:37:20 +02:00
|
|
|
|
|
|
|
|
2012-04-28 21:43:14 +02:00
|
|
|
void processCoastlines(std::vector<MapDataObject*>& coastLines, int leftX, int rightX, int bottomY, int topY, int zoom,
|
2012-05-01 01:43:09 +02:00
|
|
|
bool showIncompleted, std::vector<MapDataObject*>& res);
|
2011-10-30 00:57:40 +02:00
|
|
|
|
2012-05-01 01:43:09 +02:00
|
|
|
#endif
|