37 #pragma package(smart_init)
93 if((type_surface == 2006)||(type_surface == 2003)||(type_surface == 2002))
102 for (
int i =0; i<nb_aretes_boucle;i++)
109 for (
int j =0; j<nb_seg_Aret;j++)
113 liste_seg_Aret.
ajouter(fem_segm);
117 for (
int j =0; j<liste_seg_Aret.
get_nb(); j++)
140 if(Umax>= (7*M_PI )/4) testU = 1;
141 if(((type_surface == 2002)||(type_surface == 2001))&&(Vmax>= (7*M_PI )/4)) testV = 1;
150 for (
int i =0; i<nb_segment;i++)
154 liste_segments_arete.
ajouter(fem_segment);
161 for (
int i =0; i<nb_noeud;i++)
168 int nb_seg = liste_segments_arete.
get_nb();
172 for (
int i =0; i<nb_seg;i++)
183 for (
int j =0; j<liste_segments_arete.
get_nb();j++)
187 for (
int k =0; k<liste_segments_noeud->
get_nb();k++)
190 if (fem_segment_arete==fem_segment_noeud)
192 liste_segments_arete.
supprimer(fem_segment_arete);
196 if(noeud0!=fem_noeud0)
216 if(noeud0!=fem_noeud0)
252 int arete_a_projeter = 0;
254 for(
int co =0; co<nb_coarete;co++)
257 if(coArete1 != coArete)
263 for (
int f =0;
f<nb_face;
f++)
266 if(
faceso[
f] == 1) num_faceid = num_faceid + 1;
267 if(F == Face1 &&
faceso[
f] == 1)
269 arete_a_projeter = 1;
279 for (
int i =0; i<nb_segment;i++)
283 liste_segments_arete.
ajouter(fem_segment);
290 for (
int i =0; i<nb_noeud;i++)
297 int nb_seg = liste_segments_arete.
get_nb();
302 for (
int i =0; i<nb_seg;i++)
307 if(arete_a_projeter == 1)
327 int sommet_a_projeter = 0;
328 int num_faceid_sommet1 = 0;
331 for (
int ii =0; ii<nb_cosommet;ii++)
336 for(
int co =0; co<nb_coarete_sommet1;co++)
339 if(coArete_sommet1 != coArete)
346 num_faceid_sommet1 = 0;
348 for (
int f =0;
f<nb_face;
f++)
351 if(
faceso[
f] == 1) num_faceid_sommet1 = num_faceid_sommet1 + 1;
352 if(F == Face1 &&
faceso[
f] == 1)
354 sommet_a_projeter = 1;
355 goto arete_sommet_projetee;
361 arete_sommet_projetee:
364 if(sommet_a_projeter == 1)
386 for (
int j =0; j<liste_segments_arete.
get_nb();j++)
390 for (
int k =0; k<liste_segments_noeud->
get_nb();k++)
393 if (fem_segment_arete==fem_segment_noeud)
395 liste_segments_arete.
supprimer(fem_segment_arete);
399 if(noeud0!=fem_noeud0)
401 if(arete_a_projeter == 1)
418 int num_faceid_sommet2 = 0;
419 int sommet2_a_projeter = 0;
423 for (
int ii =0; ii<nb_cosommet2;ii++)
428 for(
int co =0; co<nb_coarete_sommet2;co++)
431 if(coArete_sommet2 != coArete)
438 num_faceid_sommet2 = 0;
440 for (
int f =0;
f<nb_face;
f++)
443 if(
faceso[
f] == 1) num_faceid_sommet2 = num_faceid_sommet2 + 1;
444 if(F == Face2 &&
faceso[
f] == 1)
446 sommet2_a_projeter = 1;
447 goto arete_sommet2_projetee;
454 arete_sommet2_projetee:
457 if(sommet2_a_projeter == 1)
490 if(arete_a_projeter == 1)
507 int num_faceid_sommet2 = 0;
508 int sommet2_a_projeter = 0;
512 for (
int ii =0; ii<nb_cosommet2;ii++)
517 for(
int co =0; co<nb_coarete_sommet2;co++)
520 if(coArete_sommet2 != coArete)
527 num_faceid_sommet2 = 0;
529 for (
int f =0;
f<nb_face;
f++)
532 if(
faceso[
f] == 1) num_faceid_sommet2 = num_faceid_sommet2 + 1;
533 if(F == Face2 &&
faceso[
f] == 1)
535 sommet2_a_projeter = 1;
536 goto arete_sommet20_projetee;
543 arete_sommet20_projetee:
546 if(sommet2_a_projeter == 1)
577 if(noeud0!=fem_noeud0)
580 if(arete_a_projeter == 1)
610 int num_faceid_sommet2 = 0;
611 int sommet2_a_projeter = 0;
615 for (
int ii =0; ii<nb_cosommet2;ii++)
620 for(
int co =0; co<nb_coarete_sommet2;co++)
623 if(coArete_sommet2 != coArete)
630 num_faceid_sommet2 = 0;
632 for (
int f =0;
f<nb_face;
f++)
635 if(
faceso[
f] == 1) num_faceid_sommet2 = num_faceid_sommet2 + 1;
636 if(F == Face2 &&
faceso[
f] == 1)
638 sommet2_a_projeter = 1;
639 goto arete_sommet2_projetee_seg3;
646 arete_sommet2_projetee_seg3:
649 if(sommet2_a_projeter == 1)
688 if(arete_a_projeter == 1)
720 int num_faceid_sommet2 = 0;
721 int sommet2_a_projeter = 0;
725 for (
int ii =0; ii<nb_cosommet2;ii++)
730 for(
int co =0; co<nb_coarete_sommet2;co++)
733 if(coArete_sommet2 != coArete)
740 num_faceid_sommet2 = 0;
742 for (
int f =0;
f<nb_face;
f++)
745 if(
faceso[
f] == 1) num_faceid_sommet2 = num_faceid_sommet2 + 1;
746 if(F == Face2 &&
faceso[
f] == 1)
748 sommet2_a_projeter = 1;
749 goto arete_sommet2_projetee_seg32;
756 arete_sommet2_projetee_seg32:
759 if(sommet2_a_projeter == 1)
virtual int get_nb_fem_noeud(void)=0
virtual class FEM_NOEUD * get_fem_noeud(int num)=0
bool contient(MG_IDENTIFICATEUR *id)
MG_GEOMETRIE * get_mg_geometrie(void)
virtual double get_y(double coef=0.)
virtual double get_x(double coef=0.)
TPL_LISTE_ENTITE< class FEM_ELEMENT1 * > * get_lien_element1(void)
virtual double get_z(double coef=0.)
virtual MG_COARETE * get_mg_coarete(int num)
virtual class MG_COSOMMET * get_cosommet2(void)
virtual class MG_COSOMMET * get_cosommet1(void)
virtual int get_nb_mg_coarete(void)
virtual MG_FACE * get_mg_face(void)
virtual MG_COARETE * get_mg_coarete(int num)
virtual int get_nb_mg_coarete(void)
virtual MG_ARETE * get_arete(void)
virtual MG_BOUCLE * get_boucle(void)
virtual MG_SOMMET * get_sommet(void)
virtual MG_ARETE * get_arete(void)
virtual TPL_LISTE_ENTITE< FEM_ELEMENT_MAILLAGE * > * get_lien_fem_maillage(void)
virtual MG_SURFACE * get_surface(void)
unsigned int get_nb_mg_face(void)
MG_FACE * get_mg_face(unsigned int num)
virtual MG_COSOMMET * get_mg_cosommet(int num)
virtual int get_nb_mg_cosommet(void)
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > ¶m)=0
int Ajouter_Point_Arete(double x, double y, double z, int i)
double Analyser_interval_AreteU(double x, double y, double z)
int Ajouter_Arete_Contour(int nb)
double Analyser_interval_AreteV(double x, double y, double z)
int Projeter_Point_Surface_Idealisee(double x, double y, double z, int num)
int Pt_Proj_Surface_Ideal()
int Ajouter_Point_AreteUV(int testU, int testV, double x, double y, double z, int i)
double Pnt_Proj_Surface_Ideal(int ii)
virtual ~REC_ARETE_SPLINE()
REC_ARETE_SPLINE(FEM_MAILLAGE *fem_mai, int Idealise, OCC_FONCTION_RECONSTRUCTION &fonc, int test, int *faces)
void Enregistrer(char *fich)
void Reconstruire(MG_COARETE *coArete, double coef)
FEM_MAILLAGE * fem_maillage
OCC_FONCTION_RECONSTRUCTION & fonction
virtual void ajouter(X x)
virtual void supprimer(X x)
double f(double x, long nb, double *xfonc, double *fonc, double eng, double eni, double lambda, double nor, double *fonc2)