From e841c8dca376ea2def46d1929da82db99362de94 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 6 Mar 2006 10:59:20 +0000 Subject: [PATCH] hypothesis for quadratic elements creation --- .../StdMeshers_QuadraticMesh_i.cxx | 99 +++++++++++++++++++ .../StdMeshers_QuadraticMesh_i.hxx | 64 ++++++++++++ 2 files changed, 163 insertions(+) create mode 100644 src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx create mode 100644 src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx diff --git a/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx b/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx new file mode 100644 index 000000000..7f1818771 --- /dev/null +++ b/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.cxx @@ -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 + +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; +} + diff --git a/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx b/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx new file mode 100644 index 000000000..c2a3f3f3d --- /dev/null +++ b/src/StdMeshers_I/StdMeshers_QuadraticMesh_i.hxx @@ -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 +#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 + -- 2.39.2