26static int faces_sommets_segment[2][1] =
29template <
typename _SIZE_>
35template <
typename _SIZE_>
44template <
typename _SIZE_>
52 const int_t nb_elem=domaine.nb_elem();
53 for (
int_t num_poly=0; num_poly<nb_elem; num_poly++)
56 S[i] = elem(num_poly,i);
58 if(sup_strict(dom.
coord(S[0], 0),dom.
coord(S[1], 0)))
66 elem(num_poly, i)=S[i];
75template <
typename _SIZE_>
78 static Nom nom=
"SEGMENT";
94template <
typename _SIZE_>
99 const Domaine_t& domaine=mon_dom.valeur();
101 const IntTab_t& elem=domaine.les_elems();
106 double O1 = dom.
coord(elem(element,1), d) - dom.
coord(elem(element,0), d);
107 double OM = pos[d] - dom.
coord(elem(element,0), d);
114 if (autre_a>0 && !est_egal(a, autre_a))
return 0;
117 else if (!est_egal(OM,0))
return 0;
131template <
typename _SIZE_>
135 const Domaine_t& domaine=mon_dom.valeur();
136 if((domaine.sommet_elem(element,0)==pos[0])&&
137 (domaine.sommet_elem(element,1)==pos[1]))
147template <
typename _SIZE_>
150 const Domaine_t& domaine=mon_dom.valeur();
155 int_t size_tot = domaine.nb_elem_tot();
157 for (
int_t num_poly=0; num_poly<size_tot; num_poly++)
159 S1 = domaine.sommet_elem(num_poly,0);
160 S2 = domaine.sommet_elem(num_poly,1);
167 volumes[num_poly]= sqrt(dx);
173template <
typename _SIZE_>
176 faces_som_local.
resize(2,1);
177 for (
int j=0; j<2; j++)
178 faces_som_local(j,0) = faces_sommets_segment[j][0];
double coord(int_t i, int j) const
Classe Elem_geom_base Cette classe est la classe de base pour la definition d'elements.
Class defining operators and methods for all reading operation in an input flow (file,...
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
static double precision_geom
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Classe Segment Cette classe represente l'element geometrique segment.
int get_tab_faces_sommets_locaux(IntTab &faces_som_local) const override
voir ElemGeomBase::get_tab_faces_sommets_locaux
void calculer_volumes(DoubleVect_t &vols) const override
Calcule les volumes des elements du domaine associe.
const Nom & nom_lml() const override
Renvoie le nom LML d'un triangle = "VOXEL8".
SmallArrOfTID_T< _SIZE_ > SmallArrOfTID_t
IntTab_T< _SIZE_ > IntTab_t
DoubleVect_T< _SIZE_ > DoubleVect_t
int contient(const ArrOfDouble &pos, int_t elem) const override
Renvoie 1 si l'element ielem du domaine associe a l'element geometrique contient le point.
void reordonner() override
Reordonne les sommets du segment.
Domaine_32_64< _SIZE_ > Domaine_t
Classe de base des flux de sortie.
_SIZE_ size_array() const
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
_SIZE_ size_totale() const