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
00028 #ifndef _SMESH_ProjectionSource2D_HXX_
00029 #define _SMESH_ProjectionSource2D_HXX_
00030
00031 #include "SMESH_StdMeshers.hxx"
00032
00033 #include "SMESH_Hypothesis.hxx"
00034 #include "Utils_SALOME_Exception.hxx"
00035
00036 #include <TopoDS_Vertex.hxx>
00037
00038 class SMESH_Gen;
00039
00040
00046
00047
00048 class STDMESHERS_EXPORT StdMeshers_ProjectionSource2D: public SMESH_Hypothesis
00049 {
00050 public:
00051
00052 StdMeshers_ProjectionSource2D( int hypId, int studyId, SMESH_Gen * gen );
00053
00054 virtual ~StdMeshers_ProjectionSource2D();
00055
00059 void SetSourceFace(const TopoDS_Shape& face)
00060 throw ( SALOME_Exception );
00061
00065 TopoDS_Shape GetSourceFace() const;
00066
00070 bool IsCompoundSource() const
00071 { return !_sourceFace.IsNull() && _sourceFace.ShapeType() == TopAbs_COMPOUND; }
00072
00076 void SetSourceMesh(SMESH_Mesh* mesh);
00077
00081 SMESH_Mesh* GetSourceMesh() const { return _sourceMesh; }
00082
00088 void SetVertexAssociation(const TopoDS_Shape& sourceVertex1,
00089 const TopoDS_Shape& sourceVertex2,
00090 const TopoDS_Shape& targetVertex1,
00091 const TopoDS_Shape& targetVertex2)
00092 throw ( SALOME_Exception );
00093
00099 TopoDS_Vertex GetSourceVertex(int i) const throw ( SALOME_Exception );
00100
00106 TopoDS_Vertex GetTargetVertex(int i) const throw ( SALOME_Exception );
00107
00112 bool HasVertexAssociation() const
00113 { return ( !_sourceVertex1.IsNull() && !_targetVertex1.IsNull() &&
00114 !_sourceVertex2.IsNull() && !_targetVertex2.IsNull()); }
00115
00119 void GetStoreParams(TopoDS_Shape& s1,
00120 TopoDS_Shape& s2,
00121 TopoDS_Shape& s3,
00122 TopoDS_Shape& s4,
00123 TopoDS_Shape& s5) const;
00124
00128 void RestoreParams(const TopoDS_Shape& s1,
00129 const TopoDS_Shape& s2,
00130 const TopoDS_Shape& s3,
00131 const TopoDS_Shape& s4,
00132 const TopoDS_Shape& s5,
00133 SMESH_Mesh* mesh);
00134
00135 virtual std::ostream & SaveTo(std::ostream & save);
00136 virtual std::istream & LoadFrom(std::istream & load);
00137 friend std::ostream & operator <<(std::ostream & save, StdMeshers_ProjectionSource2D & hyp);
00138 friend std::istream & operator >>(std::istream & load, StdMeshers_ProjectionSource2D & hyp);
00139
00148 virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
00149
00154 virtual bool SetParametersByDefaults(const TDefaults& dflts, const SMESH_Mesh* theMesh=0);
00155
00156 protected:
00157
00158 TopoDS_Shape _sourceFace;
00159 SMESH_Mesh* _sourceMesh;
00160 TopoDS_Vertex _sourceVertex1;
00161 TopoDS_Vertex _sourceVertex2;
00162 TopoDS_Vertex _targetVertex1;
00163 TopoDS_Vertex _targetVertex2;
00164 };
00165
00166 #endif
00167