11 #include "MEDMEM_PointerOf.hxx"
12 #include "MEDMEM_Exception.hxx"
13 #include "MEDMEM_define.hxx"
16 #include "MEDMEM_Array.hxx"
19 This class contains coordinates of the nodes ./n
20 It could also store useful optional information about nodes
21 as node numbers and about axes as names or units. /n
22 spaceDimension and numberOfNodes can be found in _coordinate object.
29 /*! contains "CARTESIAN",
30 "CYLINDRICAL" or "SPHERICAL"*/
31 string _coordinateSystem;
34 /*! _coordinate is a MEDARRAY<double> object : \n
37 - default storage mode /n
38 - Up to 4 "PointerOf" to an array of size spaceDimension*NumberOfNodes/n
40 Storing the object (not a pointer to this object) is more convenient for memory
43 mutable MEDARRAY<double> _coordinate;
45 /*! PointerOf to an array of size spaceDimension storing axes names*/
46 PointerOf<string> _coordinateName;
48 /*! PointerOf to an array of size spaceDimension storing units */
49 PointerOf<string> _coordinateUnit;
51 /*! PointerOf to an array of size NumberOfNodes : optional nodes numbers */
52 PointerOf<int> _nodeNumber;
57 friend class MED_MESH_RDONLY_DRIVER;
58 friend class MED_MESH_WRONLY_DRIVER;
62 COORDINATE(int SpaceDimension, int NumberOfNodes, medModeSwitch Mode);
63 COORDINATE(const COORDINATE & m);
64 virtual ~COORDINATE();
66 void setCoordinates(MEDARRAY<double> *Coordinate);
67 void setCoordinates(const medModeSwitch Mode, const double *Coordinate);
68 void setCoordinatesNames(const string * CoordinateName);
69 void setCoordinateName(const string CoordinateName, const int i);
70 void setCoordinatesUnits(const string * CoordinateUnit);
71 void setCoordinateUnit(const string CoordinateUnit, const int i);
72 void setCoordinatesSystem(const string CoordinateSystem);
73 void setNodesNumbers(const int * NodeNumber);
75 int getSpaceDimension() const;
76 int getNumberOfNodes() const;
78 virtual const int* getNodesNumbers() const;
79 //const int* getNodesNumbers() ;
80 string getCoordinatesSystem() const;
82 virtual const double * getCoordinates(medModeSwitch Mode);
83 virtual double getCoordinate(int Number,int Axis);
84 virtual const double * getCoordinateAxis(int Axis);
86 const string * getCoordinatesNames() const;
87 string getCoordinateName(int Axis) const;
88 const string * getCoordinatesUnits() const;
89 string getCoordinateUnit(int Axis) const;
92 #endif /* COORDINATE_HXX */