MAGiC  V5.0
Mailleurs Automatiques de Géometries intégrés à la Cao
CAD4FE_MCTriangle.h
Aller à la documentation de ce fichier.
1 //####//------------------------------------------------------------
2 //####//------------------------------------------------------------
3 //####// MAGiC
4 //####// Jean Christophe Cuilliere et Vincent FRANCOIS
5 //####// Departement de Genie Mecanique - UQTR
6 //####//------------------------------------------------------------
7 //####// MAGIC est un projet de recherche de l equipe ERICCA
8 //####// du departement de genie mecanique de l Universite du Quebec a Trois Rivieres
9 //####// http://www.uqtr.ca/ericca
10 //####// http://www.uqtr.ca/
11 //####//------------------------------------------------------------
12 //####//------------------------------------------------------------
13 //####//
14 //####// CAD4FE_MCTriangle.h
15 //####//
16 //####//------------------------------------------------------------
17 //####//------------------------------------------------------------
18 //####// COPYRIGHT 2000-2024
19 //####// jeu 13 jun 2024 11:58:56 EDT
20 //####//------------------------------------------------------------
21 //####//------------------------------------------------------------
22 
23 #ifndef CAD4FE_MCTriangleH
24 #define CAD4FE_MCTriangleH
25 
26 
27 #include "CAD4FE_Mesher_platform.h"
28 #include "mg_triangle.h"
29 
30 
32 
33 
34 namespace CAD4FE {
35 
36 class MCSegment;
37 class MCNode;
38 
39 class MCTriangle : public MG_TRIANGLE {
40 public:
41 MCTriangle(unsigned long num,MG_ELEMENT_TOPOLOGIQUE* topo, MCNode *mgnoeud1, MCNode *mgnoeud2, MCNode *mgnoeud3, MCSegment* mgsegment1, MCSegment* mgsegment2, MCSegment* mgsegment3 );
42 MCTriangle(MG_ELEMENT_TOPOLOGIQUE* topo, MCNode *mgnoeud1, MCNode *mgnoeud2, MCNode *mgnoeud3, MCSegment* mgsegment1, MCSegment* mgsegment2, MCSegment* mgsegment3);
44 virtual ~MCTriangle();
45 virtual void enregistrer(std::ostream& o,double version);
46 
47 void Tessellate(unsigned __nbPtsPerSegment, std::vector <MCNode *> & __result, std::vector <unsigned> & __indexedTriangleSet);
48 void evaluer_geo(double __uv[2], MCNode * __result, double * tangent_u, double * tangent_v);
49 MCSegment * evaluer_geo_isoparam_u(double __u);
50 void inverser_geo(double __uv[2], MCNode * __result);
51 void evaluer_geo(MCSegment ** B2C2, MCSegment ** B3C3, double __du, double __uv[2], MCNode * __P, double * tangent_u, double * tangent_v);
52 
53 void evaluer_euc(double __uv[2], double * __result, double * tangent_u, double * tangent_v);
54 
55 int ComputeIndexNodeA();
56 MCNode * GetRefNode(int __index);
57 MCSegment * GetRefSegment(int __index);
58 void SetSaveFormat(char __format);
59 
60 protected:
63 };
64 
65 }
66 
67 
68 #endif
69 
70 
MCSegment * evaluer_geo_isoparam_u(double __u)
MCNode * GetRefNode(int __index)
void Tessellate(unsigned __nbPtsPerSegment, std::vector< MCNode * > &__result, std::vector< unsigned > &__indexedTriangleSet)
void evaluer_euc(double __uv[2], double *__result, double *tangent_u, double *tangent_v)
void SetSaveFormat(char __format)
virtual void enregistrer(std::ostream &o, double version)
MCTriangle(unsigned long num, MG_ELEMENT_TOPOLOGIQUE *topo, MCNode *mgnoeud1, MCNode *mgnoeud2, MCNode *mgnoeud3, MCSegment *mgsegment1, MCSegment *mgsegment2, MCSegment *mgsegment3)
void inverser_geo(double __uv[2], MCNode *__result)
void evaluer_geo(double __uv[2], MCNode *__result, double *tangent_u, double *tangent_v)
MCSegment * GetRefSegment(int __index)