From 43f6820017b9637defddd672635ef74acef1a609 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 19 Feb 2007 15:32:54 +0000 Subject: [PATCH] PAL13639 (EDF PAL 317 : SMESH : Create "0D Hypothesis") add 0D algorithm base --- src/SMESH/SMESH_0D_Algo.cxx | 53 +++++++++++++++++++++ src/SMESH/SMESH_0D_Algo.hxx | 40 ++++++++++++++++ src/SMESH_I/SMESH_0D_Algo_i.cxx | 84 +++++++++++++++++++++++++++++++++ src/SMESH_I/SMESH_0D_Algo_i.hxx | 55 +++++++++++++++++++++ 4 files changed, 232 insertions(+) create mode 100644 src/SMESH/SMESH_0D_Algo.cxx create mode 100644 src/SMESH/SMESH_0D_Algo.hxx create mode 100644 src/SMESH_I/SMESH_0D_Algo_i.cxx create mode 100644 src/SMESH_I/SMESH_0D_Algo_i.hxx diff --git a/src/SMESH/SMESH_0D_Algo.cxx b/src/SMESH/SMESH_0D_Algo.cxx new file mode 100644 index 000000000..8deaf3188 --- /dev/null +++ b/src/SMESH/SMESH_0D_Algo.cxx @@ -0,0 +1,53 @@ +// SMESH SMESH : 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// +// +// File : SMESH_0D_Algo.cxx +// Module : SMESH +// $Header$ + +#include "SMESH_0D_Algo.hxx" +#include "SMESH_Gen.hxx" + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_0D_Algo::SMESH_0D_Algo(int hypId, int studyId, SMESH_Gen* gen) + : SMESH_Algo(hypId, studyId, gen) +{ + _type = ALGO_0D; + gen->_map0D_Algo[hypId] = this; +} + +//============================================================================= +/*! + * + */ +//============================================================================= + +SMESH_0D_Algo::~SMESH_0D_Algo() +{ +} + diff --git a/src/SMESH/SMESH_0D_Algo.hxx b/src/SMESH/SMESH_0D_Algo.hxx new file mode 100644 index 000000000..9064e717d --- /dev/null +++ b/src/SMESH/SMESH_0D_Algo.hxx @@ -0,0 +1,40 @@ +// SMESH SMESH : 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// +// +// File : SMESH_0D_Algo.hxx +// Module : SMESH +// $Header$ + +#ifndef _SMESH_0D_ALGO_HXX_ +#define _SMESH_0D_ALGO_HXX_ + +#include "SMESH_Algo.hxx" + +class SMESH_0D_Algo: public SMESH_Algo +{ +public: + SMESH_0D_Algo(int hypId, int studyId, SMESH_Gen* gen); + virtual ~SMESH_0D_Algo(); +}; + +#endif diff --git a/src/SMESH_I/SMESH_0D_Algo_i.cxx b/src/SMESH_I/SMESH_0D_Algo_i.cxx new file mode 100644 index 000000000..44de8061f --- /dev/null +++ b/src/SMESH_I/SMESH_0D_Algo_i.cxx @@ -0,0 +1,84 @@ +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// +// +// File : SMESH_0D_Algo_i.cxx +// Author : Paul RASCLE, EDF +// Module : SMESH +// $Header$ + +#include "SMESH_0D_Algo_i.hxx" + +//============================================================================= +/*! + * SMESH_0D_Algo_i::SMESH_0D_Algo_i + * + * Constructor + */ +//============================================================================= + +SMESH_0D_Algo_i::SMESH_0D_Algo_i( PortableServer::POA_ptr thePOA ) + : SALOME::GenericObj_i( thePOA ), + SMESH_Hypothesis_i( thePOA ), + SMESH_Algo_i( thePOA ) +{ +} + +//============================================================================= +/*! + * SMESH_0D_Algo_i::~SMESH_0D_Algo_i + * + * Destructor + */ +//============================================================================= + +SMESH_0D_Algo_i::~SMESH_0D_Algo_i() +{ +} + +//================================================================================ +/*! + * \brief Verify whether algorithm supports given entity type + * \param type - dimension (see SMESH::Dimension enumeration) + * \retval CORBA::Boolean - TRUE if dimension is supported, FALSE otherwise + * + * Verify whether algorithm supports given entity type (see SMESH::Dimension enumeration) + */ +//================================================================================ +CORBA::Boolean SMESH_0D_Algo_i::IsDimSupported( SMESH::Dimension type ) +{ + return type == SMESH::DIM_0D; +} + + + + + + + + + + + + + + diff --git a/src/SMESH_I/SMESH_0D_Algo_i.hxx b/src/SMESH_I/SMESH_0D_Algo_i.hxx new file mode 100644 index 000000000..2be0029fc --- /dev/null +++ b/src/SMESH_I/SMESH_0D_Algo_i.hxx @@ -0,0 +1,55 @@ +// 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.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +// +// +// File : SMESH_0D_Algo_i.hxx +// Module : SMESH +// $Header$ + +#ifndef _SMESH_0D_ALGO_I_HXX_ +#define _SMESH_0D_ALGO_I_HXX_ + +#include +#include CORBA_SERVER_HEADER(SMESH_Hypothesis) + +#include "SMESH_Algo_i.hxx" + +// ====================================================== +// Generic 0D algorithm +// ====================================================== +class SMESH_0D_Algo_i: + public virtual POA_SMESH::SMESH_0D_Algo, + public virtual SMESH_Algo_i +{ +protected: + // Constructor : placed in protected section to prohibit creation of generic class instance + SMESH_0D_Algo_i( PortableServer::POA_ptr thePOA ); + +public: + // Destructor + virtual ~SMESH_0D_Algo_i(); + + // Verify whether algorithm supports given entity type + CORBA::Boolean IsDimSupported( SMESH::Dimension type ); +}; + +#endif -- 2.39.2