ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/diamesh/src/m3d_const.h
Revision: 5
Committed: Tue Jun 12 20:26:34 2007 UTC (17 years, 11 months ago)
Content type: text/plain
Original Path: magic/lib/diamesh/diamesh/src/m3d_const.h
File size: 4822 byte(s)
Log Message:

File Contents

# User Rev Content
1 5 /* ---------------------------------------------------------------
2     gestion de la version de DIAMESH
3     --------------------------------------------------------------- */
4     #define VERSION 1
5     #define SOUSVERSION 1
6     /* ---------------------------------------------------------------
7     constantes de dimensionnement de la geometrie
8     et du maillage
9     --------------------------------------------------------------- */
10    
11     #define MAX_CONNEC 30 /* nombre maxi d'element auxquels un noeud peut etre connecte */
12     /* toutes ces constantes doivent etre ajustees avec les valeurs du programme
13     d'appel */
14    
15     /* ---------------------------------------------------------------
16     constantes de dimensionnement propres au maillage
17     --------------------------------------------------------------- */
18    
19     /* nombre maximum de noeuds que l'on peut choisir lors de
20     la recherche sur le noeud connectable */
21     #define NB_MAX_CONNEC 5000
22     /* nombre maximum de cles que l'on peut choisir lors de
23     la recherche sur le noeud connectable */
24     /* lissage */
25     #define NB_MAX_VOISIN 100
26     #define NB_MAX_INTER 10000 /* nombre maxi d'intersections */
27     /* quelques macros */
28    
29     #define mem(nb,block) ((struct block *)calloc(nb,sizeof(struct block)))
30     #define max(x,y) ((x) >(y)? (x) :(y))
31     #define min(x,y) ((x) <(y)? (x) :(y))
32     #define NORME(u) (float)sqrt((double)(u[0] * u[0] + u[1] * u[1] + u[2] * u[2]))
33     #define PVEC(pvec,u,v)\
34     { pvec[0] = (u[1] * v[2] - u[2] * v[1]) ;\
35     pvec[1] = (u[2] * v[0] - u[0] * v[2]) ;\
36     pvec[2] = (u[0] * v[1] - u[1] * v[0]) ; \
37     }
38     #define PVECX(u,v) (u[1] * v[2] - u[2] * v[1])
39     #define PVECY(u,v) (u[2] * v[0] - u[0] * v[2])
40     #define PVECZ(u,v) (u[0] * v[1] - u[1] * v[0])
41     #define PROSCA(u,v) (u[0] * v[0] + u[1] * v[1] + u[2] * v[2])
42     #define DET3D(u,v,w) u[0]*(v[1]*w[2]-v[2]*w[1])-v[0]*(u[1]*w[2]-u[2]*w[1]) + w[0]*(u[1]*v[2]-u[2]*v[1])
43     /* logiques */
44     #define VRAI 1
45     #define FAUX 0
46    
47     #define ERREUR 0
48    
49     /* signe d'une expression */
50     #define POSITIF 1
51     #define NEGATIF -1
52     #define DESSUS 0
53     #define EXTERIEUR 50
54     #define INTERIEUR -50
55    
56     /* connectivite des noeuds */
57     #define NO_CONNEC -100000 /* non connectable */
58     #define CARD_NULL 0
59     #define x(i) 3 * (i)
60     #define y(i) 3 * (i) + 1
61     #define z(i) 3 * (i) + 2
62     #define CRITERE_ERREUR 0.0001
63     /* ------------------------------------------------------------ */
64     /* constantes diverses */
65     /* ------------------------------------------------------------ */
66     #define RAC3SUR2 0.866025
67     #define RAC2SUR2 0.708
68     #define EPSILON 0.000001
69     #define RAPPORT 0.500000 /* utilise pour definir la grille */
70     #define COEFF 0.99999
71     #define MULT 2. /* coefficient multiplicateur du rayon
72     pour la recherche des points connectables */
73     #define NUM_STOP -100
74     #define KILLED 1000
75     #define DESTROYED -1000
76     #define VAL_KILLED 1234567.
77     #define NB_ITERATIONS 5 /* lissage */
78     #define UNKNOWN -1
79    
80     /* generation de noeud par la methode des octrees */
81     #define BIG_NUMBER 100000000.
82     #define F_ERREUR -1.
83     #define DEVANT_BAS_GAUCHE 10
84     #define DEVANT_BAS_DROITE 20
85     #define DEVANT_HAUT_GAUCHE 30
86     #define DEVANT_HAUT_DROITE 40
87     #define DERRIERE_BAS_GAUCHE 50
88     #define DERRIERE_BAS_DROITE 60
89     #define DERRIERE_HAUT_GAUCHE 70
90     #define DERRIERE_HAUT_DROITE 80
91     #define INIT 0
92     #define NIVEAU_NUL 0
93     #define MAX_NIVEAU 20 /* nombre max de decoupage en octree */
94     #define DECOUPAGE 20
95     #define REGULIER 1
96     #define ADAPTATIF 0
97     #define NUMBER 1.3
98     /* types d'objets */
99     /* maillage virtuel en objet etat des cases */
100     #define INSIDE 100
101     #define OUTSIDE 200
102     #define NON_VIDE 1
103     #define TETRA 4
104     #define HEXA 6
105     #define GENERER 100
106     #define SEUIL_QUALITE 0.1
107     #define ADJACENT 1
108     #define LIE 2
109     #define PROCHE 3
110     #define GENERATION 4
111     #define BACK 5
112     #define PRE_MAILLAGE -1
113     #define CREER 1
114     #define MOVE 2
115     #define REMOVE 3
116     #define KILL 4
117     #define CREER_GEN 5
118     #define RESTORE 6
119     #define CREER_FACE_GEN 7
120     #define REPRISE 10
121     #define QUALITE 0.57
122     #define OPTI 0
123     #define MEDIUM 1
124     #define LAST 2
125     #define NUM_GENE 4
126     #define ATTENTE 5
127     #define NUM_ERREUR 6
128     #define NUM_REST 7
129     #define NUM_FACE_GEN 8
130     #define NUM_LIMITE 9
131     #define BEST_QUALITY 2
132     #define FACE_GENANTE 50
133     #define FACE_GENEREE 51
134     #define CRITERE_MINI 0.1
135     /* extension des fichiers en entree */
136     #define EXT_RECOVER ".REC"
137     #define EXT_NOE_MOSAIC ".COR"
138     #define EXT_ELE_MOSAIC ".ELE"
139     #define EXT_NOE_STAR ".STARNOE"
140     #define EXT_ELE_STAR ".STARELE"
141     #define EXT_OUT_NOE_MOSAIC "_3D.COR"
142     #define EXT_OUT_ELE_MOSAIC "_3D.ELE"
143     #define EXT_OUT_NOE_STAR "_3D.STARNOE"
144     #define EXT_OUT_ELE_STAR "_3D.STARELE"
145    
146     #define MAX_LINE 256
147     #define NB_MAX_SEG_CTRL 500
148     #define GOOD_CRIT 1
149     #define MEDIUM_CRIT 2
150     #define LOW_CRIT 3
151     #define BAD_CRIT 4
152     #define DMOYEN 0
153     #define DMIN 1
154     #define RECH 1
155     #define GENE 2
156     #define RECH_DEL 3
157     #define GENE_DEL 4
158     #define RECH_QUAD 10
159