PIPS
ray_dte.h
Go to the documentation of this file.
1 /* Warning! Do not modify this file that is automatically generated! */
2 /* Modify src/Libs/ray_dte/ray_dte-local.h instead, to add your own modifications. */
3 
4 /* header file built by cproto */
5 
6 #ifndef ray_dte_header_included
7 #define ray_dte_header_included
8 /* ray_dte-local.h */
9 /*
10 
11  $Id: ray_dte-local.h 1641 2016-03-02 08:20:19Z coelho $
12 
13  Copyright 1989-2016 MINES ParisTech
14 
15  This file is part of Linear/C3 Library.
16 
17  Linear/C3 Library is free software: you can redistribute it and/or modify it
18  under the terms of the GNU Lesser General Public License as published by
19  the Free Software Foundation, either version 3 of the License, or
20  any later version.
21 
22  Linear/C3 Library is distributed in the hope that it will be useful, but WITHOUT ANY
23  WARRANTY; without even the implied warranty of MERCHANTABILITY or
24  FITNESS FOR A PARTICULAR PURPOSE.
25 
26  See the GNU Lesser General Public License for more details.
27 
28  You should have received a copy of the GNU Lesser General Public License
29  along with Linear/C3 Library. If not, see <http://www.gnu.org/licenses/>.
30 
31 */
32 
33 /* package ray_dte: structure de donnees representant les rayons et les
34  * droites d'un systeme generateur; elle contient le vecteur correspondant,
35  * un eventuel tableau de saturation, et le chainage vers les autres rayons
36  * ou droites.
37  *
38  * Francois Irigoin, Mai 1989
39  *
40  * Voir poly.h
41  *
42  * A terme, poly.h devrait exploser et la definition de ray_dte etre remise
43  * dans ce fichier; a moins qu'on ne mette plutot ray_dte.h dans sg.h
44  * pour eviter une explosion des .h
45  */
46 
47 #ifndef RAY_DTE
48 /* numero du type de donnees */
49 #define RAY_DTE 105
50 
51 typedef struct rdte {
52  int *eq_sat;
53  struct Svecteur *vecteur;
54  struct rdte *succ;
56 
57 #define print_rd(s) ray_dte_fprint(stdout,s)
58 
59 #define print_lray_dte(lv) fprint_lray_dte(stdout,lv)
60 
61 #ifndef VERSION_FINALE
62 #define RAY_DTE_RM(rd,f) dbg_ray_dte_rm(rd,f)
63 #else
64 #define RAY_DTE_RM(rd,f) ray_dte_rm(rd)
65 #endif
66 
67 #endif /* RAY_DTE */
68 /* cproto-generated files */
69 /* ray_dte.c */
70 extern Pray_dte ray_dte_dup(Pray_dte /*rd_in*/);
71 extern Pray_dte ray_dte_new(void);
72 extern Pray_dte ray_dte_make(Pvecteur /*v*/);
73 extern Pray_dte ray_oppose(Pray_dte /*r*/);
74 extern void ray_dte_rm(Pray_dte /*rd*/);
75 extern void dbg_ray_dte_rm(Pray_dte /*rd*/, char */*f*/);
76 extern void ray_dte_fprint(FILE */*f*/, Pray_dte /*rd*/, char *(* /*nom_var*/)(Variable));
77 extern void ray_dte_fprint_as_dense(FILE */*f*/, Pray_dte /*rd*/, Pbase /*b*/);
78 extern void ray_dte_dump(Pray_dte /*rd*/);
79 extern void fprint_lray_dte(FILE */*f*/, Pray_dte /*listrd*/, char *(* /*nom_var*/)(Variable));
80 extern void fprint_lray_dte_as_dense(FILE */*f*/, Pray_dte /*listrd*/, Pbase /*b*/);
81 extern void ray_dte_normalize(Pray_dte /*rd*/);
82 extern bool rd_in_liste(Pray_dte /*rd*/, Pray_dte /*lrd*/);
83 extern bool egaliste_rd(Pray_dte /*l1*/, Pray_dte */*ad_l2*/);
84 extern Pray_dte elim_null_vect(Pray_dte /*l*/, int */*n*/);
85 extern void elim_tt_rd(Pray_dte /*listrd*/);
86 #endif /* ray_dte_header_included */
Pray_dte ray_oppose(Pray_dte)
Pray_dte ray_oppose(Pray_dte r): transformation d'un rayon en son oppose (effet de bord)
Definition: ray_dte.c:125
struct rdte * Pray_dte
void elim_tt_rd(Pray_dte)
void elim_tt_rd(Pray_dte listrd): suppression d'une liste de rayons ou d'une liste de droites
Definition: ray_dte.c:349
void ray_dte_normalize(Pray_dte)
void ray_dte_normalize(Pray_dte rd): normalisation des coordonnees d'un rayon ou d'une droite rd (div...
Definition: ray_dte.c:226
Pray_dte ray_dte_new(void)
Pray_dte ray_dte_new(): allocation d'une structure ray_dte;.
Definition: ray_dte.c:89
void dbg_ray_dte_rm(Pray_dte, char *)
void dbg_ray_dte(Pray_dte rd, char * f): desallocation complete d'une structure ray_dte rd avec trace...
Definition: ray_dte.c:145
Pray_dte ray_dte_dup(Pray_dte)
RAY_DTE.
Definition: ray_dte.c:66
void ray_dte_fprint_as_dense(FILE *, Pray_dte, Pbase)
void ray_dte_fprint_as_dense(File * f, Pray_dte rd, Pbase b) impression d'un rayon ou d'une droite
Definition: ray_dte.c:176
bool egaliste_rd(Pray_dte, Pray_dte *)
bool egaliste_rd(Pray_dte l1, Pray_dte * l2): egalite de deux listes de rayons ou de droites
Definition: ray_dte.c:260
bool rd_in_liste(Pray_dte, Pray_dte)
bool rd_in_liste(Pray-dte rd, Pray_dte lrd): test si rd appartient a la liste lrd
Definition: ray_dte.c:242
void fprint_lray_dte_as_dense(FILE *, Pray_dte, Pbase)
void fprint_lray_dte_as_dense(FILE * f, Pray_dte listrd): impression d'une liste de rayons ou de droi...
Definition: ray_dte.c:210
Pray_dte elim_null_vect(Pray_dte, int *)
Pray_dte elim_null_vect(Pray_dte l, int * n): elimine les vecteurs nuls d'une liste l de rayons ou de...
Definition: ray_dte.c:317
void ray_dte_rm(Pray_dte)
void ray_dte_rm(Pray_dte rm): desallocation complete d'une structure ray_dte
Definition: ray_dte.c:134
struct rdte Sray_dte
void ray_dte_fprint(FILE *, Pray_dte, char *(*)(Variable))
void ray_dte_dump(Pray_dte)
void ray_dte_dump(Pray_dte rd): impression de debug de rd sur stderr, utilisant variable_debug_name()
Definition: ray_dte.c:187
void fprint_lray_dte(FILE *, Pray_dte, char *(*)(Variable))
Pray_dte ray_dte_make(Pvecteur)
Pray_dte ray_dte_make(Pvecteur v): allocation et initialisation d'une structure ray_dte;.
Definition: ray_dte.c:108
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Definition: vecteur-local.h:89
struct rdte * succ
Definition: ray_dte-local.h:46
struct Svecteur * vecteur
Definition: ray_dte-local.h:45
int * eq_sat
Definition: ray_dte-local.h:44
void * Variable
arithmetique is a requirement for vecteur, but I do not want to inforce it in all pips files....
Definition: vecteur-local.h:60