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 #ifndef _SMESH_Import_1D_HXX_
00027 #define _SMESH_Import_1D_HXX_
00028
00029 #include "SMESH_StdMeshers.hxx"
00030
00031 #include "SMESH_1D_Algo.hxx"
00032 #include "SMDS_MeshElement.hxx"
00033
00034 class StdMeshers_ImportSource1D;
00035
00039 class STDMESHERS_EXPORT StdMeshers_Import_1D: public SMESH_1D_Algo
00040 {
00041 public:
00042 StdMeshers_Import_1D(int hypId, int studyId, SMESH_Gen* gen);
00043
00044 virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
00045 const TopoDS_Shape& aShape,
00046 SMESH_Hypothesis::Hypothesis_Status& aStatus);
00047
00048 virtual bool Compute (SMESH_Mesh & aMesh, const TopoDS_Shape & aShape);
00049 virtual bool Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape,
00050 MapShapeNbElems& aResMap);
00051
00052 virtual void SetEventListener(SMESH_subMesh* subMesh);
00053 virtual void SubmeshRestored(SMESH_subMesh* subMesh);
00054
00055
00056
00057 typedef std::map<const SMDS_MeshNode*, const SMDS_MeshNode*, TIDCompare> TNodeNodeMap;
00058 typedef std::map<const SMDS_MeshElement*,const SMDS_MeshElement*,TIDCompare> TElemElemMap;
00059
00060 static void getMaps(const SMESH_Mesh* srcMesh,
00061 SMESH_Mesh* tgtMesh,
00062 TNodeNodeMap*& n2n,
00063 TElemElemMap*& e2e);
00064
00065 static void importMesh(const SMESH_Mesh* srcMesh,
00066 SMESH_Mesh & tgtMesh,
00067 StdMeshers_ImportSource1D* srcHyp,
00068 const TopoDS_Shape& tgtShape);
00069
00070 static void setEventListener( SMESH_subMesh* subMesh,
00071 StdMeshers_ImportSource1D* sourceHyp );
00072
00073 static SMESH_subMesh* getSubMeshOfCopiedMesh( SMESH_Mesh& tgtMesh,
00074 SMESH_Mesh& srcMesh );
00075
00076 private:
00077
00078 StdMeshers_ImportSource1D* _sourceHyp;
00079 };
00080
00081 #endif