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

# Content
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 }