Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
#17351 [CEA] Mesh with Polyhedron
[modules/smesh.git]
/
src
/
StdMeshers_I
/
StdMeshers_i.cxx
diff --git
a/src/StdMeshers_I/StdMeshers_i.cxx
b/src/StdMeshers_I/StdMeshers_i.cxx
index 97b28afcfc23d2f14d26aa19f5f07ab741628ef5..676de466d35cb1a9a6073c495f219d00e8e64650 100644
(file)
--- a/
src/StdMeshers_I/StdMeshers_i.cxx
+++ b/
src/StdMeshers_I/StdMeshers_i.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
6
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
9
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
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-57,6
+57,7
@@
#include "StdMeshers_NumberOfLayers_i.hxx"
#include "StdMeshers_NumberOfSegments_i.hxx"
#include "StdMeshers_PolygonPerFace_2D_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_Prism_3D_i.hxx"
#include "StdMeshers_ProjectionSource1D_i.hxx"
#include "StdMeshers_ProjectionSource2D_i.hxx"
@@
-83,21
+84,22
@@
namespace SMESH {
class ApplicableToAny
{
public:
class ApplicableToAny
{
public:
- static
CORBA::Boolean IsApplicable( const TopoDS_Shape &S, CORBA::Boolean toCheckAll
)
+ static
bool IsApplicable( const TopoDS_Shape &S, bool toCheckAll, int algoDim
)
{
{
- return
true
;
+ return
GenericHypothesisCreator_i::IsShapeOfDim( S, algoDim )
;
}
};
};
}
};
};
+
template <class T, class TIsApplicable = SMESH::ApplicableToAny>
class StdHypothesisCreator_i : public HypothesisCreator_i< T >
{
public:
// as we have 'module StdMeshers' in SMESH_BasicHypothesis.idl
virtual std::string GetModuleName() { return "StdMeshers"; }
template <class T, class TIsApplicable = SMESH::ApplicableToAny>
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
)
+ virtual
bool IsApplicable( const TopoDS_Shape & S, bool toCheckAll, int algoDim
)
{
{
- return TIsApplicable::IsApplicable( S, toCheckAll );
+ return TIsApplicable::IsApplicable( S, toCheckAll
, algoDim
);
}
};
}
};
@@
-113,11
+115,10
@@
class QuadrangleParamsCreator : public StdHypothesisCreator_i<StdMeshers_Quadran
{
public:
virtual SMESH_Hypothesis_i* Create (PortableServer::POA_ptr thePOA,
{
public:
virtual SMESH_Hypothesis_i* Create (PortableServer::POA_ptr thePOA,
- int theStudyId,
::SMESH_Gen* theGenImpl)
{
StdMeshers_QuadrangleParams_i* h =
::SMESH_Gen* theGenImpl)
{
StdMeshers_QuadrangleParams_i* h =
- new StdMeshers_QuadrangleParams_i( thePOA, the
StudyId, the
GenImpl);
+ new StdMeshers_QuadrangleParams_i( thePOA, theGenImpl);
h->SetQuadType( TYPE );
return h;
}
h->SetQuadType( TYPE );
return h;
}
@@
-250,6
+251,8
@@
STDMESHERS_I_EXPORT
aCreator = new StdHypothesisCreator_i<StdMeshers_Cartesian_3D_i>;
else if (strcmp(aHypName, "PolygonPerFace_2D") == 0)
aCreator = new StdHypothesisCreator_i<StdMeshers_PolygonPerFace_2D_i>;
aCreator = new StdHypothesisCreator_i<StdMeshers_Cartesian_3D_i>;
else if (strcmp(aHypName, "PolygonPerFace_2D") == 0)
aCreator = new StdHypothesisCreator_i<StdMeshers_PolygonPerFace_2D_i>;
+ else if (strcmp(aHypName, "PolyhedronPerSolid_3D") == 0)
+ aCreator = new StdHypothesisCreator_i<StdMeshers_PolyhedronPerSolid_3D_i>;
else ;
return aCreator;
else ;
return aCreator;