From e04e8ded81ef0a62ca18ba026b9f04936ec0e79b Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 15 Nov 2007 14:37:51 +0000 Subject: [PATCH] PAL17694 (New Tool About Hexahedral Meshing) + StdMeshers_UseExisting_1D2D_i.cxx --- src/StdMeshers_I/Makefile.am | 3 +- .../StdMeshers_UseExisting_1D2D_i.cxx | 103 ++++++++++++++++++ .../StdMeshers_UseExisting_1D2D_i.hxx | 80 ++++++++++++++ src/StdMeshers_I/StdMeshers_i.cxx | 5 + 4 files changed, 190 insertions(+), 1 deletion(-) create mode 100644 src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.cxx create mode 100644 src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.hxx diff --git a/src/StdMeshers_I/Makefile.am b/src/StdMeshers_I/Makefile.am index 31f0ef39f..9f908c722 100644 --- a/src/StdMeshers_I/Makefile.am +++ b/src/StdMeshers_I/Makefile.am @@ -92,7 +92,8 @@ dist_libStdMeshersEngine_la_SOURCES = \ StdMeshers_LayerDistribution_i.cxx \ StdMeshers_CompositeSegment_1D_i.cxx \ StdMeshers_SegmentAroundVertex_0D_i.cxx \ - StdMeshers_SegmentLengthAroundVertex_i.cxx + StdMeshers_SegmentLengthAroundVertex_i.cxx \ + StdMeshers_UseExisting_1D2D_i.cxx # additionnal information to compil and link file libStdMeshersEngine_la_CPPFLAGS = \ diff --git a/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.cxx b/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.cxx new file mode 100644 index 000000000..5f9a95be4 --- /dev/null +++ b/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.cxx @@ -0,0 +1,103 @@ +// 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 : StdMeshers_Projection_3D_i.cxx +// Moved here from SMESH_Projection_3D_i.cxx +// Author : Paul RASCLE, EDF +// Module : SMESH +// $Header$ + +#include "StdMeshers_UseExisting_1D2D_i.hxx" + +#include "SMESH_Gen.hxx" + +#include "utilities.h" + +//============================================================================= +/*! + * StdMeshers_UseExisting_1D_i::StdMeshers_UseExisting_1D_i + */ +//============================================================================= + +StdMeshers_UseExisting_1D_i::StdMeshers_UseExisting_1D_i + ( PortableServer::POA_ptr thePOA, + int theStudyId, + ::SMESH_Gen* theGenImpl ) + : SALOME::GenericObj_i( thePOA ), + SMESH_Hypothesis_i( thePOA ), + SMESH_Algo_i( thePOA ), + SMESH_1D_Algo_i( thePOA ) +{ + MESSAGE( "StdMeshers_UseExisting_1D_i::StdMeshers_UseExisting_1D_i" ); + myBaseImpl = new ::StdMeshers_UseExisting_1D( theGenImpl->GetANewId(), + theStudyId, + theGenImpl ); +} +//----------------------------------------------------------------------------- + +StdMeshers_UseExisting_1D_i::~StdMeshers_UseExisting_1D_i() +{ + MESSAGE( "StdMeshers_UseExisting_1D_i::~StdMeshers_UseExisting_1D_i" ); +} +//----------------------------------------------------------------------------- + +::StdMeshers_UseExisting_1D* StdMeshers_UseExisting_1D_i::GetImpl() +{ + MESSAGE( "StdMeshers_UseExisting_1D_i::GetImpl" ); + return ( ::StdMeshers_UseExisting_1D* )myBaseImpl; +} + + +//============================================================================= +/*! + * StdMeshers_UseExisting_2D_i::StdMeshers_UseExisting_2D_i + */ +//============================================================================= + +StdMeshers_UseExisting_2D_i::StdMeshers_UseExisting_2D_i + ( PortableServer::POA_ptr thePOA, + int theStudyId, + ::SMESH_Gen* theGenImpl ) + : SALOME::GenericObj_i( thePOA ), + SMESH_Hypothesis_i( thePOA ), + SMESH_Algo_i( thePOA ), + SMESH_2D_Algo_i( thePOA ) +{ + MESSAGE( "StdMeshers_UseExisting_2D_i::StdMeshers_UseExisting_2D_i" ); + myBaseImpl = new ::StdMeshers_UseExisting_2D( theGenImpl->GetANewId(), + theStudyId, + theGenImpl ); +} +//----------------------------------------------------------------------------- + +StdMeshers_UseExisting_2D_i::~StdMeshers_UseExisting_2D_i() +{ + MESSAGE( "StdMeshers_UseExisting_2D_i::~StdMeshers_UseExisting_2D_i" ); +} +//----------------------------------------------------------------------------- + +::StdMeshers_UseExisting_2D* StdMeshers_UseExisting_2D_i::GetImpl() +{ + MESSAGE( "StdMeshers_UseExisting_2D_i::GetImpl" ); + return ( ::StdMeshers_UseExisting_2D* )myBaseImpl; +} diff --git a/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.hxx b/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.hxx new file mode 100644 index 000000000..6eaf23fb6 --- /dev/null +++ b/src/StdMeshers_I/StdMeshers_UseExisting_1D2D_i.hxx @@ -0,0 +1,80 @@ +// 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 : StdMeshers_UseExisting_1D2D.hxx +// Module : SMESH +// $Header$ + +#ifndef _SMESH_UseExisting_1D2D_I_HXX_ +#define _SMESH_UseExisting_1D2D_I_HXX_ + +#include +#include CORBA_SERVER_HEADER(SMESH_BasicHypothesis) + +#include "SMESH_1D_Algo_i.hxx" +#include "SMESH_2D_Algo_i.hxx" +#include "StdMeshers_UseExisting_1D2D.hxx" + +class SMESH_Gen; + +/*! + * \brief 1D and 2D algorithms doing nothing to allow mesh generation + * by mesh edition functions in TUI mode + */ + +class StdMeshers_UseExisting_1D_i: + public virtual POA_StdMeshers::StdMeshers_UseExisting_1D, + public virtual SMESH_1D_Algo_i +{ +public: + // Constructor + StdMeshers_UseExisting_1D_i( PortableServer::POA_ptr thePOA, + int theStudyId, + ::SMESH_Gen* theGenImpl ); + + // Destructor + virtual ~StdMeshers_UseExisting_1D_i(); + + // Get implementation + ::StdMeshers_UseExisting_1D* GetImpl(); +}; + +class StdMeshers_UseExisting_2D_i: + public virtual POA_StdMeshers::StdMeshers_UseExisting_2D, + public virtual SMESH_2D_Algo_i +{ +public: + // Constructor + StdMeshers_UseExisting_2D_i( PortableServer::POA_ptr thePOA, + int theStudyId, + ::SMESH_Gen* theGenImpl ); + + // Destructor + virtual ~StdMeshers_UseExisting_2D_i(); + + // Get implementation + ::StdMeshers_UseExisting_2D* GetImpl(); +}; + + +#endif diff --git a/src/StdMeshers_I/StdMeshers_i.cxx b/src/StdMeshers_I/StdMeshers_i.cxx index d5aa8f6fc..ee8fe66ea 100644 --- a/src/StdMeshers_I/StdMeshers_i.cxx +++ b/src/StdMeshers_I/StdMeshers_i.cxx @@ -59,6 +59,7 @@ #include "StdMeshers_Prism_3D_i.hxx" #include "StdMeshers_SegmentAroundVertex_0D_i.hxx" #include "StdMeshers_CompositeSegment_1D_i.hxx" +#include "StdMeshers_UseExisting_1D2D_i.hxx" template class StdHypothesisCreator_i:public HypothesisCreator_i @@ -145,6 +146,10 @@ STDMESHERS_I_EXPORT aCreator = new StdHypothesisCreator_i; else if (strcmp(aHypName, "CompositeSegment_1D") == 0) aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "UseExisting_1D") == 0) + aCreator = new StdHypothesisCreator_i; + else if (strcmp(aHypName, "UseExisting_2D") == 0) + aCreator = new StdHypothesisCreator_i; else ; return aCreator; -- 2.39.2