Salome HOME
Version ok de MED avec MEDGUI.
[modules/med.git] / src / MEDMEM / MEDMEM_Coordinate.hxx
1 /*
2  File Coordinate.hxx
3  $Header$
4 */
5
6 #ifndef COORDINATE_HXX
7 #define COORDINATE_HXX
8
9 #include <string>
10
11 #include "MEDMEM_Exception.hxx"
12 #include "MEDMEM_define.hxx"
13 //using namespace MED_EN;
14
15
16 #include "MEDMEM_Array.hxx"
17
18 class COORDINATE {
19
20 protected:
21                                     /*! contains "CARTESIAN",
22                                         "CYLINDRICAL" or "SPHERICAL"*/
23   string            _coordinateSystem;
24
25   // all in _coordinate object !!!
26   //  int               _spaceDimension;
27   //  int               _numberOfNodes;
28
29                                      /*! array of size spaceDimension*NumberOfNodes */
30   MEDARRAY<double>* _coordinate;     
31                                      /*! array of size spaceDimension */
32   string *          _coordinateName; 
33                                      /*! array of size spaceDimension */
34   string *          _coordinateUnit; 
35                                      /*! array of size NumberOfNodes : optionnal nodes numbers */
36   int    *          _nodeNumber;     
37
38 public :
39
40   friend class MED_MESH_RDONLY_DRIVER;
41   friend class MED_MESH_WRONLY_DRIVER;
42
43
44   COORDINATE();
45   COORDINATE(medModeSwitch Mode,int SpaceDimension, int NumberOfNodes);
46   ~COORDINATE();
47
48   void setCoordinates(MEDARRAY<double> *Coordinate);
49   void setCoordinatesNames(string * CoordinateName);
50   void setCoordinatesUnits(string * CoordinateUnit);
51   void setNodesNumbers(int * NodeNumber);
52
53   int*            getNodesNumbers() const;
54   string          getCoordinatesSystem() const;
55   const double *  getCoordinates(medModeSwitch Mode);
56   double          getCoordinate(int Number,int Axis); 
57   // return coordinate of node number Number, on axis Axis (1: X, 2: Y, 3: Z)
58   const double * getCoordinateAxis(int Axis); 
59   // return all nodes coordinates from axis Axis
60   string * getCoordinatesNames(); 
61   string   getCoordinateName(int Axis);
62   string * getCoordinatesUnits();
63   string   getCoordinateUnit(int Axis);
64 };
65
66 #endif /* COORDINATE_HXX */