Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GMESHCLIENT_HXX
00024 #define _GMESHCLIENT_HXX
00025
00026 #include "MEDClient.hxx"
00027
00028 #include <SALOMEconfig.h>
00029 #include <utilities.h>
00030 #include "MEDMEM_GMesh.hxx"
00031 #include CORBA_CLIENT_HEADER(MED)
00032
00033 namespace MEDMEM {
00034 class MESHClient;
00035
00036 class MEDCLIENT_EXPORT GMESHClient : public GMESH
00037 {
00038 private :
00039
00040 const SALOME_MED::GMESH_var IOR_Mesh;
00041
00042 mutable bool _complete;
00043
00044
00045 MESHClient* _uMesh;
00046
00047 public :
00048
00049 GMESHClient(const SALOME_MED::GMESH_ptr m);
00050 virtual bool operator==(const GMESH& other) const;
00051
00052 void blankCopy();
00053 void fillCopy();
00054
00055
00056 virtual void write(int index=0) const;
00057 virtual void write(const GENDRIVER & genDriver,
00058 MED_EN::med_mode_acces medMode=MED_EN::WRONLY) const;
00059 virtual void write(driverTypes driverType,
00060 const std::string& filename,
00061 const std::string& meshname="",
00062 MED_EN::med_mode_acces medMode=MED_EN::WRONLY) const;
00063 virtual void printMySelf(ostream &os) const;
00064
00065 virtual bool isEmpty() const;
00066 virtual bool deepCompare(const GMESH&) const;
00067 virtual int getMeshDimension() const;
00068 virtual bool getIsAGrid() const;
00069 virtual std::string getCoordinatesSystem() const;
00070 virtual const std::string* getCoordinatesNames() const;
00071 virtual const std::string* getCoordinatesUnits() const;
00072 virtual int getNumberOfNodes() const;
00073 virtual int getNumberOfTypes(MED_EN::medEntityMesh) const;
00074 virtual int getNumberOfElements(MED_EN::medEntityMesh, MED_EN::medGeometryElement) const;
00075 virtual const MED_EN::medGeometryElement* getTypes(MED_EN::medEntityMesh) const;
00076 virtual MED_EN::medGeometryElement getElementType(MED_EN::medEntityMesh, int) const;
00077 virtual const MESH* convertInMESH() const;
00078 virtual SUPPORT* getBoundaryElements(MED_EN::medEntityMesh) const throw (MEDEXCEPTION);
00079 virtual SUPPORT* getSkin(const SUPPORT*) throw (MEDEXCEPTION);
00080 virtual SUPPORT* buildSupportOnNodeFromElementList(const std::list<int>&, MED_EN::medEntityMesh) const throw (MEDEXCEPTION);
00081 virtual void fillSupportOnNodeFromElementList(const std::list<int>&, SUPPORT*) const throw (MEDEXCEPTION);
00082 virtual FIELD<double>* getVolume(const SUPPORT*, bool) const throw (MEDEXCEPTION);
00083 virtual FIELD<double>* getArea(const SUPPORT*) const throw (MEDEXCEPTION);
00084 virtual FIELD<double>* getLength(const SUPPORT*) const throw (MEDEXCEPTION);
00085 virtual FIELD<double>* getNormal(const SUPPORT*) const throw (MEDEXCEPTION);
00086 virtual FIELD<double>* getBarycenter(const SUPPORT*) const throw (MEDEXCEPTION);
00087 virtual std::vector<std::vector<double> > getBoundingBox() const;
00088
00089 private:
00090 virtual ~GMESHClient();
00091 };
00092 }
00093
00094 #endif
00095