X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_i.cxx;h=20104d9c8755a58f82e984fff2825fbaef6731c5;hb=43db13f33a1d75fae36db8f06fa378ed7906a332;hp=510cc91d1993c393d85b14447be0e81df3f26244;hpb=2c607013a23bd4e7ba07e72e0c04dee2c1209cff;p=modules%2Fsmesh.git diff --git a/src/StdMeshers_I/StdMeshers_i.cxx b/src/StdMeshers_I/StdMeshers_i.cxx index 510cc91d1..20104d9c8 100644 --- a/src/StdMeshers_I/StdMeshers_i.cxx +++ b/src/StdMeshers_I/StdMeshers_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -41,7 +41,7 @@ #include "StdMeshers_Propagation_i.hxx" #include "StdMeshers_LengthFromEdges_i.hxx" #include "StdMeshers_QuadranglePreference_i.hxx" -#include "StdMeshers_TrianglePreference_i.hxx" +//#include "StdMeshers_TrianglePreference_i.hxx" #include "StdMeshers_QuadraticMesh_i.hxx" #include "StdMeshers_MaxElementArea_i.hxx" #include "StdMeshers_MaxElementVolume_i.hxx" @@ -58,6 +58,7 @@ #include "StdMeshers_QuadrangleParams_i.hxx" #include "StdMeshers_ImportSource1D_i.hxx" #include "StdMeshers_ImportSource2D_i.hxx" +#include "StdMeshers_Cartesian_3D_i.hxx" #include "StdMeshers_Regular_1D_i.hxx" #include "StdMeshers_MEFISTO_2D_i.hxx" @@ -72,13 +73,37 @@ #include "StdMeshers_Import_1D_i.hxx" #include "StdMeshers_Import_1D2D_i.hxx" #include "StdMeshers_ViscousLayers_i.hxx" +#include "StdMeshers_CartesianParameters3D_i.hxx" template class StdHypothesisCreator_i:public HypothesisCreator_i { +public: // as we have 'module StdMeshers' in SMESH_BasicHypothesis.idl virtual std::string GetModuleName() { return "StdMeshers"; } }; +//============================================================================= +/*! + * \brief Creates StdMeshers_QuadrangleParams_i instead of + * StdMeshers_TrianglePreference_i and StdMeshers_QuadranglePreference_i + */ +//============================================================================= + +template +class QuadrangleParamsCreator : public StdHypothesisCreator_i +{ +public: + virtual SMESH_Hypothesis_i* Create (PortableServer::POA_ptr thePOA, + int theStudyId, + ::SMESH_Gen* theGenImpl) + { + StdMeshers_QuadrangleParams_i* h = + new StdMeshers_QuadrangleParams_i( thePOA, theStudyId, theGenImpl); + h->SetQuadType( TYPE ); + return h; + } +}; + //============================================================================= /*! * @@ -122,9 +147,12 @@ STDMESHERS_I_EXPORT else if (strcmp(aHypName, "AutomaticLength") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "QuadranglePreference") == 0) + // do not convert to StdMeshers_QuadrangleParams_i as it is used by NETGEN 2D aCreator = new StdHypothesisCreator_i; + //aCreator = new QuadrangleParamsCreator< StdMeshers::QUAD_QUADRANGLE_PREF >(); else if (strcmp(aHypName, "TrianglePreference") == 0) - aCreator = new StdHypothesisCreator_i; + //aCreator = new StdHypothesisCreator_i; + aCreator = new QuadrangleParamsCreator< StdMeshers::QUAD_TRIANGLE_PREF >(); else if (strcmp(aHypName, "QuadraticMesh") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "ProjectionSource3D") == 0) @@ -151,6 +179,8 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "ViscousLayers") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "CartesianParameters3D") == 0) + aCreator = new StdHypothesisCreator_i; // Algorithms else if (strcmp(aHypName, "Regular_1D") == 0) @@ -163,6 +193,8 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Projection_1D") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "Projection_1D2D") == 0) + aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Projection_2D") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Projection_3D") == 0) @@ -185,6 +217,8 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Import_1D2D") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "Cartesian_3D") == 0) + aCreator = new StdHypothesisCreator_i; else ; return aCreator;