#pragma once
//////////////////////////////////////////////////
//Defines
#define OLV_LIMP_AMB_NW_NODEF		USHRT_MAX//-1		//<Indica que no hay índice del ámbito a la carretera asignada
#define OLV_LIMP_MILIS_PROGRE		500		//<Milisegundos cada los que se actualiza el progreso de la tarea
#define OLV_LIMP_N_DMIN_NW			3		//<Número de carreteras que almacena más cercanas
#define OLV_LIMP_N_PTOS_MED			4		//<Número de puntos con los que calcular distancia media entre ámbito y carretera
#define OLV_LIMP_N_PTOS_DIST		2.5		//<Distancia entre los puntos de la media
#define OLV_LIMP_M_CONJ				32		//<Incrementos de memoria en el array de conjunciones
#define OLV_LIMP_MAX_CAMP			64		//<Longitud máxima de la cadena de caracteres del campo de la dbf
#define OLV_LIMP_ANCH_DEF			2.2		//<El ancho por defecto por si hubiera algún error
#define OLV_LIMP_COST_SEGM			3		//<El coste asignado a los segmentos de unión, en segundos
#define OLV_LIMP_VELO_PEAT			5		//<La velocidad de circulación en calles prohibidas y peatonales, muy bajita, en km/h
#define OLV_LIMP_VELO_DEF			10		//<La velocidad por defecto cuando viene a 0 en la nw, en km/h
#define OLV_LIMP_GIRO_VEHIC			135		//<El giro máximo del vehículo por defecto
//defines para ini de configuracion campos dbf-------------------------
#define OLV_LIMP_GRUPO_DBF					"CONF_CAMPOS_DBF"		
#define OLV_LIMP_PARAM_OBS					"Observaciones"		
#define OLV_LIMP_PARAM_ANCHO				"Ancho_tipo"		
#define OLV_LIMP_PARAM_TIPO_AP				"Tipo_ap"		
#define OLV_LIMP_PARAM_TIPO_ENT				"Tipo_entrada"		
#define OLV_LIMP_PARAM_TIPO_ENT_APARCA		"Banda_aparcamiento"	
#define OLV_LIMP_PARAM_TIPO_ENT_PEATO		"Entidad_peatonal"			
#define OLV_LIMP_PARAM_TIPO_ENT_ACERA		"Entidad_acera"		
#define OLV_LIMP_PARAM_TIPO_AP_LIN			"Aparcamiento_linea"		
#define OLV_LIMP_PARAM_TIPO_AP_BAT			"Aparcamiento_bateria"
#define OLV_LIMP_GRUPO_OTROS				"OTROS_PARAM"		
#define OLV_LIMP_PARAM_GIRO_VEHIC			"Giro_max_vehiculo"	
//flags de la info de la inw-------------------------
#define OLV_LIMP_FLG_CIRC_FT		0x0001	//<Indica sentido de circulación FT , ningún flag indica sentido BOTH
#define OLV_LIMP_FLG_CIRC_TF		0x0002	//<Indica sentido de circulación TF
#define OLV_LIMP_FLG_CIRC_NONE		0x0004	//<Indica sentido de circulación NONE
#define OLV_LIMP_FLG_CIRC_NO_DOB	0x0007	//<Indica sentido de circulación FT+TF+NONE
#define OLV_LIMP_FLG_NW_REP			0x0008	//<Indica si la entidad es una réplica de calle de nw
#define OLV_LIMP_FLG_NO_NW			0x7FF0	//<Indica que no es nw, es combinación de los anteriores
#define OLV_LIMP_FLG_DER			0x0010	//<Indica que el ámbito está a la derecha de la carretera asignada, tomado su sentido FT
#define OLV_LIMP_FLG_AMB			0x0020	//<Indica si la entidad es un ámbito, ausencia de este y el de seg indica que es nw
#define OLV_LIMP_FLG_SEG_LIN		0x0040	//<Indica si la entidad es un segmento de unión con los ámbitos lineales
#define OLV_LIMP_FLG_SEG_PUN		0x0080	//<Indica si la entidad es un segmento de unión con los ámbitos puntuales
#define OLV_LIMP_FLG_PEAT			0x0100	//<Indica si la entidad es un ámbito peatonal
#define OLV_LIMP_FLG_PEAT_REP		0x0200	//<Indica si la entidad es un ámbito peatonal replicado
#define OLV_LIMP_FLG_PEAT_SEG		0x0400	//<Indica si la entidad es un segmento de unión de peatonal, de coste 0
#define OLV_LIMP_FLG_EJE			0x0800	//<Indica si la entidad es un ámbito tipo eje de calle
#define OLV_LIMP_FLG_EJE_SEG		0x1000	//<Indica si la entidad es un segmento de ámbito tipo eje de calle
#define OLV_LIMP_FLG_FIN			0x2000	//<Indica que es final del ámbito
#define OLV_LIMP_FLG_SEG_AMB		0x4000	//<Indica que es segmento de unión entre ámbitos
#define OLV_LIMP_FLG_AMB_NO 		0x8000	//<indica que el ambito no se va a usar para la secto ni planif
#define OLV_LIMP_FLG_SEC_INFO_BLOCK	0x0001	//<Indica que ese sector esta bloqueado (no se puede quitar ni poner ambitos)
#define OLV_LIMP_FLG_SEC_DISTINTO	0x0002	//<Indica que ese sector puede ser distinto a los demás para cuadrar jornadas
#define OLV_LIMP_FLG_SEC_CAMB		0x0004	//<Indica que ese sector se ha cambiado
//////////////////////////////////////////////////
/**
 * Para identificar los tipos de ámbitos
 */
enum TipoAmbit
{
	OLV_AMB_PUN=1, //tiene que empezar siempre en 1 porque se usa para multiplicar, y el lineal ser el 2, no cambiar!
	OLV_AMB_LIN,
};