PIPS
|
Go to the source code of this file.
Data Structures | |
struct | rdte |
Macros | |
#define | RAY_DTE 105 |
Warning! Do not modify this file that is automatically generated! More... | |
#define | print_rd(s) ray_dte_fprint(stdout,s) |
#define | print_lray_dte(lv) fprint_lray_dte(stdout,lv) |
#define | RAY_DTE_RM(rd, f) dbg_ray_dte_rm(rd,f) |
Typedefs | |
typedef struct rdte * | Pray_dte |
typedef struct rdte | Sray_dte |
Functions | |
Pray_dte | ray_dte_dup (Pray_dte) |
RAY_DTE. More... | |
Pray_dte | ray_dte_new (void) |
Pray_dte ray_dte_new(): allocation d'une structure ray_dte;. More... | |
Pray_dte | ray_dte_make (Pvecteur) |
Pray_dte ray_dte_make(Pvecteur v): allocation et initialisation d'une structure ray_dte;. More... | |
Pray_dte | ray_oppose (Pray_dte) |
Pray_dte ray_oppose(Pray_dte r): transformation d'un rayon en son oppose (effet de bord) More... | |
void | ray_dte_rm (Pray_dte) |
void ray_dte_rm(Pray_dte rm): desallocation complete d'une structure ray_dte More... | |
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 sur stderr; le nom de la fonction demandant la desallocation est passe comme deuxieme argument, f. More... | |
void | ray_dte_fprint (FILE *, Pray_dte, char *(*)(Variable)) |
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 More... | |
void | ray_dte_dump (Pray_dte) |
void ray_dte_dump(Pray_dte rd): impression de debug de rd sur stderr, utilisant variable_debug_name() More... | |
void | fprint_lray_dte (FILE *, Pray_dte, char *(*)(Variable)) |
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 droites More... | |
void | ray_dte_normalize (Pray_dte) |
void ray_dte_normalize(Pray_dte rd): normalisation des coordonnees d'un rayon ou d'une droite rd (division par le pgcd leurs coefficients) More... | |
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 More... | |
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 More... | |
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 droites et renvoie un pointeur vers la nouvelle liste ainsi que le nouveau nombre d'elements de la liste *n. More... | |
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 More... | |
#define print_lray_dte | ( | lv | ) | fprint_lray_dte(stdout,lv) |
#define print_rd | ( | s | ) | ray_dte_fprint(stdout,s) |
#define RAY_DTE 105 |
Warning! Do not modify this file that is automatically generated!
Modify src/Libs/ray_dte/ray_dte-local.h instead, to add your own modifications. header file built by cproto ray_dte-local.h package ray_dte: structure de donnees representant les rayons et les droites d'un systeme generateur; elle contient le vecteur correspondant, un eventuel tableau de saturation, et le chainage vers les autres rayons ou droites.
Francois Irigoin, Mai 1989
Voir poly.h
A terme, poly.h devrait exploser et la definition de ray_dte etre remise dans ce fichier; a moins qu'on ne mette plutot ray_dte.h dans sg.h pour eviter une explosion des .h numero du type de donnees
#define RAY_DTE_RM | ( | rd, | |
f | |||
) | dbg_ray_dte_rm(rd,f) |
void dbg_ray_dte_rm | ( | Pray_dte | rd, |
char * | f | ||
) |
void dbg_ray_dte(Pray_dte rd, char * f): desallocation complete d'une structure ray_dte rd avec trace sur stderr; le nom de la fonction demandant la desallocation est passe comme deuxieme argument, f.
rd | d |
Definition at line 145 of file ray_dte.c.
References dbg_vect_rm(), f(), fprintf(), FREE, RAY_DTE, variable_debug_name, and vect_fprint().
bool egaliste_rd(Pray_dte l1, Pray_dte * l2): egalite de deux listes de rayons ou de droites
l1 | 1 |
ad_l2 | d_l2 |
Definition at line 260 of file ray_dte.c.
References rdte::succ, vect_equal(), and rdte::vecteur.
Referenced by egal_rd().
Pray_dte elim_null_vect(Pray_dte l, int * n): elimine les vecteurs nuls d'une liste l de rayons ou de droites et renvoie un pointeur vers la nouvelle liste ainsi que le nouveau nombre d'elements de la liste *n.
la nouvelle liste contient les elements non-nuls en ordre inverse nombre d'elements non-nuls dans l
nouvelle liste
rayon ou droite nul a desallouer
desallocation du rayon ou de la droite
il faut le chainer a la nouvelle liste
n | la nouvelle liste contient les elements non-nuls en ordre inverse liste initiale, passee par valeur |
Definition at line 317 of file ray_dte.c.
References RAY_DTE_RM, and rdte::succ.
void elim_tt_rd | ( | Pray_dte | listrd | ) |
void elim_tt_rd(Pray_dte listrd): suppression d'une liste de rayons ou d'une liste de droites
listrd | istrd |
Definition at line 349 of file ray_dte.c.
References RAY_DTE_RM, and rdte::succ.
Referenced by sg_rm_droites(), and sg_rm_rayons().
void fprint_lray_dte | ( | FILE * | , |
Pray_dte | , | ||
char * | *)(Variable | ||
) |
void fprint_lray_dte_as_dense(FILE * f, Pray_dte listrd): impression d'une liste de rayons ou de droites
listrd | istrd |
Definition at line 210 of file ray_dte.c.
References f(), ray_dte_fprint_as_dense(), and rdte::succ.
Referenced by sg_fprint_as_dense().
void ray_dte_dump | ( | Pray_dte | rd | ) |
void ray_dte_dump(Pray_dte rd): impression de debug de rd sur stderr, utilisant variable_debug_name()
rd | d |
Definition at line 187 of file ray_dte.c.
References ray_dte_fprint(), and variable_debug_name.
RAY_DTE.
cproto-generated files ray_dte.c
RAY_DTE.
Le chainage est mis a NULL; le tableau des saturations aussi car on ne peut pas connaitre sa taille; le vecteur est copie pour ne pas introduire de sharing
rd_in | d_in |
Definition at line 66 of file ray_dte.c.
References abort, fprintf(), ray_dte_new(), vect_dup(), and rdte::vecteur.
Referenced by sg_dup(), and sg_union().
void ray_dte_fprint | ( | FILE * | , |
Pray_dte | , | ||
char * | *)(Variable | ||
) |
void ray_dte_fprint_as_dense(File * f, Pray_dte rd, Pbase b) impression d'un rayon ou d'une droite
rd | d |
Definition at line 176 of file ray_dte.c.
References f(), vect_fprint_as_dense(), and rdte::vecteur.
Referenced by fprint_lray_dte_as_dense().
Pray_dte ray_dte_make(Pvecteur v): allocation et initialisation d'une structure ray_dte;.
Le chainage est mis a NULL; le tableau des saturations aussi car on ne peut pas connaitre sa taille; le vecteur n'est pas copie et du sharing est introduit
Definition at line 108 of file ray_dte.c.
References ray_dte_new(), and rdte::vecteur.
Referenced by mk_rn(), and sg_of_rays().
Pray_dte ray_dte_new | ( | void | ) |
Pray_dte ray_dte_new(): allocation d'une structure ray_dte;.
Le chainage est mis a NULL; le tableau des saturations aussi car on ne peut pas connaitre sa taille; le vecteur est initialise a VECTEUR_UNDEFINED
Definition at line 89 of file ray_dte.c.
References rdte::eq_sat, MALLOC, RAY_DTE, rdte::succ, rdte::vecteur, and VECTEUR_UNDEFINED.
Referenced by ray_dte_dup(), and ray_dte_make().
void ray_dte_normalize | ( | Pray_dte | rd | ) |
void ray_dte_normalize(Pray_dte rd): normalisation des coordonnees d'un rayon ou d'une droite rd (division par le pgcd leurs coefficients)
Ancien nom: norm_rd()
rd | d |
Definition at line 226 of file ray_dte.c.
References vect_normalize(), and rdte::vecteur.
void ray_dte_rm | ( | Pray_dte | rd | ) |
void ray_dte_rm(Pray_dte rm): desallocation complete d'une structure ray_dte
rd | d |
Definition at line 134 of file ray_dte.c.
References FREE, RAY_DTE, and vect_rm().
Pray_dte ray_oppose(Pray_dte r): transformation d'un rayon en son oppose (effet de bord)
-> -> r = - r
Definition at line 125 of file ray_dte.c.
References vect_chg_sgn().
Referenced by sg_without_line().
bool rd_in_liste(Pray-dte rd, Pray_dte lrd): test si rd appartient a la liste lrd
Les coordonnees de rd et des elements de lrd sont supposees normalisees.
Il faudrait distinguer le cas des droites qui peuvent avoir des vecteurs directeurs opposes et etre neanmoins egales; a moins que le normalisation soit effectuee de maniere a n'avoir qu'un vecteur directeur possible (le lexico-positif par exemple).
rd | d |
lrd | rd |
Definition at line 242 of file ray_dte.c.
References rdte::succ, vect_equal(), and rdte::vecteur.