SDK

Fonctions

void SPI_CAL_gravity_profile (int pos, double *pt)
 Calcule le point du centre de gravité du profil.
 
double SPI_CAL_surface_profile (int pos, int plane)
 Calcule la surface d'un profil.
 
double SPI_CAL_distance_point_profile (int pos, int plane, double *pt)
 Calcule la distance mini entre un point et un profil.
 
double SPI_CAL_sort_point (int sortType, int indTab1stPt, int indTab2ndPt)
 Optimise un tableau de points et retourne la distance totale.
 

Description détaillée

Base

Documentation des fonctions

◆ SPI_CAL_distance_point_profile()

double SPI_CAL_distance_point_profile ( int pos,
int plane,
double * pt )

Calcule la distance mini entre un point et un profil.

Paramètres
[in]posindice d'un élément du profil dans la BDD
[in]planeplane du point permettant de calculer la distance
[in]ptpoint de référence
Renvoie
distance mini entre un point et le profil
dist := RCALL(SPI_CAL_distance_point_profile,ipos,1,pt);
double SPI_CAL_distance_point_profile(int pos, int plane, double *pt)
Calcule la distance mini entre un point et un profil.
Definition sp_cal02.c:113

◆ SPI_CAL_gravity_profile()

void SPI_CAL_gravity_profile ( int pos,
double * pt )

Calcule le point du centre de gravité du profil.

Paramètres
[in]posindice d'un élément du profil dans la BDD
[out]ptpoint du centre de gravité (TR3)
PCALL(SPI_CAL_gravity_profile,ipos,pt);
void SPI_CAL_gravity_profile(int pos, double *pt)
Calcule le point du centre de gravité du profil.
Definition sp_cal02.c:42

◆ SPI_CAL_sort_point()

double SPI_CAL_sort_point ( int sortType,
int indTab1stPt,
int indTab2ndPt )

Optimise un tableau de points et retourne la distance totale.

Paramètres
[in]sortTypemethode de tri
  • 1 Grille allé retour X+ et Y+
  • 2 Grille allé retour X- et Y+
  • 3 Grille allé retour X+ et Y-
  • 4 Grille allé retour X- et Y-
  • 5 Grille allé simple X+ et Y+
  • 6 Grille allé simple X- et Y+
  • 7 Grille allé simple X+ et Y-
  • 8 Grille allé simple X- et Y-
  • 9 Grille allé retour Y+ et X+
  • 10 Grille allé retour Y+ et X-
  • 11 Grille allé retour Y- et X+
  • 12 Grille allé retour Y- et X-
  • 13 Grille allé simple Y+ et X+
  • 14 Grille allé simple Y+ et X-
  • 15 Grille allé simple Y- et X+
  • 16 Grille allé simple Y- et X-
  • 17 Optimisation Auto
  • 18 Distance Euclidienne
  • 19 Taxi Distance
  • 20 Distance Sup
  • 21 Distance Euclidienne avec bipoint
  • 22 Taxi Distance avec bipoint
  • 23 Distance Sup avec bipoint
[in]indTab1stPt: indice du tableau contenant les points de départ
[in]indTab2ndPt: indice du tableau contenant les points de fin ( cas de profils ) , ou -1
Renvoie
distance totale entre les points
ind_tab := ICALL(SPI_LOC_find_first_array);
Ier := ICALL(SPI_LOC_alloc_array,SPI_LOC_TYPTR3,4,ind_tab);
ier := ICALL(SPI_LOC_write_one_in_array,0,pt1,ind_tab);
ier := ICALL(SPI_LOC_write_one_in_array,1,pt2,ind_tab);
ier := ICALL(SPI_LOC_write_one_in_array,2,pt3,ind_tab);
ier := ICALL(SPI_LOC_write_one_in_array,3,pt4,ind_tab);
dist := RCALL(SPI_CAL_sort_point,17,ind_tab,-1);
int SPI_LOC_write_one_in_array(int pos, const void *adr, int ind)
Ecrit un champs dans un tableau.
Definition sp_loc01.c:428
int SPI_LOC_alloc_array(int typ, int nb, int ind)
Alloue un tableau à une taille donnée.
Definition sp_loc01.c:352
int SPI_LOC_find_first_array()
Trouve le premier tableau libre et renvoi son numéro.
Definition sp_loc01.c:58
double SPI_CAL_sort_point(int sortType, int indTab1stPt, int indTab2ndPt)
Optimise un tableau de points et retourne la distance totale.
Definition sp_cal02.c:150

Le tableau ind_tab contient maintenant les point triés suivant la méthode "Optimisation Auto"

Voir également
SPI_LOC_alloc_array, SPI_LOC_free_array
SPI_LOC_write_one_in_array, SPI_LOC_read_one_in_array

◆ SPI_CAL_surface_profile()

double SPI_CAL_surface_profile ( int pos,
int plane )

Calcule la surface d'un profil.

Paramètres
[in]posindice d'un élément du profil dans la BDD
[in]planeplan de référence
Renvoie
valeur SIGNEE du profil ( < 0 Trigo > 0 horaire )
Remarques
Si le profil est ouvert il sera fermé artificielement par un segment
rval := RCALL(SPI_CAL_surface_profile,ipos,1);
double SPI_CAL_surface_profile(int pos, int plane)
Calcule la surface d'un profil.
Definition sp_cal02.c:75