1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
struct vertex {
float x,y,z;
};
struct surface {
vertex a,b,c; // vertex n'est pas un type connu
};
surface node { //surface n'est pas un type connu
surface *s; //surface n'est pas un type connu
surface node *next; //surface node ne veut rien dire
}
vertex node { //vertex n'est pas un type connu
vertex *v; //vertex n'est pas un type connu
vertex node *next; //vertex node ne veut rien dire
};
/* et node ne peut pas etre a la fois une surface et un vertex, sauf a utiliser une union ce qui a des implications assez lourdes */
vertex node *load vertex (char *f) // vertex ou node ?
{FILE *fopen(f);
float x,y,z;
char *line : vertex node *old=NULL;
while ((line=fget(f))!NULL)
{ fscanf (%f %f %f, &x ,&y ,&z);
vertax v=(vertex)malloc(sizeof(vertex));
v->x=x;
v->y=y;
v->z)z;
vertex node n=(vertex node)malloc(sizeof(vertex)); // vertex ou node?
n->v=v;
n->next=old;
};
surface node *load surface (char *f) // surface ou node?
{FILE *fopen(f);
float a,b,c;
char line:surface node *old=NULL; // : ?
while ((line=fget(f))!NULL)
{fscanf(%f %f %f,&a,&b,&c);
surface s=(surface)malloc(sizeof(surface));
s->a=a;
s->b=b;
s->c=c;
surface node n=(surface node)malloc(sizeof(surface)); // surface ou node?
n->s=s;
n->next=old;
}; |
Partager