Compare commits

..

5 Commits

Author SHA1 Message Date
Gerardo f10dfbc34a Correcciones de topologia en streetmapPremium 2023-11-12 22:29:21 +01:00
Gerardo 01f5f499e7 arreglos 2023-11-07 00:24:41 +01:00
Gerardo 6111d62e61 arreglos 2023-11-06 22:12:22 +01:00
Gerardo a3511c130a Parametro de elevacion 2023-11-06 00:20:34 +01:00
Gerardo 1770820b3e Estandarizacion 2023-11-04 11:02:16 +01:00
11 changed files with 120 additions and 67 deletions

View File

@ -28,8 +28,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,1,5,0 FILEVERSION 3,1,6,0
PRODUCTVERSION 3,1,5,0 PRODUCTVERSION 3,1,6,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -46,12 +46,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "VSM" VALUE "CompanyName", "VSM"
VALUE "FileDescription", "Librería de la aplicación Olivia" VALUE "FileDescription", "Librería de la aplicación Olivia"
VALUE "FileVersion", "3.1.5.0" VALUE "FileVersion", "3.1.6.0"
VALUE "InternalName", "Olivia.dll" VALUE "InternalName", "Olivia.dll"
VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved." VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved."
VALUE "OriginalFilename", "Olivia.dll" VALUE "OriginalFilename", "Olivia.dll"
VALUE "ProductName", "OLIVIA" VALUE "ProductName", "OLIVIA"
VALUE "ProductVersion", "3.1.5.0" VALUE "ProductVersion", "3.1.6.0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -22,25 +22,25 @@
<ProjectGuid>{192BCB82-D8B4-4FB0-807A-7CC9B6EA623B}</ProjectGuid> <ProjectGuid>{192BCB82-D8B4-4FB0-807A-7CC9B6EA623B}</ProjectGuid>
<RootNamespace>Olivia</RootNamespace> <RootNamespace>Olivia</RootNamespace>
<Keyword>MFCDLLProj</Keyword> <Keyword>MFCDLLProj</Keyword>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>NotSet</CharacterSet> <CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>NotSet</CharacterSet> <CharacterSet>NotSet</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType> <ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>NotSet</CharacterSet> <CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
@ -215,7 +215,7 @@ copy ..\lib\$(IntDir)sqlite3.lib $(OutDir)</Command>
<PostBuildEvent> <PostBuildEvent>
<Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir) <Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir)
copy $(OutDir)Olivia.lib ..\lib\$(IntDir) copy $(OutDir)Olivia.lib ..\lib\$(IntDir)
copy $(OutDir)$(TargetFileName) D:\Proyectos\Olivia\Instal2.0\bin\</Command> </Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -335,7 +335,7 @@ copy ..\lib\$(IntDir)sqlite3.lib $(OutDir)</Command>
<PostBuildEvent> <PostBuildEvent>
<Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir) <Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir)
copy $(OutDir)Olivia.lib ..\lib\$(IntDir) copy $(OutDir)Olivia.lib ..\lib\$(IntDir)
copy $(OutDir)$(TargetFileName) D:\Proyectos\Olivia\Instal2.0\bin\</Command> </Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>

View File

@ -61,7 +61,8 @@ Colv_limp::Colv_limp(COlivia *olv)
nomb_tto[0]=0; nomb_tto[0]=0;
barr_mix=FALSE; barr_mix=FALSE;
usa_secuen = FALSE; usa_secuen = FALSE;
revisa_elev = TRUE; revisa_elev = FALSE;
revisa_topo = FALSE;
memset(mima, 0, N_COOR_MIMA * sizeof(double)); memset(mima, 0, N_COOR_MIMA * sizeof(double));
} }
//******************************************************************************************************************************************* //*******************************************************************************************************************************************
@ -424,8 +425,20 @@ int Colv_limp::pon_config(char *config_)
if(!olv->dame_param(token, camps.atr_tip_apa[OLV_ATR_TIP_AP_BAT], sizeof(camps.atr_tip_apa[OLV_ATR_TIP_AP_BAT]))) if(!olv->dame_param(token, camps.atr_tip_apa[OLV_ATR_TIP_AP_BAT], sizeof(camps.atr_tip_apa[OLV_ATR_TIP_AP_BAT])))
break; break;
} }
else if (strstr(token, OliviaDef::GeneralDef::GG_elev))
{
if (!olv->dame_param(token, (int*)&revisa_elev))
break;
}
else if (strstr(token, OliviaDef::GeneralDef::GG_topo))
{
if (!olv->dame_param(token, (int*)&revisa_topo))
break;
}
//los campos a leer de la dbf de la red navegable //los campos a leer de la dbf de la red navegable
else if(strstr(token,OliviaDef::GeneralDef::GTC_onew)) /*else if (strstr(token, OliviaDef::GeneralDef::GTC_onew))
{ {
if(!olv->dame_param(token, camps.campo_circ, sizeof(camps.campo_circ))) if(!olv->dame_param(token, camps.campo_circ, sizeof(camps.campo_circ)))
break; break;
@ -453,6 +466,7 @@ int Colv_limp::pon_config(char *config_)
if (strlen(camps.campo_name) > OLV_MAX_COL_SHP)//10 porque el shp solo pasa con 10 caracteres en los nombres de columna if (strlen(camps.campo_name) > OLV_MAX_COL_SHP)//10 porque el shp solo pasa con 10 caracteres en los nombres de columna
camps.campo_name[OLV_MAX_COL_SHP] = 0; camps.campo_name[OLV_MAX_COL_SHP] = 0;
} }
else if(strstr(token,OliviaDef::GeneralDef::GTA_TF)) else if(strstr(token,OliviaDef::GeneralDef::GTA_TF))
{ {
if(!olv->dame_param(token, camps.atr_circ[OLV_ATR_CIRC_TF], sizeof(camps.atr_circ[OLV_ATR_CIRC_TF]))) if(!olv->dame_param(token, camps.atr_circ[OLV_ATR_CIRC_TF], sizeof(camps.atr_circ[OLV_ATR_CIRC_TF])))
@ -472,7 +486,7 @@ int Colv_limp::pon_config(char *config_)
{ {
if(!olv->dame_param(token, camps.atr_circ[OLV_ATR_CIRC_PEDES], sizeof(camps.atr_circ[OLV_ATR_CIRC_PEDES]))) if(!olv->dame_param(token, camps.atr_circ[OLV_ATR_CIRC_PEDES], sizeof(camps.atr_circ[OLV_ATR_CIRC_PEDES])))
break; break;
} }*/
//anchos de bordillos //anchos de bordillos
else if (strstr(token, OliviaDef::GeneralDef::GTO_anch_peat)) else if (strstr(token, OliviaDef::GeneralDef::GTO_anch_peat))
{ {
@ -726,10 +740,12 @@ BOOL Colv_limp::guarda_campos_ini(char *path)
void Colv_limp::rellena_campos() void Colv_limp::rellena_campos()
{ {
//TOM TOM //TOM TOM
sprintf_s(camps.campo_circ,OLV_LIMP_MAX_CAMP,"ONEWAY"); sprintf_s(camps.campo_circ_ft,OLV_LIMP_MAX_CAMP,"_sen_ft");
sprintf_s(camps.campo_velo,OLV_LIMP_MAX_CAMP,"KPH"); sprintf_s(camps.campo_circ_tf, OLV_LIMP_MAX_CAMP, "_sen_tf");
sprintf_s(camps.campo_fow,OLV_LIMP_MAX_CAMP,"FOW"); sprintf_s(camps.campo_velo,OLV_LIMP_MAX_CAMP,"_vel");
sprintf_s(camps.campo_name,OLV_LIMP_MAX_CAMP,"NAME"); sprintf_s(camps.campo_fow,OLV_LIMP_MAX_CAMP,"_pea");
sprintf_s(camps.campo_name,OLV_LIMP_MAX_CAMP,"_dir");
sprintf_s(camps.campo_name, OLV_LIMP_MAX_CAMP, "_evita");
//TOM TOM ELEV //TOM TOM ELEV
sprintf_s(camps.campo_conj_to, OLV_LIMP_MAX_CAMP, NOMB_CAMP_CONJ_TO); sprintf_s(camps.campo_conj_to, OLV_LIMP_MAX_CAMP, NOMB_CAMP_CONJ_TO);
sprintf_s(camps.campo_conj_from, OLV_LIMP_MAX_CAMP, NOMB_CAMP_CONJ_FROM); sprintf_s(camps.campo_conj_from, OLV_LIMP_MAX_CAMP, NOMB_CAMP_CONJ_FROM);
@ -749,10 +765,10 @@ void Colv_limp::rellena_campos()
///////rellena los atributos ///////rellena los atributos
//TOMTOM //TOMTOM
sprintf_s(camps.atr_circ[OLV_ATR_CIRC_TF],OLV_LIMP_MAX_CAMP,"TF"); sprintf_s(camps.atr_circ[OLV_ATR_CIRC_TF],OLV_LIMP_MAX_CAMP,"1");
sprintf_s(camps.atr_circ[OLV_ATR_CIRC_FT],OLV_LIMP_MAX_CAMP,"FT"); sprintf_s(camps.atr_circ[OLV_ATR_CIRC_FT],OLV_LIMP_MAX_CAMP,"1");
sprintf_s(camps.atr_circ[OLV_ATR_CIRC_NONE],OLV_LIMP_MAX_CAMP,"N"); sprintf_s(camps.atr_circ[OLV_ATR_CIRC_NONE],OLV_LIMP_MAX_CAMP,"N");
sprintf_s(camps.atr_circ[OLV_ATR_CIRC_PEDES],OLV_LIMP_MAX_CAMP,"14"); sprintf_s(camps.atr_circ[OLV_ATR_CIRC_PEDES],OLV_LIMP_MAX_CAMP,"1");
//VSM //VSM
sprintf_s(camps.atr_tip_ent[OLV_ATR_NOM_TIP_ENT_AP],OLV_LIMP_MAX_CAMP,"Banda_Aparcamiento"); sprintf_s(camps.atr_tip_ent[OLV_ATR_NOM_TIP_ENT_AP],OLV_LIMP_MAX_CAMP,"Banda_Aparcamiento");
sprintf_s(camps.atr_tip_ent[OLV_ATR_NOM_TIP_ENT_BORD],"Bordillo_Libre"); sprintf_s(camps.atr_tip_ent[OLV_ATR_NOM_TIP_ENT_BORD],"Bordillo_Libre");

View File

@ -51,6 +51,8 @@ public:
BOOL barr_mix; ///<Indica si es barrido mixto BOOL barr_mix; ///<Indica si es barrido mixto
BOOL usa_secuen; BOOL usa_secuen;
BOOL revisa_elev; BOOL revisa_elev;
BOOL revisa_topo;
double f_trafic; ///<Factor de reducción de la velocidad en calles por el tráfico en tanto por 1 double f_trafic; ///<Factor de reducción de la velocidad en calles por el tráfico en tanto por 1
double calc_nsec; ///<Indica si el número de sectores es calculado (almacena el coste del sector) o impuesto (0) double calc_nsec; ///<Indica si el número de sectores es calculado (almacena el coste del sector) o impuesto (0)
double margen_sect; ///<Margen de diferencia entre sectores, en tanto por uno double margen_sect; ///<Margen de diferencia entre sectores, en tanto por uno

View File

@ -435,10 +435,12 @@ typedef struct Info_planif
typedef struct Campos_dbf typedef struct Campos_dbf
{ {
///////////////////////////////////////////// /////////////////////////////////////////////
char campo_circ[OLV_LIMP_MAX_CAMP]; char campo_circ_ft[OLV_LIMP_MAX_CAMP];
char campo_circ_tf[OLV_LIMP_MAX_CAMP];
char campo_velo[OLV_LIMP_MAX_CAMP]; char campo_velo[OLV_LIMP_MAX_CAMP];
char campo_name[OLV_LIMP_MAX_CAMP]; char campo_name[OLV_LIMP_MAX_CAMP];
char campo_fow[OLV_LIMP_MAX_CAMP]; char campo_fow[OLV_LIMP_MAX_CAMP];
char campo_evi[OLV_LIMP_MAX_CAMP];
//ELEV TOM TOM //ELEV TOM TOM
char campo_conj_to[OLV_LIMP_MAX_CAMP]; char campo_conj_to[OLV_LIMP_MAX_CAMP];
char campo_conj_from[OLV_LIMP_MAX_CAMP]; char campo_conj_from[OLV_LIMP_MAX_CAMP];

View File

@ -22,6 +22,7 @@
#include "ManagerDbfGdataTable.h" #include "ManagerDbfGdataTable.h"
#include "sock_sv.h" #include "sock_sv.h"
#include <map> #include <map>
#include "../../utiles/CartoBaseTopologyManager.h"
UINT th_planificacion(LPVOID pp); UINT th_planificacion(LPVOID pp);
UINT th_busca_elev_dist(LPVOID pp); UINT th_busca_elev_dist(LPVOID pp);
@ -151,6 +152,10 @@ void Colv_limp_thr::cola_proc(int evento, OlvAsync_cola<Param_olv_limp_thr> *cla
{ {
int soloi=-1; int soloi=-1;
bien=this_i->une_amb_nw(soloi); bien=this_i->une_amb_nw(soloi);
if (bien && this_i->olv_limp->revisa_topo)
{
this_i->corrije_topo_nw();
}
if(bien && (this_i->olv->modo_ejec<OLV_EJEC_DEBUG_NOSIGUE) && !this_i->pirate)//sigue if(bien && (this_i->olv->modo_ejec<OLV_EJEC_DEBUG_NOSIGUE) && !this_i->pirate)//sigue
{ {
if(this_i->olv_limp->tipo_ambit==OLV_AMB_LIN) if(this_i->olv_limp->tipo_ambit==OLV_AMB_LIN)
@ -833,7 +838,7 @@ BOOL Colv_limp_thr::rellena_info_nw()
Cb_file file; Cb_file file;
Fdbf dbf; Fdbf dbf;
int n,ntf, nft, nboth, nno,s,ia; int n,ntf, nft, nboth, nno,s,ia;
int icamps,icampv,icampn,icampf,f,idd, icampoid; int icampsft, icampstf, icampv,icampn,icampf,f,idd, icampoid;
char nfile[MAX_PATH]; char nfile[MAX_PATH];
char *sent; char *sent;
BOOL ret=TRUE,ispedestrian; BOOL ret=TRUE,ispedestrian;
@ -864,26 +869,24 @@ BOOL Colv_limp_thr::rellena_info_nw()
} }
//busca el campo del sentido "ONEWAY" y el de "KPH" //busca el campo del sentido "ONEWAY" y el de "KPH"
icamps=icampv=icampn=icampf=-1; icampsft = icampstf = icampv=icampn=icampf=-1;
icamps=dbf.findCol(olv_limp->camps.campo_circ); icampsft =dbf.findCol(olv_limp->camps.campo_circ_ft);
icampstf = dbf.findCol(olv_limp->camps.campo_circ_tf);
icampv=dbf.findCol(olv_limp->camps.campo_velo); icampv=dbf.findCol(olv_limp->camps.campo_velo);
icampn=dbf.findCol(olv_limp->camps.campo_name); icampn=dbf.findCol(olv_limp->camps.campo_name);
icampf=dbf.findCol(olv_limp->camps.campo_fow); icampf=dbf.findCol(olv_limp->camps.campo_fow);
if(icamps==-1 || icampv==-1 || icampn==-1 || icampf==-1) if(icampsft ==-1 || icampstf == -1 || icampv==-1 || icampn==-1 || icampf==-1)
{ {
sprintf_s(err_str,OLV_MAX_ERR,"No encontrado campo %s y/o %s y/o %s en\n%s",olv_limp->camps.campo_circ, sprintf_s(err_str,OLV_MAX_ERR,"No encontrado campo %s y/o %s y/o %sy/o %s en\n%s", olv_limp->camps.campo_circ_tf ,olv_limp->camps.campo_circ_ft,
olv_limp->camps.campo_velo,olv_limp->camps.campo_name,nfile); olv_limp->camps.campo_velo,olv_limp->camps.campo_name,nfile);
olvlog(LOG_TODO,"No encontrado campo %s y/o %s y/o %s en\n%s",olv_limp->camps.campo_circ, olvlog(LOG_TODO,"No encontrado campo %s y/o %s y/o %s y/o %s en\n%s", olv_limp->camps.campo_circ_tf, olv_limp->camps.campo_circ_ft,
olv_limp->camps.campo_velo,olv_limp->camps.campo_name,nfile); olv_limp->camps.campo_velo,olv_limp->camps.campo_name,nfile);
return FALSE; return FALSE;
} }
icampoid=dbf.findCol(olv_limp->camps.campo_oid); icampoid=dbf.findCol(olv_limp->camps.campo_oid);
//////////////////////////////////////// ////////////////////////////////////////
sent = (char*)malloc(dbf.getSize(icamps)+1);
if(!sent)
return FALSE;
sent[0]=0;
idd =dbf.leeNexRow(); idd =dbf.leeNexRow();
n=0; n=0;
ia=olv_limp->n_amb;//la info aso de la nw empieza donde acaba la de los ámbitos ia=olv_limp->n_amb;//la info aso de la nw empieza donde acaba la de los ámbitos
@ -897,34 +900,37 @@ BOOL Colv_limp_thr::rellena_info_nw()
//si se cumple lo anterior, son como doble sentido pero no se replican //si se cumple lo anterior, son como doble sentido pero no se replican
////////////////////////// //////////////////////////
//sentido de circulación //sentido de circulación
strcpy(sent,dbf.getStr(icamps)); int sentf, senft;
sentf = dbf.getI(icampstf);
senft = dbf.getI(icampsft);
s = 0; s = 0;
if(strcmp(sent,olv_limp->camps.atr_circ[OLV_ATR_CIRC_TF])==0) if (sentf && senft)
{
nboth++;
}
else if (sentf)
{ {
s = OLV_LIMP_FLG_CIRC_TF; s = OLV_LIMP_FLG_CIRC_TF;
ntf++; ntf++;
} }
else if(strcmp(sent,olv_limp->camps.atr_circ[OLV_ATR_CIRC_FT])==0) else if (senft)
{ {
s = OLV_LIMP_FLG_CIRC_FT; s = OLV_LIMP_FLG_CIRC_FT;
nft++; nft++;
} }
else if(strcmp(sent,olv_limp->camps.atr_circ[OLV_ATR_CIRC_NONE])==0) else
{ {
//no aplica la restricción por ser servicio público, cómo se sabe si es de un único sentido? //no aplica la restricción por ser servicio público, cómo se sabe si es de un único sentido?
s = OLV_LIMP_FLG_CIRC_NONE; s = OLV_LIMP_FLG_CIRC_NONE;
nno++; nno++;
} }
else
{
nboth++;
}
/////////////////////////////// ///////////////////////////////
//fow //fow
f = dbf.getI(icampf); f = dbf.getI(icampf);
//solo mira si es pedestrian, f==14 //solo mira si es pedestrian, f==14
if(f==atoi(olv_limp->camps.atr_circ[OLV_ATR_CIRC_PEDES]) || f==-1) if (f)
{ {
s = OLV_LIMP_FLG_CIRC_NONE; s = OLV_LIMP_FLG_CIRC_NONE;
ispedestrian = TRUE; ispedestrian = TRUE;
@ -1730,6 +1736,32 @@ BOOL Colv_limp_thr::replica_doble_sent(Info_inw_dmin *inww_ord)
return TRUE; return TRUE;
} }
BOOL Colv_limp_thr::corrije_topo_nw()
{
olvlog(LOG_TODO, "olv_limp_t", "revisando topologia de NW");
pon_mi_msg("Comprobando Topologia de la NW");
CartoBaseTopologyManager topoMan;
bool res =topoMan.revisaTopologia(&olv_limp->carto, n_subthr);
if(!res)
pon_mi_msg("Error al comprobar topologia: %s", topoMan.error);
//alade la info asociada
std::map<int, int>::iterator elem;
for (elem = topoMan.referencias.begin(); elem != topoMan.referencias.end(); ++elem) {
Info_aso2 niaso;
Info_aso2 oldiaso = olv_limp->iaso[elem->second];
niaso = oldiaso;
niaso.refe = elem->first;
if (oldiaso.inf_n.nomb)
{
int n = strlen(oldiaso.inf_n.nomb) + 1;
niaso.inf_n.nomb = (char*)malloc(n * sizeof(char));
strcpy(niaso.inf_n.nomb, oldiaso.inf_n.nomb);
}
olv_limp->iaso[elem->first] = niaso;
niaso.inf_n.nomb = NULL;
}
return res;
}
//************************************************************************************* //*************************************************************************************
/** /**
* Une la red navegable y los ámbitos * Une la red navegable y los ámbitos
@ -1840,7 +1872,6 @@ BOOL Colv_limp_thr::une_amb_nw(int soloi)
//Añade los segmentos a clase NW_union //Añade los segmentos a clase NW_union
add_uniones_obj(i); add_uniones_obj(i);
} }
//cuida si ha salido antes por falta de memo //cuida si ha salido antes por falta de memo
if(i<olv_limp->n_amb) if(i<olv_limp->n_amb)
{ {

View File

@ -156,6 +156,7 @@ public:
void copia_info_barr_mix(); void copia_info_barr_mix();
//Unión de ámbitos a la red navegable //Unión de ámbitos a la red navegable
BOOL une_amb_nw(int soloi=-1); BOOL une_amb_nw(int soloi=-1);
BOOL corrije_topo_nw();
int is_dmin(double daux, Info_inw_dmin *inww); int is_dmin(double daux, Info_inw_dmin *inww);
BOOL busca_inw_dmin(int i_amb); BOOL busca_inw_dmin(int i_amb);
BOOL busca_inw_dmin_ejes(int i_amb); BOOL busca_inw_dmin_ejes(int i_amb);

View File

@ -82,8 +82,8 @@ MAINICON ICON "favicon.ico"
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,1,5,0 FILEVERSION 3,1,6,0
PRODUCTVERSION 3,1,5,0 PRODUCTVERSION 3,1,6,0
FILEFLAGSMASK 0x17L FILEFLAGSMASK 0x17L
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x1L FILEFLAGS 0x1L
@ -100,12 +100,12 @@ BEGIN
BEGIN BEGIN
VALUE "CompanyName", "VSM" VALUE "CompanyName", "VSM"
VALUE "FileDescription", "Launcher de la aplicación Olivia" VALUE "FileDescription", "Launcher de la aplicación Olivia"
VALUE "FileVersion", "3.1.5.0" VALUE "FileVersion", "3.1.6.0"
VALUE "InternalName", "OliviaTasks" VALUE "InternalName", "OliviaTasks"
VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved." VALUE "LegalCopyright", "OLIVIA (c) VSM 2020. All rights reserved."
VALUE "OriginalFilename", "OliviaTasks.exe" VALUE "OriginalFilename", "OliviaTasks.exe"
VALUE "ProductName", "OliviaTasks" VALUE "ProductName", "OliviaTasks"
VALUE "ProductVersion", "3.1.5.0" VALUE "ProductVersion", "3.1.6.0"
END END
END END
BLOCK "VarFileInfo" BLOCK "VarFileInfo"

View File

@ -22,32 +22,32 @@
<ProjectGuid>{A8C66186-EDEF-4041-B7DD-B4FAFCC528EA}</ProjectGuid> <ProjectGuid>{A8C66186-EDEF-4041-B7DD-B4FAFCC528EA}</ProjectGuid>
<RootNamespace>OliviaTasks</RootNamespace> <RootNamespace>OliviaTasks</RootNamespace>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v141</PlatformToolset> <PlatformToolset>v142</PlatformToolset>
<UseOfMfc>Dynamic</UseOfMfc> <UseOfMfc>Dynamic</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
</PropertyGroup> </PropertyGroup>
@ -152,7 +152,7 @@ copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir)</Command>
<PostBuildEvent> <PostBuildEvent>
<Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir) <Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir)
copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir) copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir)
copy $(OutDir)$(TargetFileName) D:\Proyectos\Olivia\Instal2.0\bin\</Command> </Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@ -208,8 +208,7 @@ copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir)</Command>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir) <Command>copy $(OutDir)$(TargetFileName) ..\bin\$(IntDir)
copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir) copy ..\Licencia\OliviaTasks.lic ..\bin\$(IntDir)</Command>
copy $(OutDir)$(TargetFileName) D:\Proyectos\Olivia\Instal2.0\bin\</Command>
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>

View File

@ -51,8 +51,8 @@ namespace OliviaDef
public const int ProgrMax = 100; public const int ProgrMax = 100;
public const int ProgrStep = 5; public const int ProgrStep = 5;
public const int ParamN = 5; public const int ParamN = 5;
public const int ParamLimpN = 52; public const int ParamLimpN = 46;
public const int ParamRecoN = 50; public const int ParamRecoN = 44;
/* /*
* Define el separador entre parámetros de la llamada al proceso oliviatasks * Define el separador entre parámetros de la llamada al proceso oliviatasks
*/ */
@ -160,6 +160,8 @@ namespace OliviaDef
public const string GG_hini = "h_inicio"; public const string GG_hini = "h_inicio";
public const string GG_trafic = "trafico"; public const string GG_trafic = "trafico";
public const string GG_ais = "aislados"; public const string GG_ais = "aislados";
public const string GG_elev = "elevacion";
public const string GG_topo = "reviTopo";
/** /**
* Define las propiedades de limpieza a enviar a oliviatasks * Define las propiedades de limpieza a enviar a oliviatasks