OsmAnd
Classes | Defines | Functions | Variables
jni/osmand/multipolygons.h File Reference
#include <android/log.h>
#include <stdio.h>
#include <map>
#include <set>
#include <hash_map>
#include "renderRules.h"
#include "common.h"
#include "mapObjects.h"

Go to the source code of this file.

Classes

struct  tagValueType

Defines

#define INT_MAX   0x7fffffff /* max value for an int */
#define INT_MIN   (-0x7fffffff-1) /* min value for an int */

Functions

bool operator== (const tagValueType &__x, const tagValueType &__y)
bool operator< (const tagValueType &__x, const tagValueType &__y)
bool isClockwiseWay (std::vector< int_pair > &c)
 !!! Fuly copied from MapRenderRepositories.java, should be carefully synchroinized
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)
void processMultipolygonLine (std::vector< std::vector< int_pair > > &completedRings, std::vector< std::vector< int_pair > > &incompletedRings, std::vector< std::string > &completedRingsNames, std::vector< std::string > &incompletedRingsNames, std::vector< int_pair > &coordinates, std::string name)
void unifyIncompletedRings (std::vector< std::vector< int_pair > > &incompletedRings, std::vector< std::vector< int_pair > > &completedRings, std::vector< std::string > &completedRingNames, std::vector< std::string > &incompletedRingNames, int leftX, int rightX, int bottomY, int topY, long dbId, int zoom)
MultiPolygonObjectprocessMultiPolygon (int leftX, int rightX, int bottomY, int topY, std::vector< std::vector< int_pair > > &completedRings, std::vector< std::vector< int_pair > > &incompletedRings, std::vector< std::string > &completedRingNames, std::vector< std::string > &incompletedRingNames, const tagValueType &type, std::vector< MapDataObject * > &directList, std::vector< MapDataObject * > &inverselist, int zoom)
void proccessMultiPolygons (std::map< tagValueType, std::vector< MapDataObject * > > &multyPolygons, int leftX, int rightX, int bottomY, int topY, int zoom, std::vector< BaseMapDataObject * > &listPolygons)
int ray_intersect_x (int prevX, int prevY, int x, int y, int middleY)
int safelyAddDelta (int number, int delta)
bool calculateIntersection (int x, int y, int px, int py, int leftX, int rightX, int bottomY, int topY, int_pair &b)

Variables

char textMsg [1024]

Define Documentation

#define INT_MAX   0x7fffffff /* max value for an int */
#define INT_MIN   (-0x7fffffff-1) /* min value for an int */

Function Documentation

bool calculateIntersection ( int  x,
int  y,
int  px,
int  py,
int  leftX,
int  rightX,
int  bottomY,
int  topY,
int_pair b 
)
Returns:
-1 if there is no instersection or x<<32 | y
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 
)
bool isClockwiseWay ( std::vector< int_pair > &  c)

!!! Fuly copied from MapRenderRepositories.java, should be carefully synchroinized

bool operator< ( const tagValueType __x,
const tagValueType __y 
)
bool operator== ( const tagValueType __x,
const tagValueType __y 
)
void proccessMultiPolygons ( std::map< tagValueType, std::vector< MapDataObject * > > &  multyPolygons,
int  leftX,
int  rightX,
int  bottomY,
int  topY,
int  zoom,
std::vector< BaseMapDataObject * > &  listPolygons 
)
MultiPolygonObject* processMultiPolygon ( int  leftX,
int  rightX,
int  bottomY,
int  topY,
std::vector< std::vector< int_pair > > &  completedRings,
std::vector< std::vector< int_pair > > &  incompletedRings,
std::vector< std::string > &  completedRingNames,
std::vector< std::string > &  incompletedRingNames,
const tagValueType type,
std::vector< MapDataObject * > &  directList,
std::vector< MapDataObject * > &  inverselist,
int  zoom 
)
void processMultipolygonLine ( std::vector< std::vector< int_pair > > &  completedRings,
std::vector< std::vector< int_pair > > &  incompletedRings,
std::vector< std::string > &  completedRingsNames,
std::vector< std::string > &  incompletedRingsNames,
std::vector< int_pair > &  coordinates,
std::string  name 
)
int ray_intersect_x ( int  prevX,
int  prevY,
int  x,
int  y,
int  middleY 
)
int safelyAddDelta ( int  number,
int  delta 
)
void unifyIncompletedRings ( std::vector< std::vector< int_pair > > &  incompletedRings,
std::vector< std::vector< int_pair > > &  completedRings,
std::vector< std::string > &  completedRingNames,
std::vector< std::string > &  incompletedRingNames,
int  leftX,
int  rightX,
int  bottomY,
int  topY,
long  dbId,
int  zoom 
)

Variable Documentation

char textMsg[1024]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines