From 66c9ed658fe414ef9db70ba2e0a288dbefb691d3 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 15 Nov 2007 14:36:57 +0000 Subject: [PATCH] PAL17694 (New Tool About Hexahedral Meshing) + StdMeshers_UseExisting_1D2D.hxx --- src/StdMeshers/Makefile.in | 6 +- .../StdMeshers_UseExisting_1D2D.cxx | 102 ++++++++++++++++++ .../StdMeshers_UseExisting_1D2D.hxx | 63 +++++++++++ 3 files changed, 169 insertions(+), 2 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.in b/src/StdMeshers/Makefile.in index 632e8cb95..20a4e89ca 100644 --- a/src/StdMeshers/Makefile.in +++ b/src/StdMeshers/Makefile.in @@ -65,8 +65,9 @@ EXPORT_HEADERS = \ StdMeshers_LayerDistribution.hxx \ StdMeshers_SegmentAroundVertex_0D.hxx \ StdMeshers_SegmentLengthAroundVertex.hxx \ + StdMeshers_FaceSide.hxx \ StdMeshers_CompositeSegment_1D.hxx \ - StdMeshers_FaceSide.hxx + StdMeshers_UseExisting_1D2D.hxx EXPORT_PYSCRIPTS = @@ -108,7 +109,8 @@ LIB_SRC = \ StdMeshers_SegmentAroundVertex_0D.cxx \ StdMeshers_SegmentLengthAroundVertex.cxx \ StdMeshers_FaceSide.cxx \ - StdMeshers_CompositeSegment_1D.cxx + StdMeshers_CompositeSegment_1D.cxx \ + StdMeshers_UseExisting_1D2D.cxx LIB_SERVER_IDL = 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..7838e91a8 --- /dev/null +++ b/src/StdMeshers/StdMeshers_UseExisting_1D2D.hxx @@ -0,0 +1,63 @@ +// 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_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_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.39.2