16#ifndef Triangle_included
17#define Triangle_included
19#include <Elem_geom_base.h>
29template <
typename _SIZE_>
49 inline int nb_som()
const override {
return 3; }
72inline double aire_triangle(
const DoubleTab& pos)
80 double dz = (x1-x0)*(y2-y0) - (x2-x0)*(y1-y0);
82 return 0.5 * std::fabs(dz);
88 double dx = (y1-y0)*(z2-z0) - (y2-y0)*(z1-z0);
89 double dy = (z1-z0)*(x2-x0) - (x1-x0)*(z2-z0);
90 return 0.5 * sqrt(dx*dx+dy*dy+dz*dz);
100template <
typename _SIZE_>
122template <
typename _SIZE_>
135template <
typename _SIZE_>
148template <
typename _SIZE_>
162template <
typename _SIZE_>
176template <
typename _SIZE_>
192template <
typename _SIZE_>
196 return Type_Face::segment_2D;
classe Domaine_32_64 un Domaine est un maillage compose d'un ensemble d'elements geometriques de meme...
Classe Elem_geom_base Cette classe est la classe de base pour la definition d'elements.
class Nom Une chaine de caractere pour nommer les objets de TRUST
Classe Triangle Cette classe represente l'element geometrique Triangle.
int nb_faces(int=0) const override
Renvoie le nombre de faces du type specifie que possede l'element geometrique.
Domaine_32_64< _SIZE_ > Domaine_t
int nb_som() const override
Nb of vertices for the element.
int nb_som_face(int=0) const override
Renvoie le nombre de sommets des faces du type specifie.
SmallArrOfTID_T< _SIZE_ > SmallArrOfTID_t
Type_Face type_face(int=0) const override
Renvoie le i-ieme type de face.
IntTab_T< _SIZE_ > IntTab_t
int contient(const SmallArrOfTID_t &soms, int_t elem) const override
Renvoie 1 si les sommets specifies par le parametre "pos" sont les sommets de l'element "element" du ...
int get_tab_faces_sommets_locaux(IntTab &faces_som_local) const override
voir ElemGeomBase::get_tab_faces_sommets_locaux
int face_sommet2(int i) const
Renvoie le numero du i-ieme sommet de la face 2.
int face_sommet1(int i) const
Renvoie le numero du i-ieme sommet de la face 1.
DoubleVect_T< _SIZE_ > DoubleVect_t
int face_sommet0(int i) const
Renvoie le numero du i-ieme sommet de la face 0.
DoubleTab_T< _SIZE_ > DoubleTab_t
void calculer_normales(const IntTab_t &faces_sommets, DoubleTab_t &face_normales) const override
Calcule les normales aux faces des elements du domaine associe.
void calculer_volumes(DoubleVect_t &vols) const override
Calcule les volumes des elements du domaine associe.
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.
const Nom & nom_lml() const override
Renvoie le nom LML d'un triangle = "PRISM6".
bool est_structure() const override
int face_sommet(int i, int j) const override
Renvoie le numero du j-ieme sommet de la i-ieme face de l'element.