1 |
foucault |
27 |
#ifndef CAD4FE_MCFaceh |
2 |
|
|
#define CAD4FE_MCFaceh |
3 |
|
|
|
4 |
|
|
//--------------------------------------------------------------------------- |
5 |
francois |
283 |
// include MAGIC Headers |
6 |
foucault |
27 |
#include "gestionversion.h" |
7 |
francois |
102 |
#include "mg_geometrie.h" |
8 |
|
|
#include "mg_face.h" |
9 |
foucault |
27 |
#include <ot_mathematique.h> |
10 |
|
|
#include "mg_geometrie.h" |
11 |
|
|
#include "mg_face.h" |
12 |
|
|
//--------------------------------------------------------------------------- |
13 |
|
|
|
14 |
|
|
#include <map> |
15 |
|
|
#include <vector> |
16 |
|
|
#include <string> |
17 |
|
|
#include <ostream> |
18 |
|
|
|
19 |
|
|
using namespace std; |
20 |
|
|
|
21 |
|
|
#ifdef WINDOWS_VERSION |
22 |
francois |
283 |
#ifdef BUILT_DLL_GEOMETRIE |
23 |
|
|
#define DLLPORTGEOMETRIE __declspec(dllexport) |
24 |
foucault |
27 |
#else |
25 |
francois |
283 |
#define DLLPORTGEOMETRIE __declspec(dllimport) |
26 |
foucault |
27 |
#endif |
27 |
francois |
283 |
#else |
28 |
|
|
#define DLLPORTGEOMETRIE |
29 |
|
|
#endif |
30 |
foucault |
27 |
|
31 |
|
|
namespace CAD4FE { |
32 |
|
|
|
33 |
|
|
class MCEdge; |
34 |
|
|
class MCVertex; |
35 |
|
|
class PolySurface; |
36 |
|
|
|
37 |
|
|
/** |
38 |
|
|
* This class descibes a MC Face entity |
39 |
|
|
*/ |
40 |
|
|
class DLLPORTGEOMETRIE MCFace : public MG_FACE { |
41 |
|
|
public: |
42 |
francois |
283 |
/** Constructor */ |
43 |
|
|
MCFace( MG_FACE * __mgFace); |
44 |
|
|
MCFace( MCFace & __a, MCFace & __b); |
45 |
|
|
MCFace( std::string & __idOriginal, PolySurface * __polySurface); |
46 |
|
|
MCFace( MCFace & __src); |
47 |
|
|
~MCFace(); |
48 |
foucault |
27 |
|
49 |
francois |
283 |
PolySurface * GetPolySurface(); |
50 |
foucault |
27 |
|
51 |
francois |
283 |
virtual void enregistrer(std::ostream& o); |
52 |
foucault |
27 |
|
53 |
francois |
283 |
/** modification time : represent the last step number |
54 |
|
|
* of the MCAA process which created or modified this entity */ |
55 |
|
|
int time; |
56 |
foucault |
27 |
|
57 |
francois |
283 |
void calcul_normale_unitaire(double *uv, double *xyz) {} |
58 |
|
|
void calcul_normale_unitaire(MG_SOMMET *v, double __n[3], int * __nbRefFace); |
59 |
|
|
void calcul_normale_unitaire(MCVertex * __mcVertex, double __n[3], int *__nbRefFace); |
60 |
|
|
void calcul_normale_unitaire(const std::map<MG_FACE *, OT_VECTEUR_3D > & __tabRefFaceUV, double __n[3], int *__nbRefFace); |
61 |
|
|
|
62 |
foucault |
27 |
protected: |
63 |
francois |
283 |
void _CopyRefFaces( MCFace & __src); |
64 |
|
|
void _CopyMeshLink( MCFace & __mcFace); |
65 |
foucault |
27 |
}; |
66 |
|
|
|
67 |
|
|
} |
68 |
|
|
|
69 |
|
|
#endif |