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 _SMESH_QUADRANGLEPARAMS_HXX_
00024 #define _SMESH_QUADRANGLEPARAMS_HXX_
00025
00026 #include "SMESH_StdMeshers.hxx"
00027
00028 #include "SMESH_Hypothesis.hxx"
00029 #include "Utils_SALOME_Exception.hxx"
00030
00031 enum StdMeshers_QuadType
00032 {
00033 QUAD_STANDARD,
00034 QUAD_TRIANGLE_PREF,
00035 QUAD_QUADRANGLE_PREF,
00036 QUAD_QUADRANGLE_PREF_REVERSED,
00037 QUAD_REDUCED,
00038 QUAD_NB_TYPES
00039 };
00040
00041 class STDMESHERS_EXPORT StdMeshers_QuadrangleParams:
00042 public SMESH_Hypothesis
00043 {
00044 public:
00045 StdMeshers_QuadrangleParams(int hypId, int studyId, SMESH_Gen* gen);
00046 virtual ~StdMeshers_QuadrangleParams();
00047
00048 void SetTriaVertex (int id);
00049 int GetTriaVertex() const { return _triaVertexID; }
00050
00051 void SetObjectEntry (const char* entry) { _objEntry = entry; }
00052 const char* GetObjectEntry() { return _objEntry.c_str(); }
00053
00054 void SetQuadType (StdMeshers_QuadType type);
00055 StdMeshers_QuadType GetQuadType() const { return _quadType; }
00056
00057 virtual std::ostream & SaveTo(std::ostream & save);
00058 virtual std::istream & LoadFrom(std::istream & load);
00059 friend std::ostream& operator << (std::ostream & save,
00060 StdMeshers_QuadrangleParams & hyp);
00061 friend std::istream& operator >> (std::istream & load,
00062 StdMeshers_QuadrangleParams & hyp);
00063
00070 virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh,
00071 const TopoDS_Shape& theShape);
00072
00077 virtual bool SetParametersByDefaults(const TDefaults& dflts,
00078 const SMESH_Mesh* theMesh=0);
00079
00080 protected:
00081 int _triaVertexID;
00082 std::string _objEntry;
00083 StdMeshers_QuadType _quadType;
00084 };
00085
00086 #endif