ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/acismesh/r3d_gene.cpp
Revision: 1
Committed: Mon Jun 11 22:53:07 2007 UTC (17 years, 11 months ago)
File size: 2701 byte(s)
Log Message:

File Contents

# User Rev Content
1 1 /*****************************************************************
2    
3     r3d_gene.c Type:Func
4    
5     Regeneration de l ancien maillage
6    
7     Date de creation : Tue Jul 29 11:41:02 1997
8    
9     Derniere version : Wed Aug 6 14:26:12 1997
10    
11    
12    
13    
14    
15    
16     Vincent FRANCOIS
17    
18     *****************************************************************/
19    
20    
21    
22    
23    
24     /**************************/
25     /* include */
26     #include <stdio.h>
27     #include <string.h>
28     #include <stdlib.h>
29     #include "const.h"
30     #include "memoire.h"
31     #include "struct.h"
32     #include "prototype.h"
33    
34     /**************************/
35     /* variables globales */
36     extern struct environnement env;
37     extern struct s_mesh *mesh;
38     extern struct s_maillage *maillage;
39     extern struct s_acis *acis;
40    
41    
42    
43     /**************************/
44     /* programme principal */
45    
46     void r3d_gene(void)
47     {
48     int i;
49     struct s_octree **liste;
50     int nb_liste=0,nb_segment;
51    
52     liste=(struct s_octree **)calloc(mesh->nb_octree,sizeof(struct s_octree *));
53     ERREUR_ALLOC(liste);
54     NEW_ALLOC(tetra,mesh->);
55     aff_text(R3D_GENE1);
56     /* generation des mailles 1D */
57     /* recuperation des segments non detruit */
58     aff_text(R3D_GENE2);
59     r3d_gene_segment(liste,nb_liste);
60     m1d_enreg();
61     /* maillage des nouveaux vertex */
62     r3d_m0d();
63     m1d_enreg();
64     /* maillage a une tolerance pres des nouvelles edge */
65     r3d_comp_detruit(RETARDE1);
66     aff_text(R3D_GENE3);
67     nb_segment=mesh->nb_segment;
68     r3d_m1d();
69     m1d_enreg();
70     /* lissage des edge */
71     aff_text(R3D_GENE4);
72     m1d_lissage(nb_segment,mesh->nb_segment);
73     m1d_enreg();
74     for (i=mesh->nb_noeud_traite;i<mesh->nb_noeud;i++)
75     oc_ins_obj(NOEUD,i,mesh->first);
76     mesh->nb_noeud_traite=mesh->nb_noeud;
77     /* generation des mailles 2D */
78     r3d_comp_detruit(RETARDE2);
79     aff_text(R3D_GENE5);
80     r3d_gene_triangle();
81     aff_text(R3D_GENE6);
82     m2d_enreg();
83     r3d_m2d(liste);
84     m2d_enreg();
85     /* generation des mailles 3D */
86     if (env.d3==1)
87     {
88     r3d_comp_detruit(RETARDE3);
89     aff_text(R3D_GENE7);
90     r3d_gene_tetra();
91     aff_text(R3D_GENE8);
92     r3d_m3d(liste);
93     m3d_enreg(0);
94     }
95     free(liste);
96     LIBERE(zone,mesh->);
97     }