X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers_I%2FStdMeshers_i.cxx;h=9c62d7dd0e8795f4451bab1947250816e2965f0b;hp=bdfcb2fc8d3256e92a57b05d1857dea02e2ef36c;hb=a274ade365bd0f0e19d56c577acc4a13aa1972a7;hpb=f34590a67f2edb641d0842156e1b2f41a57b192f diff --git a/src/StdMeshers_I/StdMeshers_i.cxx b/src/StdMeshers_I/StdMeshers_i.cxx index bdfcb2fc8..9c62d7dd0 100644 --- a/src/StdMeshers_I/StdMeshers_i.cxx +++ b/src/StdMeshers_I/StdMeshers_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -20,7 +20,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // -// SMESH StdMeshers : implementaion of SMESH idl descriptions +// SMESH StdMeshers : implementation of SMESH idl descriptions // File : StdMeshers_i.cxx // Author : Julia DOROVSKIKH // Module : SMESH @@ -31,71 +31,76 @@ #include "utilities.h" -#include "StdMeshers_LocalLength_i.hxx" -#include "StdMeshers_AutomaticLength_i.hxx" -#include "StdMeshers_StartEndLength_i.hxx" +#include "StdMeshers_Adaptive1D_i.hxx" #include "StdMeshers_Arithmetic1D_i.hxx" -#include "StdMeshers_Geometric1D_i.hxx" -#include "StdMeshers_FixedPoints1D_i.hxx" -#include "StdMeshers_NumberOfSegments_i.hxx" +#include "StdMeshers_AutomaticLength_i.hxx" +#include "StdMeshers_BlockRenumber_i.hxx" +#include "StdMeshers_CartesianParameters3D_i.hxx" +#include "StdMeshers_Cartesian_3D_i.hxx" +#include "StdMeshers_CompositeSegment_1D_i.hxx" #include "StdMeshers_Deflection1D_i.hxx" -#include "StdMeshers_Adaptive1D_i.hxx" -#include "StdMeshers_Propagation_i.hxx" +#include "StdMeshers_FixedPoints1D_i.hxx" +#include "StdMeshers_Geometric1D_i.hxx" +#include "StdMeshers_Hexa_3D_i.hxx" +#include "StdMeshers_ImportSource1D_i.hxx" +#include "StdMeshers_ImportSource2D_i.hxx" +#include "StdMeshers_Import_1D2D_i.hxx" +#include "StdMeshers_Import_1D_i.hxx" +#include "StdMeshers_LayerDistribution2D_i.hxx" +#include "StdMeshers_LayerDistribution_i.hxx" #include "StdMeshers_LengthFromEdges_i.hxx" -#include "StdMeshers_QuadranglePreference_i.hxx" -//#include "StdMeshers_TrianglePreference_i.hxx" -#include "StdMeshers_QuadraticMesh_i.hxx" +#include "StdMeshers_LocalLength_i.hxx" #include "StdMeshers_MaxElementArea_i.hxx" #include "StdMeshers_MaxElementVolume_i.hxx" +#include "StdMeshers_MaxLength_i.hxx" #include "StdMeshers_NotConformAllowed_i.hxx" -#include "StdMeshers_ProjectionSource3D_i.hxx" -#include "StdMeshers_ProjectionSource2D_i.hxx" -#include "StdMeshers_ProjectionSource1D_i.hxx" -#include "StdMeshers_NumberOfLayers_i.hxx" -#include "StdMeshers_LayerDistribution_i.hxx" #include "StdMeshers_NumberOfLayers2D_i.hxx" -#include "StdMeshers_LayerDistribution2D_i.hxx" -#include "StdMeshers_SegmentLengthAroundVertex_i.hxx" -#include "StdMeshers_MaxLength_i.hxx" +#include "StdMeshers_NumberOfLayers_i.hxx" +#include "StdMeshers_NumberOfSegments_i.hxx" +#include "StdMeshers_PolygonPerFace_2D_i.hxx" +#include "StdMeshers_PolyhedronPerSolid_3D_i.hxx" +#include "StdMeshers_Prism_3D_i.hxx" +#include "StdMeshers_ProjectionSource1D_i.hxx" +#include "StdMeshers_ProjectionSource2D_i.hxx" +#include "StdMeshers_ProjectionSource3D_i.hxx" +#include "StdMeshers_Projection_1D_2D_3D_i.hxx" +#include "StdMeshers_Propagation_i.hxx" #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" -#ifdef ENABLE_MEFISTO - #include "StdMeshers_MEFISTO_2D_i.hxx" -#endif +#include "StdMeshers_QuadranglePreference_i.hxx" #include "StdMeshers_Quadrangle_2D_i.hxx" -#include "StdMeshers_Hexa_3D_i.hxx" -#include "StdMeshers_Projection_1D_2D_3D_i.hxx" -#include "StdMeshers_Prism_3D_i.hxx" +#include "StdMeshers_QuadraticMesh_i.hxx" +#include "StdMeshers_RadialQuadrangle_1D2D_i.hxx" +#include "StdMeshers_Regular_1D_i.hxx" #include "StdMeshers_SegmentAroundVertex_0D_i.hxx" -#include "StdMeshers_CompositeSegment_1D_i.hxx" +#include "StdMeshers_SegmentLengthAroundVertex_i.hxx" +#include "StdMeshers_StartEndLength_i.hxx" #include "StdMeshers_UseExisting_1D2D_i.hxx" -#include "StdMeshers_RadialQuadrangle_1D2D_i.hxx" -#include "StdMeshers_Import_1D_i.hxx" -#include "StdMeshers_Import_1D2D_i.hxx" -#include "StdMeshers_ViscousLayers_i.hxx" #include "StdMeshers_ViscousLayers2D_i.hxx" -#include "StdMeshers_CartesianParameters3D_i.hxx" +#include "StdMeshers_ViscousLayers_i.hxx" +#ifdef ENABLE_MEFISTO + #include "StdMeshers_MEFISTO_2D_i.hxx" +#endif namespace SMESH { class ApplicableToAny { public: - static CORBA::Boolean IsApplicable( const TopoDS_Shape &S, CORBA::Boolean toCheckAll ) { - return true; + static bool IsApplicable( const TopoDS_Shape &S, bool /*toCheckAll*/, int algoDim ) + { + return GenericHypothesisCreator_i::IsShapeOfDim( S, algoDim ); } }; -}; -template class StdHypothesisCreator_i:public HypothesisCreator_i +} + +template +class StdHypothesisCreator_i : public HypothesisCreator_i< T > { public: // as we have 'module StdMeshers' in SMESH_BasicHypothesis.idl virtual std::string GetModuleName() { return "StdMeshers"; } - virtual CORBA::Boolean IsApplicable( const TopoDS_Shape & S, CORBA::Boolean toCheckAll ) { - return TIsApplicable::IsApplicable( S, toCheckAll ); + virtual bool IsApplicable( const TopoDS_Shape & S, bool toCheckAll, int algoDim ) + { + return TIsApplicable::IsApplicable( S, toCheckAll, algoDim ); } }; @@ -111,11 +116,10 @@ class QuadrangleParamsCreator : public StdHypothesisCreator_iSetQuadType( TYPE ); return h; } @@ -132,8 +136,6 @@ extern "C" STDMESHERS_I_EXPORT GenericHypothesisCreator_i* GetHypothesisCreator (const char* aHypName) { - MESSAGE("Get HypothesisCreator for " << aHypName); - GenericHypothesisCreator_i* aCreator = 0; // Hypotheses @@ -206,6 +208,8 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "CartesianParameters3D") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "BlockRenumber") == 0) + aCreator = new StdHypothesisCreator_i; // Algorithms else if (strcmp(aHypName, "Regular_1D") == 0) @@ -216,6 +220,8 @@ STDMESHERS_I_EXPORT #endif else if (strcmp(aHypName, "Quadrangle_2D") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "QuadFromMedialAxis_1D2D") == 0) + aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Hexa_3D") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Projection_1D") == 0) @@ -225,7 +231,7 @@ STDMESHERS_I_EXPORT else if (strcmp(aHypName, "Projection_2D") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Projection_3D") == 0) - aCreator = new StdHypothesisCreator_i; + aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Prism_3D") == 0) aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "RadialPrism_3D") == 0) @@ -246,7 +252,10 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "Cartesian_3D") == 0) aCreator = new StdHypothesisCreator_i; - else ; + else if (strcmp(aHypName, "PolygonPerFace_2D") == 0) + aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "PolyhedronPerSolid_3D") == 0) + aCreator = new StdHypothesisCreator_i; return aCreator; }