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

File Contents

# User Rev Content
1 5
2    
3     #include <stdio.h>
4     #include "r3d_struct.h"
5     #include "m3d_const.h"
6     #include "m3d_hotes.h"
7     #include "prototype2.h"
8     extern GEST_MEM *gest_r ;
9     extern int debug ;
10     struct st_face *r3d_recface(float *coord,NOEUD *n1,NOEUD *n2,NOEUD *n3)
11     {
12     FACE *courant, *tab_face[4] ;
13     CONNEC *connec ;
14     int i ;
15     /* recherche parmi les faces de peau */
16     if (n1->num < gest_r->nb_init)
17     if (n2->num < gest_r->nb_init)
18     if (n3->num < gest_r->nb_init)
19     {
20     for (i=0;i<gest_r->nb_2d;i++)
21     {
22     ADRESSE(face,i,courant)
23     if (courant->mark!=KILLED)
24     {
25     if (((courant->n1==n1)&&(courant->n2==n2)&&(courant->n3==n3)) ||
26     ((courant->n1==n1)&&(courant->n2==n3)&&(courant->n3==n2)) )
27     {
28     return(courant) ;
29     }
30     }
31     }
32     }
33     /* recherche parmi les tetraedres connectes au noeud */
34     connec = n1->tete ;
35     while (connec != NULL)
36     {
37     if ((connec->tetra)->mark != KILLED)
38     {
39     tab_face[0] = (connec->tetra)->face1 ;
40     tab_face[1] = (connec->tetra)->face2 ;
41     tab_face[2] = (connec->tetra)->face3 ;
42     tab_face[3] = (connec->tetra)->face4 ;
43     for (i=0;i<4;i++)
44     {
45     courant = tab_face[i] ;
46     if (courant->mark!=KILLED)
47     {
48     if (((courant->n1==n1)&&(courant->n2==n2)&&(courant->n3==n3)) ||
49     ((courant->n1==n1)&&(courant->n2==n3)&&(courant->n3==n2)) )
50     {
51     return(courant) ;
52     }
53     }
54     }
55     }
56     connec = connec->suivant ;
57     }
58     return(NULL) ;/* la face n'a pas ete trouvee */
59     }