81 for (
int i=0;i<nb;i++)
99 for (
int iplan=0;iplan<2;iplan++)
103 for (
int i=0;i<nbarete;i++)
118 int nbseg=difft/2./M_PI*4.;
122 for (
int j=0;j<nbseg-1;j++)
124 double t=t1+(j+1)*1.0/nbseg*difft;
129 segment_plan[iplan].
ajouter(seg);
134 segment_plan[iplan].
ajouter(seg);
139 for (
int icyl=0;icyl<numcyl;icyl++)
143 for (
int i=0;i<nbcoarete;i++)
145 int nbarete=listare.
get_nb();
146 for (
int i=0;i<nbarete;i++)
155 int nbseg=longueur/longref+1;
165 for (
int j=0;j<nbseg-1;j++)
167 double t=t1+(j+1)*1.0/nbseg*(t2-t1);
172 segment_generatrice[icyl].
ajouter(seg);
176 segment_generatrice[icyl].
ajouter(seg);
181 for (
int iplan=0;iplan<2;iplan++)
193 for (
int i=0;i<4;i++)
194 segaextruder[i]=segment_plan[0].get(i);
195 for (
int i=0;i<segment_generatrice[0].
get_nb();i++)
198 MG_SEGMENT* segextrudernier=segment_generatrice[0].
get(segment_generatrice[0].get_nb()-i-1);
205 if (segaextruder[0]->get_noeud1()==segextrupremier->
get_noeud1())
208 segextru=segextrupremier;
213 if (segaextruder[0]->get_noeud1()==segextrupremier->
get_noeud2())
216 segextru=segextrupremier;
221 if (segaextruder[0]->get_noeud1()==segextrudernier->
get_noeud1())
224 segextru=segextrudernier;
229 if (segaextruder[0]->get_noeud1()==segextrudernier->
get_noeud2())
232 segextru=segextrudernier;
237 if (segaextruder[0]->get_noeud2()==segextrupremier->
get_noeud1())
240 segextru=segextrupremier;
245 if (segaextruder[0]->get_noeud2()==segextrupremier->
get_noeud2())
248 segextru=segextrupremier;
253 if (segaextruder[0]->get_noeud2()==segextrudernier->
get_noeud1())
256 segextru=segextrudernier;
261 if (segaextruder[0]->get_noeud2()==segextrudernier->
get_noeud2())
264 segextru=segextrudernier;
269 if (segaextruder[1]->get_noeud1()==no2)
273 if (segaextruder[2]->get_noeud1()==no3)
284 if (i!=segment_generatrice[0].get_nb()-1)
287 if (segment_generatrice[1].get_nb()!=0) no7=segment_generatrice[0].
get(i)->
get_noeud2();
303 if (segment_plan[1].get(0)->get_noeud1()==no5) no6=segment_plan[1].
get(0)->
get_noeud2();
else no6=segment_plan[1].
get(0)->
get_noeud1();
304 if (segment_plan[1].get(1)->get_noeud1()==no6) no7=segment_plan[1].
get(1)->
get_noeud2();
else no7=segment_plan[1].
get(1)->
get_noeud1();
305 if (segment_plan[1].get(2)->get_noeud1()==no7) no8=segment_plan[1].
get(2)->
get_noeud2();
else no7=segment_plan[1].
get(2)->
get_noeud1();
316 if (segment_generatrice[1].get_nb()!=0) numcourcyl=1;
368 double t=0.5*(t1+t2);
384 uv[0]=M_PI/2.;uv[1]=0.;
433 double uv[3],nxyz[3];
439 double ps=normal*dir;
virtual class MG_TETRA * insere_tetra(class MG_ELEMENT_TOPOLOGIQUE *mgvol, class MG_FRONT_3D *ft, MG_NOEUD *noeud4, int type, TPL_MAP_ENTITE< class MG_TRIANGLE * > &liste_intersection)
virtual class MG_TRIANGLE * insere_triangle(class MG_ELEMENT_TOPOLOGIQUE *mgvol, MG_NOEUD *noeud1, MG_NOEUD *noeud2, MG_NOEUD *noeud3, int origine)
MG_MAILLAGE * mg_maillage
virtual int maille(MG_GROUPE_TOPOLOGIQUE *mggt=NULL)
virtual ~MAILLEUR_PARTICULE_FINE()
MAILLEUR_PARTICULE_FINE(MG_VOLUME *vol, MG_MAILLAGE *mai)
virtual void maille_cylindre(void)
virtual void maille_sphere(void)
virtual void oriente_tet(MG_TETRA *tet)
virtual void oriente_tri(MG_TRIANGLE *tri)
virtual void active_type_particule(int num)
virtual double get_tmax(void)
virtual double get_tmin(void)
virtual class MG_COURBE * get_courbe(void)
virtual class MG_COSOMMET * get_cosommet2(void)
virtual class MG_COSOMMET * get_cosommet1(void)
virtual MG_COARETE * get_mg_coarete(int num)
virtual int get_nb_mg_coarete(void)
virtual MG_ARETE * get_arete(void)
virtual MG_FACE * get_face(void)
virtual MG_COFACE * get_mg_coface(int num)
virtual int get_nb_mg_coface(void)
virtual MG_SOMMET * get_sommet(void)
virtual void evaluer(double t, double *xyz)=0
virtual void inverser(double &t, double *xyz, double precision=1e-6)=0
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > ¶m)=0
virtual double get_periode(void)=0
MG_ELEMENT_TOPOLOGIQUE * get_lien_topologie(void)
virtual TPL_SET< MG_ELEMENT_MAILLAGE * > * get_lien_maillage(void)
virtual void evaluer(double *uv, double *xyz)
virtual MG_SURFACE * get_surface(void)
virtual MG_BOUCLE * get_mg_boucle(int num)
MG_SEGMENT * get_mg_segment(unsigned int num)
MG_SEGMENT * ajouter_mg_segment(MG_ELEMENT_TOPOLOGIQUE *topo, class MG_NOEUD *mgnoeud1, class MG_NOEUD *mgnoeud2, int origine, double longue=0.0, unsigned long num=0)
MG_NOEUD * ajouter_mg_noeud(MG_ELEMENT_TOPOLOGIQUE *topo, double xx, double yy, double zz, int origine, unsigned long num=0)
virtual double * get_coord(void)
virtual void evaluer(double *xyz)=0
virtual MG_NOEUD * get_noeud1(void)
virtual double get_longueur(void)
virtual MG_NOEUD * get_noeud2(void)
virtual MG_POINT * get_point(void)
virtual int get_type_geometrique(TPL_LISTE_ENTITE< double > ¶m)=0
virtual MG_NOEUD * get_noeud1(void)
virtual void inverse_sens(void)
virtual MG_NOEUD * get_noeud2(void)
virtual MG_NOEUD * get_noeud4(void)
virtual MG_NOEUD * get_noeud3(void)
virtual void inverse_sens(void)
virtual MG_NOEUD * get_noeud3(void)
virtual MG_NOEUD * get_noeud1(void)
virtual MG_NOEUD * get_noeud2(void)
virtual MG_COQUILLE * get_mg_coquille(int num)
virtual void get_topologie_sousjacente(TPL_MAP_ENTITE< MG_ELEMENT_TOPOLOGIQUE * > *lst)
virtual double * get_xyz(void)
virtual double get_longueur(void) const
virtual void ajouter(X x)
virtual X get_premier(ITERATEUR &it)
virtual X get_suivant(ITERATEUR &it)
virtual void ajouter(X x)