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
00024
00025
00026
00027 #ifndef _StdMeshers_ImportSource_HXX_
00028 #define _StdMeshers_ImportSource_HXX_
00029
00030 #include "SMESH_StdMeshers.hxx"
00031
00032 #include "SMESH_Hypothesis.hxx"
00033 #include "Utils_SALOME_Exception.hxx"
00034
00035 #include <vector>
00036 #include <map>
00037
00038 class SMESH_Group;
00039 class SMESHDS_Mesh;
00040
00041
00045
00046
00047 class STDMESHERS_EXPORT StdMeshers_ImportSource1D : public SMESH_Hypothesis
00048 {
00049 public:
00050 StdMeshers_ImportSource1D(int hypId, int studyId, SMESH_Gen * gen);
00051 virtual ~ StdMeshers_ImportSource1D();
00052
00053 void SetGroups(const std::vector<SMESH_Group*>& groups);
00054 const std::vector<SMESH_Group*>& GetGroups() const;
00055
00056 void SetCopySourceMesh(bool toCopyMesh, bool toCopyGroups);
00057 void GetCopySourceMesh(bool& toCopyMesh, bool& toCopyGroups) const;
00058
00059 virtual std::ostream & SaveTo(std::ostream & save);
00060 virtual std::istream & LoadFrom(std::istream & load);
00061 virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
00062 virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
00063 void RestoreGroups(const std::vector<SMESH_Group*>& groups);
00064
00065 void StoreResultGroups(const std::vector<SMESH_Group*>& groups,
00066 const SMESHDS_Mesh& srcMesh,
00067 const SMESHDS_Mesh& tgtMesh);
00068 std::vector<SMESH_Group*>* GetResultGroups(const SMESHDS_Mesh& srcMesh,
00069 const SMESHDS_Mesh& tgtMesh);
00070
00071 std::vector<SMESH_Mesh*> GetSourceMeshes() const;
00072
00073 private:
00074
00075 std::vector<SMESH_Group*> _groups;
00076 bool _toCopyMesh, _toCopyGroups;
00077
00078
00079 typedef std::map< std::pair<int, int>, std::vector<SMESH_Group*> > TResGroupMap;
00080 TResGroupMap _resultGroups;
00081 std::vector<int> _resultGroupsStorage;
00082
00083 void resultGroupsToIntVec();
00084 };
00085
00086
00090
00091
00092 class STDMESHERS_EXPORT StdMeshers_ImportSource2D : public StdMeshers_ImportSource1D
00093 {
00094 public:
00095 StdMeshers_ImportSource2D(int hypId, int studyId, SMESH_Gen * gen);
00096 };
00097 #endif