mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 17:00:34 +05:00
add QuadraticMesh hypothesis
This commit is contained in:
parent
8da18973e6
commit
da425c6a4a
@ -286,6 +286,20 @@ module StdMeshers
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* StdMeshers_QuadraticMesh: interface of "QuadraticMesh" hypothesis.
|
||||||
|
* This is an auxiliary 1D hypothesis whose presence forces construction
|
||||||
|
* of quadratic edges.
|
||||||
|
* If the 2D mesher sees that all boundary edges are quadratic ones,
|
||||||
|
* it generates quadratic faces, else it generates linear faces using
|
||||||
|
* medium nodes as if they were vertex ones.
|
||||||
|
* The 3D mesher generates quadratic volumes only if all boundary faces
|
||||||
|
* are quadratic ones, else it fails.
|
||||||
|
*/
|
||||||
|
interface StdMeshers_QuadraticMesh : SMESH::SMESH_Hypothesis
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* StdMeshers_Regular_1D: interface of "Wire discretisation" algorithm
|
* StdMeshers_Regular_1D: interface of "Wire discretisation" algorithm
|
||||||
|
@ -57,6 +57,12 @@
|
|||||||
icon-id="mesh_algo_quad.png"
|
icon-id="mesh_algo_quad.png"
|
||||||
dim="2"/>
|
dim="2"/>
|
||||||
|
|
||||||
|
<hypothesis type="QuadraticMesh"
|
||||||
|
label-id="Quadratic Mesh"
|
||||||
|
icon-id="mesh_algo_quad.png"
|
||||||
|
dim="1"
|
||||||
|
auxiliary="true"/>
|
||||||
|
|
||||||
<hypothesis type="MaxElementArea"
|
<hypothesis type="MaxElementArea"
|
||||||
label-id="Max. Element Area"
|
label-id="Max. Element Area"
|
||||||
icon-id="mesh_hypo_area.png"
|
icon-id="mesh_hypo_area.png"
|
||||||
|
@ -663,6 +663,11 @@ Handle(_pyHypothesis) _pyHypothesis::NewHypothesis( const Handle(_pyCommand)& th
|
|||||||
hyp->myCreationMethod = "Propagation";
|
hyp->myCreationMethod = "Propagation";
|
||||||
hyp->myType = "Regular_1D";
|
hyp->myType = "Regular_1D";
|
||||||
}
|
}
|
||||||
|
else if ( hypType == "QuadraticMesh" ) {
|
||||||
|
hyp->myDim = 1;
|
||||||
|
hyp->myCreationMethod = "QuadraticMesh";
|
||||||
|
hyp->myType = "Regular_1D";
|
||||||
|
}
|
||||||
else if ( hypType == "AutomaticLength" ) {
|
else if ( hypType == "AutomaticLength" ) {
|
||||||
hyp->myDim = 1;
|
hyp->myDim = 1;
|
||||||
hyp->myCreationMethod = "AutomaticLength";
|
hyp->myCreationMethod = "AutomaticLength";
|
||||||
|
@ -215,6 +215,18 @@ class Mesh_Segment(Mesh_Algorithm):
|
|||||||
hyp.SetFineness( fineness )
|
hyp.SetFineness( fineness )
|
||||||
return hyp
|
return hyp
|
||||||
|
|
||||||
|
def QuadraticMesh(self):
|
||||||
|
"""
|
||||||
|
Define "QuadraticMesh" hypothesis, forcing construction of quadratic edges.
|
||||||
|
If the 2D mesher sees that all boundary edges are quadratic ones,
|
||||||
|
it generates quadratic faces, else it generates linear faces using
|
||||||
|
medium nodes as if they were vertex ones.
|
||||||
|
The 3D mesher generates quadratic volumes only if all boundary faces
|
||||||
|
are quadratic ones, else it fails.
|
||||||
|
"""
|
||||||
|
hyp = self.Hypothesis("QuadraticMesh")
|
||||||
|
return hyp
|
||||||
|
|
||||||
# Public class: Mesh_Segment_Python
|
# Public class: Mesh_Segment_Python
|
||||||
# ---------------------------------
|
# ---------------------------------
|
||||||
|
|
||||||
|
@ -50,7 +50,8 @@ EXPORT_HEADERS = \
|
|||||||
StdMeshers_Hexa_3D.hxx \
|
StdMeshers_Hexa_3D.hxx \
|
||||||
StdMeshers_AutomaticLength.hxx \
|
StdMeshers_AutomaticLength.hxx \
|
||||||
StdMeshers_Distribution.hxx \
|
StdMeshers_Distribution.hxx \
|
||||||
StdMeshers_QuadranglePreference.hxx
|
StdMeshers_QuadranglePreference.hxx \
|
||||||
|
StdMeshers_QuadraticMesh.hxx
|
||||||
|
|
||||||
EXPORT_PYSCRIPTS =
|
EXPORT_PYSCRIPTS =
|
||||||
|
|
||||||
@ -76,7 +77,8 @@ LIB_SRC = \
|
|||||||
StdMeshers_Hexa_3D.cxx \
|
StdMeshers_Hexa_3D.cxx \
|
||||||
StdMeshers_AutomaticLength.cxx \
|
StdMeshers_AutomaticLength.cxx \
|
||||||
StdMeshers_Distribution.cxx \
|
StdMeshers_Distribution.cxx \
|
||||||
StdMeshers_QuadranglePreference.cxx
|
StdMeshers_QuadranglePreference.cxx \
|
||||||
|
StdMeshers_QuadraticMesh.cxx
|
||||||
|
|
||||||
LIB_SERVER_IDL =
|
LIB_SERVER_IDL =
|
||||||
|
|
||||||
|
100
src/StdMeshers/StdMeshers_QuadraticMesh.cxx
Normal file
100
src/StdMeshers/StdMeshers_QuadraticMesh.cxx
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
// SMESH StdMeshers_QuadraticMesh : implementaion of SMESH idl descriptions
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : StdMeshers_QuadraticMesh.cxx
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header$
|
||||||
|
|
||||||
|
#include "StdMeshers_QuadraticMesh.hxx"
|
||||||
|
#include "utilities.h"
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
StdMeshers_QuadraticMesh::StdMeshers_QuadraticMesh(int hypId,
|
||||||
|
int studyId,
|
||||||
|
SMESH_Gen * gen)
|
||||||
|
:SMESH_Hypothesis(hypId, studyId, gen)
|
||||||
|
{
|
||||||
|
_name = "QuadraticMesh";
|
||||||
|
_param_algo_dim = 1; // is used by StdMeshers_Regular_1D
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
StdMeshers_QuadraticMesh::~StdMeshers_QuadraticMesh()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
ostream & StdMeshers_QuadraticMesh::SaveTo(ostream & save)
|
||||||
|
{
|
||||||
|
return save;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
istream & StdMeshers_QuadraticMesh::LoadFrom(istream & load)
|
||||||
|
{
|
||||||
|
return load;
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
ostream & operator <<(ostream & save, StdMeshers_QuadraticMesh & hyp)
|
||||||
|
{
|
||||||
|
return hyp.SaveTo( save );
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
istream & operator >>(istream & load, StdMeshers_QuadraticMesh & hyp)
|
||||||
|
{
|
||||||
|
return hyp.LoadFrom( load );
|
||||||
|
}
|
54
src/StdMeshers/StdMeshers_QuadraticMesh.hxx
Normal file
54
src/StdMeshers/StdMeshers_QuadraticMesh.hxx
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
// SMESH StdMeshers : implementaion of SMESH idl descriptions
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : StdMeshers_QuadraticMesh.hxx
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header$
|
||||||
|
|
||||||
|
#ifndef _StdMeshers_QuadraticMesh_HXX_
|
||||||
|
#define _StdMeshers_QuadraticMesh_HXX_
|
||||||
|
|
||||||
|
#include "SMESH_Hypothesis.hxx"
|
||||||
|
#include "Utils_SALOME_Exception.hxx"
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Hypothesis for StdMeshers_Regular_1D, forcing construction of quadratic edges.
|
||||||
|
* If the 2D mesher sees that all boundary edges are quadratic ones,
|
||||||
|
* it generates quadratic faces, else it generates linear faces using
|
||||||
|
* medium nodes as if they were vertex ones.
|
||||||
|
* The 3D mesher generates quadratic volumes only if all boundary faces
|
||||||
|
* are quadratic ones, else it fails.
|
||||||
|
*/
|
||||||
|
class StdMeshers_QuadraticMesh:public SMESH_Hypothesis
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
StdMeshers_QuadraticMesh(int hypId, int studyId, SMESH_Gen * gen);
|
||||||
|
virtual ~ StdMeshers_QuadraticMesh();
|
||||||
|
|
||||||
|
virtual std::ostream & SaveTo(std::ostream & save);
|
||||||
|
virtual std::istream & LoadFrom(std::istream & load);
|
||||||
|
friend std::ostream & operator <<(std::ostream & save, StdMeshers_QuadraticMesh & hyp);
|
||||||
|
friend std::istream & operator >>(std::istream & load, StdMeshers_QuadraticMesh & hyp);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -33,6 +33,8 @@ using namespace std;
|
|||||||
#include "StdMeshers_Distribution.hxx"
|
#include "StdMeshers_Distribution.hxx"
|
||||||
#include "SMESH_Gen.hxx"
|
#include "SMESH_Gen.hxx"
|
||||||
#include "SMESH_Mesh.hxx"
|
#include "SMESH_Mesh.hxx"
|
||||||
|
#include "SMESH_HypoFilter.hxx"
|
||||||
|
#include "SMESH_subMesh.hxx"
|
||||||
|
|
||||||
#include <OSD.hxx>
|
#include <OSD.hxx>
|
||||||
|
|
||||||
@ -41,12 +43,11 @@ using namespace std;
|
|||||||
#include "StdMeshers_Arithmetic1D.hxx"
|
#include "StdMeshers_Arithmetic1D.hxx"
|
||||||
#include "StdMeshers_StartEndLength.hxx"
|
#include "StdMeshers_StartEndLength.hxx"
|
||||||
#include "StdMeshers_Deflection1D.hxx"
|
#include "StdMeshers_Deflection1D.hxx"
|
||||||
#include <StdMeshers_AutomaticLength.hxx>
|
#include "StdMeshers_AutomaticLength.hxx"
|
||||||
|
|
||||||
#include "SMDS_MeshElement.hxx"
|
#include "SMDS_MeshElement.hxx"
|
||||||
#include "SMDS_MeshNode.hxx"
|
#include "SMDS_MeshNode.hxx"
|
||||||
#include "SMDS_EdgePosition.hxx"
|
#include "SMDS_EdgePosition.hxx"
|
||||||
#include "SMESH_subMesh.hxx"
|
|
||||||
|
|
||||||
#include "Utils_SALOME_Exception.hxx"
|
#include "Utils_SALOME_Exception.hxx"
|
||||||
#include "utilities.h"
|
#include "utilities.h"
|
||||||
@ -507,6 +508,10 @@ bool StdMeshers_Regular_1D::Compute(SMESH_Mesh & aMesh, const TopoDS_Shape & aSh
|
|||||||
SMESHDS_Mesh * meshDS = aMesh.GetMeshDS();
|
SMESHDS_Mesh * meshDS = aMesh.GetMeshDS();
|
||||||
aMesh.GetSubMesh(aShape);
|
aMesh.GetSubMesh(aShape);
|
||||||
|
|
||||||
|
// quardatic mesh required?
|
||||||
|
SMESH_HypoFilter filter( SMESH_HypoFilter::HasName( "QuadraticMesh" ));
|
||||||
|
bool isQuadraticMesh = aMesh->GetHypothesis( aShape, filter, true );
|
||||||
|
|
||||||
const TopoDS_Edge & EE = TopoDS::Edge(aShape);
|
const TopoDS_Edge & EE = TopoDS::Edge(aShape);
|
||||||
TopoDS_Edge E = TopoDS::Edge(EE.Oriented(TopAbs_FORWARD));
|
TopoDS_Edge E = TopoDS::Edge(EE.Oriented(TopAbs_FORWARD));
|
||||||
int shapeID = meshDS->ShapeToIndex( E );
|
int shapeID = meshDS->ShapeToIndex( E );
|
||||||
|
@ -80,10 +80,14 @@ msgstr "mesh_tree_algo_quad.png"
|
|||||||
msgid "ICON_SMESH_TREE_HYPO_MaxElementArea"
|
msgid "ICON_SMESH_TREE_HYPO_MaxElementArea"
|
||||||
msgstr "mesh_tree_hypo_area.png"
|
msgstr "mesh_tree_hypo_area.png"
|
||||||
|
|
||||||
#mesh_tree_hypo_area
|
#mesh_tree_hypo_quadranglepreference
|
||||||
msgid "ICON_SMESH_TREE_HYPO_QuadranglePreference"
|
msgid "ICON_SMESH_TREE_HYPO_QuadranglePreference"
|
||||||
msgstr "mesh_tree_algo_quad.png"
|
msgstr "mesh_tree_algo_quad.png"
|
||||||
|
|
||||||
|
#mesh_tree_hypo_quadraticmesh
|
||||||
|
msgid "ICON_SMESH_TREE_HYPO_QuadraticMesh"
|
||||||
|
msgstr "mesh_tree_hypo_length.png"
|
||||||
|
|
||||||
#mesh_tree_hypo_length
|
#mesh_tree_hypo_length
|
||||||
msgid "ICON_SMESH_TREE_HYPO_LocalLength"
|
msgid "ICON_SMESH_TREE_HYPO_LocalLength"
|
||||||
msgstr "mesh_tree_hypo_length.png"
|
msgstr "mesh_tree_hypo_length.png"
|
||||||
|
@ -52,7 +52,8 @@ EXPORT_HEADERS = \
|
|||||||
StdMeshers_MEFISTO_2D_i.hxx \
|
StdMeshers_MEFISTO_2D_i.hxx \
|
||||||
StdMeshers_Hexa_3D_i.hxx \
|
StdMeshers_Hexa_3D_i.hxx \
|
||||||
StdMeshers_AutomaticLength_i.hxx \
|
StdMeshers_AutomaticLength_i.hxx \
|
||||||
StdMeshers_QuadranglePreference_i.hxx
|
StdMeshers_QuadranglePreference_i.hxx \
|
||||||
|
StdMeshers_QuadraticMesh_i.hxx
|
||||||
|
|
||||||
# Libraries targets
|
# Libraries targets
|
||||||
|
|
||||||
@ -75,7 +76,8 @@ LIB_SRC = \
|
|||||||
StdMeshers_MEFISTO_2D_i.cxx \
|
StdMeshers_MEFISTO_2D_i.cxx \
|
||||||
StdMeshers_Hexa_3D_i.cxx \
|
StdMeshers_Hexa_3D_i.cxx \
|
||||||
StdMeshers_AutomaticLength_i.cxx \
|
StdMeshers_AutomaticLength_i.cxx \
|
||||||
StdMeshers_QuadranglePreference_i.cxx
|
StdMeshers_QuadranglePreference_i.cxx \
|
||||||
|
StdMeshers_QuadraticMesh_i.cxx
|
||||||
|
|
||||||
LIB_SERVER_IDL = SMESH_BasicHypothesis.idl
|
LIB_SERVER_IDL = SMESH_BasicHypothesis.idl
|
||||||
|
|
||||||
|
99
src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx
Normal file
99
src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : StdMeshers_QuadraticMesh_i.cxx
|
||||||
|
// Moved here from SMESH_LocalLength_i.cxx
|
||||||
|
// Author : Paul RASCLE, EDF
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header$
|
||||||
|
|
||||||
|
#include "StdMeshers_QuadraticMesh_i.hxx"
|
||||||
|
#include "SMESH_Gen_i.hxx"
|
||||||
|
#include "SMESH_Gen.hxx"
|
||||||
|
|
||||||
|
#include "Utils_CorbaException.hxx"
|
||||||
|
#include "utilities.h"
|
||||||
|
|
||||||
|
//#include <TCollection_AsciiString.hxx>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* StdMeshers_QuadraticMesh_i::StdMeshers_QuadraticMesh_i
|
||||||
|
*
|
||||||
|
* Constructor
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
StdMeshers_QuadraticMesh_i::StdMeshers_QuadraticMesh_i
|
||||||
|
( PortableServer::POA_ptr thePOA,
|
||||||
|
int theStudyId,
|
||||||
|
::SMESH_Gen* theGenImpl )
|
||||||
|
: SALOME::GenericObj_i( thePOA ),SMESH_Hypothesis_i( thePOA )
|
||||||
|
{
|
||||||
|
myBaseImpl = new ::StdMeshers_QuadraticMesh( theGenImpl->GetANewId(),
|
||||||
|
theStudyId,
|
||||||
|
theGenImpl );
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* StdMeshers_QuadraticMesh_i::~StdMeshers_QuadraticMesh_i
|
||||||
|
*
|
||||||
|
* Destructor
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
StdMeshers_QuadraticMesh_i::~StdMeshers_QuadraticMesh_i()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
//=============================================================================
|
||||||
|
/*!
|
||||||
|
* StdMeshers_QuadraticMesh_i::GetImpl
|
||||||
|
*
|
||||||
|
* Get implementation
|
||||||
|
*/
|
||||||
|
//=============================================================================
|
||||||
|
|
||||||
|
::StdMeshers_QuadraticMesh* StdMeshers_QuadraticMesh_i::GetImpl()
|
||||||
|
{
|
||||||
|
return ( ::StdMeshers_QuadraticMesh* )myBaseImpl;
|
||||||
|
}
|
||||||
|
|
||||||
|
//================================================================================
|
||||||
|
/*!
|
||||||
|
* \brief Verify whether hypothesis supports given entity type
|
||||||
|
* \param type - dimension (see SMESH::Dimension enumeration)
|
||||||
|
* \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise
|
||||||
|
*
|
||||||
|
* Verify whether hypothesis supports given entity type (see SMESH::Dimension enumeration)
|
||||||
|
*/
|
||||||
|
//================================================================================
|
||||||
|
|
||||||
|
CORBA::Boolean StdMeshers_QuadraticMesh_i::IsDimSupported( SMESH::Dimension type )
|
||||||
|
{
|
||||||
|
return type == SMESH::DIM_1D;
|
||||||
|
}
|
||||||
|
|
64
src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx
Normal file
64
src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
|
||||||
|
//
|
||||||
|
// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
||||||
|
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU Lesser General Public
|
||||||
|
// License as published by the Free Software Foundation; either
|
||||||
|
// version 2.1 of the License.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
//
|
||||||
|
// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// File : StdMeshers_QuadraticMesh_i.hxx
|
||||||
|
// Moved here from SMESH_LocalLength_i.hxx
|
||||||
|
// Author : Paul RASCLE, EDF
|
||||||
|
// Module : SMESH
|
||||||
|
// $Header$
|
||||||
|
|
||||||
|
#ifndef _SMESH_QuadraticMesh_I_HXX_
|
||||||
|
#define _SMESH_QuadraticMesh_I_HXX_
|
||||||
|
|
||||||
|
#include <SALOMEconfig.h>
|
||||||
|
#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis)
|
||||||
|
|
||||||
|
#include "SMESH_Hypothesis_i.hxx"
|
||||||
|
#include "StdMeshers_QuadraticMesh.hxx"
|
||||||
|
|
||||||
|
class SMESH_Gen;
|
||||||
|
|
||||||
|
// ======================================================
|
||||||
|
// Local Length hypothesis
|
||||||
|
// ======================================================
|
||||||
|
class StdMeshers_QuadraticMesh_i:
|
||||||
|
public virtual POA_StdMeshers::StdMeshers_QuadraticMesh,
|
||||||
|
public virtual SMESH_Hypothesis_i
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Constructor
|
||||||
|
StdMeshers_QuadraticMesh_i( PortableServer::POA_ptr thePOA,
|
||||||
|
int theStudyId,
|
||||||
|
::SMESH_Gen* theGenImpl );
|
||||||
|
// Destructor
|
||||||
|
virtual ~StdMeshers_QuadraticMesh_i();
|
||||||
|
|
||||||
|
// Get implementation
|
||||||
|
::StdMeshers_QuadraticMesh* GetImpl();
|
||||||
|
|
||||||
|
// Verify whether hypothesis supports given entity type
|
||||||
|
CORBA::Boolean IsDimSupported( SMESH::Dimension type );
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -39,6 +39,7 @@ using namespace std;
|
|||||||
#include "StdMeshers_Propagation_i.hxx"
|
#include "StdMeshers_Propagation_i.hxx"
|
||||||
#include "StdMeshers_LengthFromEdges_i.hxx"
|
#include "StdMeshers_LengthFromEdges_i.hxx"
|
||||||
#include "StdMeshers_QuadranglePreference_i.hxx"
|
#include "StdMeshers_QuadranglePreference_i.hxx"
|
||||||
|
#include "StdMeshers_QuadraticMesh_i.hxx"
|
||||||
#include "StdMeshers_MaxElementArea_i.hxx"
|
#include "StdMeshers_MaxElementArea_i.hxx"
|
||||||
#include "StdMeshers_MaxElementVolume_i.hxx"
|
#include "StdMeshers_MaxElementVolume_i.hxx"
|
||||||
#include "StdMeshers_NotConformAllowed_i.hxx"
|
#include "StdMeshers_NotConformAllowed_i.hxx"
|
||||||
@ -87,6 +88,8 @@ extern "C"
|
|||||||
aCreator = new HypothesisCreator_i<StdMeshers_AutomaticLength_i>;
|
aCreator = new HypothesisCreator_i<StdMeshers_AutomaticLength_i>;
|
||||||
else if (strcmp(aHypName, "QuadranglePreference") == 0)
|
else if (strcmp(aHypName, "QuadranglePreference") == 0)
|
||||||
aCreator = new HypothesisCreator_i<StdMeshers_QuadranglePreference_i>;
|
aCreator = new HypothesisCreator_i<StdMeshers_QuadranglePreference_i>;
|
||||||
|
else if (strcmp(aHypName, "QuadraticMesh") == 0)
|
||||||
|
aCreator = new HypothesisCreator_i<StdMeshers_QuadraticMesh_i>;
|
||||||
|
|
||||||
// Algorithms
|
// Algorithms
|
||||||
else if (strcmp(aHypName, "Regular_1D") == 0)
|
else if (strcmp(aHypName, "Regular_1D") == 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user