X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_BasicHypothesis.idl;h=871f077148b64e3e20c525831e1d355969c724d8;hp=5978aa052120b4b9fd93a26b847912f0a1c5ff1d;hb=aa67cc96d730566d202d1014d97b7f0b3a4d71f4;hpb=79b1ac2b6df9117f16f11d444b1f165d477a1813 diff --git a/idl/SMESH_BasicHypothesis.idl b/idl/SMESH_BasicHypothesis.idl index 5978aa052..871f07714 100644 --- a/idl/SMESH_BasicHypothesis.idl +++ b/idl/SMESH_BasicHypothesis.idl @@ -1,27 +1,28 @@ -// 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 +// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE // +// Copyright (C) 2003-2007 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_BasicHypothesis.idl // Author : Paul RASCLE, EDF - +// #ifndef _SMESH_BASICHYPOTHESIS_IDL_ #define _SMESH_BASICHYPOTHESIS_IDL_ @@ -29,7 +30,6 @@ #include "SMESH_Hypothesis.idl" #include "SMESH_Mesh.idl" - /*! * StdMeshers: interfaces to standard hypotheses and algorithms */ @@ -72,6 +72,44 @@ module StdMeshers double GetPrecision(); }; + /*! + * StdMeshers_MaxLength: interface of "Max length" hypothesis + */ + interface StdMeshers_MaxLength : SMESH::SMESH_Hypothesis + { + /*! + * Sets parameter value + */ + void SetLength(in double length) + raises (SALOME::SALOME_Exception); + /*! + * Returns parameter value + */ + double GetLength(); + /*! + * Returns true if preestemated length is defined + */ + boolean HavePreestimatedLength(); + /*! + * Returns preestemated length + */ + double GetPreestimatedLength(); + /*! + * Sets preestemated length + */ + void SetPreestimatedLength(in double length); + /*! + * Sets boolean parameter enabling/desabling usage of length computed + * basing on size of bounding box of shape to mesh + */ + void SetUsePreestimatedLength(in boolean toUse); + /*! + * Returns value of boolean parameter enabling/desabling usage of length computed + * basing on size of bounding box of shape to mesh + */ + boolean GetUsePreestimatedLength(); + }; + /*! * StdMeshers_AutomaticLength: interface of "Automatic length" hypothesis */ @@ -171,6 +209,26 @@ module StdMeshers */ long ConversionMode() raises (SALOME::SALOME_Exception); + + /*! + * Set list of edges to reverse + */ + void SetReversedEdges( in SMESH::long_array list ); + + /*! + * Returns list of edges to reverse + */ + SMESH::long_array GetReversedEdges(); + + /*! + * Set entry of the main object + */ + void SetObjectEntry( in string entry ); + + /*! + * Get the entry of the main object + */ + string GetObjectEntry(); }; /*! @@ -180,14 +238,48 @@ module StdMeshers { /*! * Sets or parameter value + * * OBSOLETE *. Avoid such a way of interface design + * * It is recommended to dedicate a method to each parameter. */ void SetLength(in double length, in boolean isStartLength) raises (SALOME::SALOME_Exception); + /*! + * Sets parameter value + */ + void SetStartLength(in double length) + raises (SALOME::SALOME_Exception); + + /*! + * Sets parameter value + */ + void SetEndLength(in double length) + raises (SALOME::SALOME_Exception); + /*! * Returns or parameter value */ double GetLength(in boolean isStartLength); + + /*! + * Set list of edges to reverse + */ + void SetReversedEdges( in SMESH::long_array list ); + + /*! + * Returns list of edges to reverse + */ + SMESH::long_array GetReversedEdges(); + + /*! + * Set entry of the main object + */ + void SetObjectEntry( in string entry ); + + /*! + * Get the entry of the main object + */ + string GetObjectEntry(); }; /*! @@ -231,14 +323,48 @@ module StdMeshers { /*! * Sets or parameter value + * * OBSOLETE *. Avoid such a way of interface design. + * * It is recommended to dedicate a method to each parameter. */ void SetLength(in double length, in boolean isStartLength) raises (SALOME::SALOME_Exception); + /*! + * Sets parameter value + */ + void SetStartLength(in double length) + raises (SALOME::SALOME_Exception); + + /*! + * Sets parameter value + */ + void SetEndLength(in double length) + raises (SALOME::SALOME_Exception); + /*! * Returns or parameter value */ double GetLength(in boolean isStartLength); + + /*! + * Set list of edges to reverse + */ + void SetReversedEdges( in SMESH::long_array list ); + + /*! + * Returns list of edges to reverse + */ + SMESH::long_array GetReversedEdges(); + + /*! + * Set entry of the main object + */ + void SetObjectEntry( in string entry ); + + /*! + * Get the entry of the main object + */ + string GetObjectEntry(); }; @@ -260,6 +386,54 @@ module StdMeshers }; + /*! + * StdMeshers_FixedPoints1D: interface of "Fixed points 1D" hypothesis + */ + interface StdMeshers_FixedPoints1D : SMESH::SMESH_Hypothesis + { + /*! + * Sets some points on edge using parameter on curve from 0 to 1 + * (additionally it is neecessary to check orientation of edges and + * create list of reversed edges if it is needed) and sets numbers + * of segments between given points (default values are equals 1) + */ + void SetPoints(in SMESH::double_array listParams) + raises (SALOME::SALOME_Exception); + void SetNbSegments(in SMESH::long_array listNbSeg) + raises (SALOME::SALOME_Exception); + + /*! + * Returns list of point's parameters + */ + SMESH::double_array GetPoints(); + + /*! + * Returns list of numbers of segments + */ + SMESH::long_array GetNbSegments(); + + /*! + * Set list of edges to reverse + */ + void SetReversedEdges( in SMESH::long_array list ); + + /*! + * Returns list of edges to reverse + */ + SMESH::long_array GetReversedEdges(); + + /*! + * Set entry of the main object + */ + void SetObjectEntry( in string entry ); + + /*! + * Get the entry of the main object + */ + string GetObjectEntry(); + }; + + /*! * StdMeshers_MaxElementVolume: interface of "Max. Hexahedron or Tetrahedron Volume" hypothesis */ @@ -306,6 +480,16 @@ module StdMeshers { }; + /*! + * StdMeshers_TrianglePreference: interface of "TrianglePreference" hypothesis. + * This hypothesis is used by StdMeshers_Quadrangle_2D algorithm. + * Presence of this hypothesis forces construction of triangles in the refinement + * area if the number of nodes on opposite edges is not the same. + */ + interface StdMeshers_TrianglePreference : SMESH::SMESH_Hypothesis + { + }; + /*! * StdMeshers_QuadraticMesh: interface of "QuadraticMesh" hypothesis. * This is an auxiliary 1D hypothesis whose presence forces construction @@ -363,6 +547,26 @@ module StdMeshers }; + /*! + * StdMeshers_NumberOfLayers2D: interface of "Nb. Layers" hypothesis. + * This hypothesis is used by "Radial quadrangle" algorithm. + * It specifies number of segments between the internal + * and the external surfaces. + */ + interface StdMeshers_NumberOfLayers2D : StdMeshers_NumberOfLayers + { + }; + + /*! + * StdMeshers_LayerDistribution2D: interface of "Distribution of Layers" hypothesis. + * This hypothesis is used by "Radial quadrangle" algorithm. + * It specifies 1D hypothesis defining distribution of segments between the internal + * and the external surfaces. + */ + interface StdMeshers_LayerDistribution2D : StdMeshers_LayerDistribution + { + }; + /*! * interface of "ProjectionSource1D" hypothesis. * This hypothesis specifies a meshed edge to take a mesh pattern from @@ -546,6 +750,32 @@ module StdMeshers double GetLength(); }; + /*! + * StdMeshers_QuadrangleParams: interface of "Quadrangle Params" hypothesis + */ + interface StdMeshers_QuadrangleParams : SMESH::SMESH_Hypothesis + { + /*! + * Set base vertex for triangles + */ + void SetTriaVertex( in long vertID ); + + /*! + * Returns base vertex for triangles + */ + long GetTriaVertex(); + + /*! + * Set entry of the main object + */ + void SetObjectEntry( in string entry ); + + /*! + * Get the entry of the main object + */ + string GetObjectEntry(); + }; + /*! * StdMeshers_SegmentAroundVertex_0D: interface of "SegmentAroundVertex" algorithm */ @@ -639,6 +869,13 @@ module StdMeshers { }; + /*! + * StdMeshers_RadialQuadrangle_1D2D: interface of "Radial quadrangle" algorithm + */ + interface StdMeshers_RadialQuadrangle_1D2D : SMESH::SMESH_2D_Algo + { + }; + }; #endif