From: eap Date: Thu, 15 Nov 2007 14:38:06 +0000 (+0000) Subject: PAL17694 (New Tool About Hexahedral Meshing) X-Git-Tag: V3_2_9rc1~1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b6dc4b5a3221c069424d64c28403ab53c101251d;p=modules%2Fsmesh.git PAL17694 (New Tool About Hexahedral Meshing) + StdMeshers_UseExisting_1D2D_i.cxx --- diff --git a/src/StdMeshers_I/Makefile.in b/src/StdMeshers_I/Makefile.in index f96b813b5..bcb734657 100644 --- a/src/StdMeshers_I/Makefile.in +++ b/src/StdMeshers_I/Makefile.in @@ -35,34 +35,35 @@ VPATH=.:@srcdir@:@top_srcdir@/idl:$(top_builddir)/idl # EXPORT_PYSCRIPTS = smeshpy.py SMESH_test.py -# header files -EXPORT_HEADERS = \ - StdMeshers_LocalLength_i.hxx \ - StdMeshers_StartEndLength_i.hxx \ - StdMeshers_Arithmetic1D_i.hxx \ - StdMeshers_NumberOfSegments_i.hxx \ - StdMeshers_Deflection1D_i.hxx \ - StdMeshers_Propagation_i.hxx \ - StdMeshers_LengthFromEdges_i.hxx \ - StdMeshers_MaxElementArea_i.hxx \ - StdMeshers_MaxElementVolume_i.hxx \ - StdMeshers_NotConformAllowed_i.hxx \ - StdMeshers_Regular_1D_i.hxx \ - StdMeshers_Quadrangle_2D_i.hxx \ - StdMeshers_MEFISTO_2D_i.hxx \ - StdMeshers_Hexa_3D_i.hxx \ - StdMeshers_AutomaticLength_i.hxx \ - StdMeshers_QuadranglePreference_i.hxx \ - StdMeshers_QuadraticMesh_i.hxx \ - StdMeshers_NumberOfLayers_i.hxx \ - StdMeshers_Prism_3D_i.hxx \ - StdMeshers_ProjectionSource1D_i.hxx \ - StdMeshers_ProjectionSource2D_i.hxx \ - StdMeshers_ProjectionSource3D_i.hxx \ - StdMeshers_Projection_1D_2D_3D_i.hxx \ - StdMeshers_ObjRefUlils.hxx \ - StdMeshers_LayerDistribution_i.hxx \ - StdMeshers_CompositeSegment_1D_i.hxx +# header files #EAP: exposing API of plugin is useless? +# EXPORT_HEADERS = \ +# StdMeshers_LocalLength_i.hxx \ +# StdMeshers_StartEndLength_i.hxx \ +# StdMeshers_Arithmetic1D_i.hxx \ +# StdMeshers_NumberOfSegments_i.hxx \ +# StdMeshers_Deflection1D_i.hxx \ +# StdMeshers_Propagation_i.hxx \ +# StdMeshers_LengthFromEdges_i.hxx \ +# StdMeshers_MaxElementArea_i.hxx \ +# StdMeshers_MaxElementVolume_i.hxx \ +# StdMeshers_NotConformAllowed_i.hxx \ +# StdMeshers_Regular_1D_i.hxx \ +# StdMeshers_Quadrangle_2D_i.hxx \ +# StdMeshers_MEFISTO_2D_i.hxx \ +# StdMeshers_Hexa_3D_i.hxx \ +# StdMeshers_AutomaticLength_i.hxx \ +# StdMeshers_QuadranglePreference_i.hxx \ +# StdMeshers_QuadraticMesh_i.hxx \ +# StdMeshers_NumberOfLayers_i.hxx \ +# StdMeshers_Prism_3D_i.hxx \ +# StdMeshers_ProjectionSource1D_i.hxx \ +# StdMeshers_ProjectionSource2D_i.hxx \ +# StdMeshers_ProjectionSource3D_i.hxx \ +# StdMeshers_Projection_1D_2D_3D_i.hxx \ +# StdMeshers_ObjRefUlils.hxx \ +# StdMeshers_LayerDistribution_i.hxx \ +# StdMeshers_CompositeSegment_1D_i.hxx \ +# StdMeshers_UseExisting_1D2D_i.hxx # Libraries targets @@ -97,7 +98,8 @@ LIB_SRC = \ StdMeshers_LayerDistribution_i.cxx \ StdMeshers_SegmentAroundVertex_0D_i.cxx \ StdMeshers_SegmentLengthAroundVertex_i.cxx \ - StdMeshers_CompositeSegment_1D_i.cxx + StdMeshers_CompositeSegment_1D_i.cxx \ + StdMeshers_UseExisting_1D2D_i.cxx LIB_SERVER_IDL = SMESH_BasicHypothesis.idl 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 de71171cf..8dfab5243 100644 --- a/src/StdMeshers_I/StdMeshers_i.cxx +++ b/src/StdMeshers_I/StdMeshers_i.cxx @@ -58,7 +58,7 @@ using namespace std; #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 { @@ -143,6 +143,10 @@ extern "C" 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;