ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/REPOS_ERICCA/magic/lib/geometrie/src/CAD4FE_MCFace.h
Revision: 27
Committed: Thu Jul 5 15:26:40 2007 UTC (17 years, 10 months ago) by foucault
Content type: text/plain
Original Path: magic/lib/geometrie/geometrie/src/CAD4FE_MCFace.h
File size: 1880 byte(s)
Log Message:

File Contents

# User Rev Content
1 foucault 27 #ifndef CAD4FE_MCFaceh
2     #define CAD4FE_MCFaceh
3    
4     //---------------------------------------------------------------------------
5     // include MAGIC Headers
6     #include "gestionversion.h"
7     #include "MG_GEOMETRIE.h"
8     #include "MG_FACE.h"
9     #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     #ifdef BUILT_DLL_GEOMETRIE
23     #define DLLPORTGEOMETRIE __declspec(dllexport)
24     #else
25     #define DLLPORTGEOMETRIE __declspec(dllimport)
26     #endif
27     #else
28     #define DLLPORTGEOMETRIE
29     #endif
30    
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     /** 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    
49     PolySurface * GetPolySurface();
50    
51     virtual void enregistrer(std::ostream& o);
52    
53     /** modification time : represent the last step number
54     * of the MCAA process which created or modified this entity */
55     int time;
56    
57     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     protected:
63     void _CopyRefFaces( MCFace & __src);
64     void _CopyMeshLink( MCFace & __mcFace);
65     };
66    
67     }
68    
69     #endif