From 8a78adb15334fd7714c3a52a50cd4c9db7032c24 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 15 Nov 2007 14:37:26 +0000 Subject: [PATCH] PAL17694 (New Tool About Hexahedral Meshing) + StdMeshers_UseExisting_1D2D.hxx --- src/StdMeshers/Makefile.am | 12 ++- .../StdMeshers_UseExisting_1D2D.cxx | 102 ++++++++++++++++++ .../StdMeshers_UseExisting_1D2D.hxx | 65 +++++++++++ 3 files changed, 174 insertions(+), 5 deletions(-) create mode 100644 src/StdMeshers/StdMeshers_UseExisting_1D2D.cxx create mode 100644 src/StdMeshers/StdMeshers_UseExisting_1D2D.hxx diff --git a/src/StdMeshers/Makefile.am b/src/StdMeshers/Makefile.am index 64b2af933..0db321056 100644 --- a/src/StdMeshers/Makefile.am +++ b/src/StdMeshers/Makefile.am @@ -58,10 +58,11 @@ salomeinclude_HEADERS = \ StdMeshers_RadialPrism_3D.hxx \ StdMeshers_ProjectionUtils.hxx \ StdMeshers_LayerDistribution.hxx \ - StdMeshers_CompositeSegment_1D.hxx \ - StdMeshers_FaceSide.hxx \ StdMeshers_SegmentAroundVertex_0D.hxx \ StdMeshers_SegmentLengthAroundVertex.hxx \ + StdMeshers_FaceSide.hxx \ + StdMeshers_CompositeSegment_1D.hxx \ + StdMeshers_UseExisting_1D2D.hxx SMESH_StdMeshers.hxx # Libraries targets @@ -99,10 +100,11 @@ dist_libStdMeshers_la_SOURCES = \ StdMeshers_RadialPrism_3D.cxx \ StdMeshers_ProjectionUtils.cxx \ StdMeshers_LayerDistribution.cxx \ - StdMeshers_CompositeSegment_1D.cxx \ - StdMeshers_FaceSide.cxx \ StdMeshers_SegmentAroundVertex_0D.cxx \ - StdMeshers_SegmentLengthAroundVertex.cxx + StdMeshers_SegmentLengthAroundVertex.cxx \ + StdMeshers_FaceSide.cxx \ + StdMeshers_CompositeSegment_1D.cxx \ + StdMeshers_UseExisting_1D2D.cxx # additionnal information to compil and link file diff --git a/src/StdMeshers/StdMeshers_UseExisting_1D2D.cxx b/src/StdMeshers/StdMeshers_UseExisting_1D2D.cxx new file mode 100644 index 000000000..0ce7773ac --- /dev/null +++ b/src/StdMeshers/StdMeshers_UseExisting_1D2D.cxx @@ -0,0 +1,102 @@ +// 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 : StdMeshers_UseExisting_1D2D.cxx +// Module : SMESH +// Created : Fri Oct 20 11:37:07 2006 +// Author : Edward AGAPOV (eap) + + +#include "StdMeshers_UseExisting_1D2D.hxx" + +//======================================================================= +//function : StdMeshers_UseExisting_1D +//purpose : +//======================================================================= + +StdMeshers_UseExisting_1D::StdMeshers_UseExisting_1D + (int hypId, int studyId, SMESH_Gen* gen) + :SMESH_1D_Algo(hypId, studyId, gen) +{ + _name = "UseExisting_1D"; + _shapeType = (1 << TopAbs_EDGE); // 1 bit per shape type +} + +//======================================================================= +//function : CheckHypothesis +//purpose : +//======================================================================= + +bool StdMeshers_UseExisting_1D::CheckHypothesis(SMESH_Mesh& , + const TopoDS_Shape& , + Hypothesis_Status& aStatus) +{ + return (aStatus = HYP_OK) == HYP_OK; +} + +//======================================================================= +//function : Compute +//purpose : +//======================================================================= + +bool StdMeshers_UseExisting_1D::Compute(SMESH_Mesh&, const TopoDS_Shape&) +{ + // This algorithm exists to allow mesh generation by mesh edition functions in TUI mode + return true; +} + +//======================================================================= +//function : StdMeshers_UseExisting_2D +//purpose : +//======================================================================= + +StdMeshers_UseExisting_2D::StdMeshers_UseExisting_2D + (int hypId, int studyId, SMESH_Gen* gen) + :SMESH_2D_Algo(hypId, studyId, gen) +{ + _name = "UseExisting_2D"; + _shapeType = (1 << TopAbs_FACE); // 1 bit per shape type +} + +//======================================================================= +//function : CheckHypothesis +//purpose : +//======================================================================= + +bool StdMeshers_UseExisting_2D::CheckHypothesis(SMESH_Mesh& , + const TopoDS_Shape& , + Hypothesis_Status& aStatus) +{ + return (aStatus = HYP_OK) == HYP_OK; +} + +//======================================================================= +//function : Compute +//purpose : +//======================================================================= + +bool StdMeshers_UseExisting_2D::Compute(SMESH_Mesh&, const TopoDS_Shape&) +{ + // This algorithm exists to allow mesh generation by mesh edition functions in TUI mode + return true; +} diff --git a/src/StdMeshers/StdMeshers_UseExisting_1D2D.hxx b/src/StdMeshers/StdMeshers_UseExisting_1D2D.hxx new file mode 100644 index 000000000..e0eedabdb --- /dev/null +++ b/src/StdMeshers/StdMeshers_UseExisting_1D2D.hxx @@ -0,0 +1,65 @@ +// 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 : StdMeshers_UseExisting_1D2D.hxx +// Module : SMESH + +#ifndef _SMESH_UseExisting_1D2D_HXX_ +#define _SMESH_UseExisting_1D2D_HXX_ + +#include "SMESH_StdMeshers.hxx" + +#include "SMESH_1D_Algo.hxx" +#include "SMESH_2D_Algo.hxx" + +/*! + * \brief 1D and 2D algorithms doing nothing to allow mesh generation + * by mesh edition functions in TUI mode + */ +class STDMESHERS_EXPORT StdMeshers_UseExisting_2D: public SMESH_2D_Algo +{ +public: + StdMeshers_UseExisting_2D(int hypId, int studyId, SMESH_Gen* gen); + + virtual bool CheckHypothesis(SMESH_Mesh& aMesh, + const TopoDS_Shape& aShape, + SMESH_Hypothesis::Hypothesis_Status& aStatus); + + virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape); + +}; + +class StdMeshers_UseExisting_1D: public SMESH_1D_Algo +{ +public: + StdMeshers_UseExisting_1D(int hypId, int studyId, SMESH_Gen* gen); + + virtual bool CheckHypothesis(SMESH_Mesh& aMesh, + const TopoDS_Shape& aShape, + SMESH_Hypothesis::Hypothesis_Status& aStatus); + + virtual bool Compute(SMESH_Mesh& aMesh, const TopoDS_Shape& aShape); + +}; + +#endif -- 2.30.2