Back to index

salome-smesh  6.5.0
SMESH_BasicHypothesis.idl
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
00002 //
00003 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
00004 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
00005 //
00006 // This library is free software; you can redistribute it and/or
00007 // modify it under the terms of the GNU Lesser General Public
00008 // License as published by the Free Software Foundation; either
00009 // version 2.1 of the License.
00010 //
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014 // Lesser General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU Lesser General Public
00017 // License along with this library; if not, write to the Free Software
00018 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00019 //
00020 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00021 //
00022 
00023 //  File   : SMESH_BasicHypothesis.idl
00024 //  Author : Paul RASCLE, EDF
00025 //
00026 #ifndef _SMESH_BASICHYPOTHESIS_IDL_
00027 #define _SMESH_BASICHYPOTHESIS_IDL_
00028 
00029 #include "SALOME_Exception.idl"
00030 #include "SMESH_Hypothesis.idl"
00031 #include "SMESH_Mesh.idl"
00032 
00036 module StdMeshers
00037 {
00041   interface StdMeshers_LocalLength : SMESH::SMESH_Hypothesis
00042   {
00046     void SetLength(in double length)
00047       raises (SALOME::SALOME_Exception);
00048 
00061     void SetPrecision(in double precision)
00062       raises (SALOME::SALOME_Exception);
00063 
00067     double GetLength();
00068 
00072     double GetPrecision();
00073   };
00074 
00078   interface StdMeshers_MaxLength : SMESH::SMESH_Hypothesis
00079   {
00083     void SetLength(in double length)
00084       raises (SALOME::SALOME_Exception);
00088     double GetLength();
00092     boolean HavePreestimatedLength();
00096     double GetPreestimatedLength();
00100     void SetPreestimatedLength(in double length);
00105     void SetUsePreestimatedLength(in boolean toUse);
00110     boolean GetUsePreestimatedLength();
00111   };
00112 
00116   interface StdMeshers_AutomaticLength : SMESH::SMESH_Hypothesis
00117   {
00121     void SetFineness(in double theFineness)
00122       raises (SALOME::SALOME_Exception);
00123 
00127     double GetFineness();
00128   };
00129 
00133   interface StdMeshers_NumberOfSegments : SMESH::SMESH_Hypothesis
00134   {
00138     SMESH::double_array BuildDistributionExpr( in string func, in long nbSeg, in long conv )
00139       raises (SALOME::SALOME_Exception);
00140     SMESH::double_array BuildDistributionTab( in SMESH::double_array func, in long nbSeg, in long conv )
00141       raises (SALOME::SALOME_Exception);
00142   
00146     void SetNumberOfSegments(in long segmentsNumber)
00147       raises (SALOME::SALOME_Exception);
00148 
00152     long GetNumberOfSegments();
00153 
00157     void SetDistrType(in long typ)
00158       raises (SALOME::SALOME_Exception);
00159 
00163     long GetDistrType();
00164 
00168     void SetScaleFactor(in double scaleFactor)
00169       raises (SALOME::SALOME_Exception);
00170 
00174     double GetScaleFactor()
00175       raises (SALOME::SALOME_Exception);
00176 
00180     void SetTableFunction(in SMESH::double_array table)
00181       raises (SALOME::SALOME_Exception);
00182 
00186     SMESH::double_array GetTableFunction()
00187       raises (SALOME::SALOME_Exception);
00188 
00192     void SetExpressionFunction(in string expr)
00193       raises (SALOME::SALOME_Exception);
00194 
00198     string GetExpressionFunction()
00199       raises (SALOME::SALOME_Exception);
00200 
00204     void SetConversionMode(in long conv )
00205       raises (SALOME::SALOME_Exception);
00206 
00210     long ConversionMode()
00211       raises (SALOME::SALOME_Exception);
00212 
00216     void SetReversedEdges( in SMESH::long_array list );
00217     
00221     SMESH::long_array GetReversedEdges();
00222     
00226     void SetObjectEntry( in string entry );
00227     
00231     string GetObjectEntry();
00232   };
00233 
00237   interface StdMeshers_Arithmetic1D : SMESH::SMESH_Hypothesis
00238   {
00244     void SetLength(in double length, in boolean isStartLength) 
00245       raises (SALOME::SALOME_Exception);
00246 
00250     void SetStartLength(in double length) 
00251       raises (SALOME::SALOME_Exception);
00252 
00256     void SetEndLength(in double length)
00257       raises (SALOME::SALOME_Exception);
00258 
00262     double GetLength(in boolean isStartLength);
00263     
00267     void SetReversedEdges( in SMESH::long_array list );
00268     
00272     SMESH::long_array GetReversedEdges();
00273     
00277     void SetObjectEntry( in string entry );
00278     
00282     string GetObjectEntry();
00283   };
00284 
00288   interface StdMeshers_MaxElementArea : SMESH::SMESH_Hypothesis
00289   {
00293     void SetMaxElementArea(in double area) 
00294       raises (SALOME::SALOME_Exception);
00295 
00299     double GetMaxElementArea();
00300   };
00301 
00305   interface StdMeshers_LengthFromEdges : SMESH::SMESH_Hypothesis
00306   {
00310     void SetMode(in long mode) 
00311       raises (SALOME::SALOME_Exception);
00312 
00316     long GetMode();
00317   };
00318 
00322   interface StdMeshers_StartEndLength : SMESH::SMESH_Hypothesis
00323   {
00329     void SetLength(in double length, in boolean isStartLength) 
00330       raises (SALOME::SALOME_Exception);
00331 
00335     void SetStartLength(in double length) 
00336       raises (SALOME::SALOME_Exception);
00337 
00341     void SetEndLength(in double length)
00342       raises (SALOME::SALOME_Exception);
00343 
00347     double GetLength(in boolean isStartLength);
00348 
00352     void SetReversedEdges( in SMESH::long_array list );
00353     
00357     SMESH::long_array GetReversedEdges();
00358     
00362     void SetObjectEntry( in string entry );
00363     
00367     string GetObjectEntry();
00368   };
00369 
00370 
00374   interface StdMeshers_Deflection1D : SMESH::SMESH_Hypothesis
00375   {
00379     void SetDeflection(in double deflection)
00380       raises (SALOME::SALOME_Exception);
00381 
00385     double GetDeflection();
00386   };
00387 
00388 
00392   interface StdMeshers_FixedPoints1D : SMESH::SMESH_Hypothesis
00393   {
00400     void SetPoints(in SMESH::double_array listParams) 
00401       raises (SALOME::SALOME_Exception);
00402     void SetNbSegments(in SMESH::long_array listNbSeg) 
00403       raises (SALOME::SALOME_Exception);
00404 
00408     SMESH::double_array GetPoints();
00409     
00413     SMESH::long_array GetNbSegments();
00414     
00418     void SetReversedEdges( in SMESH::long_array list );
00419     
00423     SMESH::long_array GetReversedEdges();
00424     
00428     void SetObjectEntry( in string entry );
00429     
00433     string GetObjectEntry();
00434   };
00435 
00436 
00440   interface StdMeshers_MaxElementVolume : SMESH::SMESH_Hypothesis
00441   {
00445     void SetMaxElementVolume(in double volume) 
00446       raises (SALOME::SALOME_Exception);
00447 
00451     double GetMaxElementVolume();
00452   };
00453 
00458   interface StdMeshers_NotConformAllowed : SMESH::SMESH_Hypothesis
00459   {
00460   };
00461 
00468   interface StdMeshers_Propagation : SMESH::SMESH_Hypothesis
00469   {
00470   };
00471 
00479   interface StdMeshers_QuadranglePreference : SMESH::SMESH_Hypothesis
00480   {
00481   };
00482 
00493   interface StdMeshers_QuadraticMesh : SMESH::SMESH_Hypothesis
00494   {
00495   };
00496 
00497 
00504   interface StdMeshers_NumberOfLayers : SMESH::SMESH_Hypothesis
00505   {
00509     void SetNumberOfLayers(in long numberOfLayers) 
00510       raises (SALOME::SALOME_Exception);
00511 
00515     long GetNumberOfLayers();
00516 
00517   };
00518 
00525   interface StdMeshers_LayerDistribution : SMESH::SMESH_Hypothesis
00526   {
00530     void SetLayerDistribution(in SMESH::SMESH_Hypothesis distributionHyp) 
00531       raises (SALOME::SALOME_Exception);
00532 
00536     SMESH::SMESH_Hypothesis GetLayerDistribution();
00537 
00538   };
00539 
00546   interface StdMeshers_NumberOfLayers2D : StdMeshers_NumberOfLayers
00547   {
00548   };
00549 
00556   interface StdMeshers_LayerDistribution2D : StdMeshers_LayerDistribution
00557   {
00558   };
00559 
00566   interface StdMeshers_ProjectionSource1D : SMESH::SMESH_Hypothesis
00567   {
00571     void SetSourceEdge(in GEOM::GEOM_Object edge)
00572       raises (SALOME::SALOME_Exception);
00573 
00577     GEOM::GEOM_Object GetSourceEdge();
00578 
00582     void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
00583 
00587     SMESH::SMESH_Mesh GetSourceMesh();
00588 
00593     void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex,
00594                               in GEOM::GEOM_Object targetVertex)
00595       raises (SALOME::SALOME_Exception);
00596 
00601     GEOM::GEOM_Object  GetSourceVertex();
00602 
00607     GEOM::GEOM_Object  GetTargetVertex();
00608   };
00609 
00616   interface StdMeshers_ProjectionSource2D : SMESH::SMESH_Hypothesis
00617   {
00621     void SetSourceFace(in GEOM::GEOM_Object face)
00622       raises (SALOME::SALOME_Exception);
00623 
00627     GEOM::GEOM_Object GetSourceFace();
00628 
00632     void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
00633 
00637     SMESH::SMESH_Mesh GetSourceMesh();
00638 
00644     void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex1,
00645                               in GEOM::GEOM_Object sourceVertex2,
00646                               in GEOM::GEOM_Object targetVertex1,
00647                               in GEOM::GEOM_Object targetVertex2)
00648       raises (SALOME::SALOME_Exception);
00649 
00655     GEOM::GEOM_Object  GetSourceVertex(in long i)
00656       raises (SALOME::SALOME_Exception);
00657 
00663     GEOM::GEOM_Object  GetTargetVertex(in long i)
00664       raises (SALOME::SALOME_Exception);
00665   };
00666 
00673   interface StdMeshers_ProjectionSource3D : SMESH::SMESH_Hypothesis
00674   {
00678     void SetSource3DShape(in GEOM::GEOM_Object shape)
00679       raises (SALOME::SALOME_Exception);
00680 
00684     GEOM::GEOM_Object GetSource3DShape();
00685 
00689     void SetSourceMesh(in SMESH::SMESH_Mesh mesh);
00690 
00694     SMESH::SMESH_Mesh GetSourceMesh();
00695 
00701     void SetVertexAssociation(in GEOM::GEOM_Object sourceVertex1,
00702                               in GEOM::GEOM_Object sourceVertex2,
00703                               in GEOM::GEOM_Object targetVertex1,
00704                               in GEOM::GEOM_Object targetVertex2)
00705       raises (SALOME::SALOME_Exception);
00706 
00712     GEOM::GEOM_Object  GetSourceVertex(in long i)
00713       raises (SALOME::SALOME_Exception);
00714 
00720     GEOM::GEOM_Object  GetTargetVertex(in long i)
00721       raises (SALOME::SALOME_Exception);
00722   };
00723 
00729   interface StdMeshers_SegmentLengthAroundVertex : SMESH::SMESH_Hypothesis
00730   {
00734     void SetLength(in double length)
00735       raises (SALOME::SALOME_Exception);
00736 
00740     double GetLength();
00741   };
00742 
00746   enum QuadType
00747   {
00748     QUAD_STANDARD,
00749     QUAD_TRIANGLE_PREF,
00750     QUAD_QUADRANGLE_PREF,
00751     QUAD_QUADRANGLE_PREF_REVERSED,
00752     QUAD_REDUCED,
00753     QUAD_NB_TYPES /* this is not a type of quadrangulation */
00754   };
00755 
00756   interface StdMeshers_QuadrangleParams : SMESH::SMESH_Hypothesis
00757   {
00761     void SetTriaVertex( in long vertID );
00762     
00766     long GetTriaVertex();
00767     
00771     void SetObjectEntry( in string entry );
00772     
00776     string GetObjectEntry();
00777     
00781     void SetQuadType( in QuadType type );
00782 
00786     QuadType GetQuadType();
00787   };
00788 
00794   interface StdMeshers_ImportSource1D : SMESH::SMESH_Hypothesis
00795   {
00799     void SetSourceEdges(in SMESH::ListOfGroups groups);
00800     SMESH::string_array GetSourceEdges();
00801 
00806     void SetCopySourceMesh(in boolean toCopyMesh, in boolean toCopyGroups);
00807     void GetCopySourceMesh(out boolean toCopyMesh,out boolean toCopyGroups);
00808   };
00809 
00815   interface StdMeshers_ImportSource2D : SMESH::SMESH_Hypothesis
00816   {
00820     void SetSourceFaces(in SMESH::ListOfGroups groups);
00821     SMESH::string_array GetSourceFaces();
00822 
00827     void SetCopySourceMesh(in boolean toCopyMesh,in boolean toCopyGroups);
00828     void GetCopySourceMesh(out boolean toCopyMesh,out boolean toCopyGroups);
00829   };
00830 
00837   interface StdMeshers_ViscousLayers : SMESH::SMESH_Hypothesis
00838   {
00842     void SetIgnoreFaces(in SMESH::long_array faceIDs) raises (SALOME::SALOME_Exception);
00843     SMESH::long_array GetIgnoreFaces();
00844 
00848     void SetTotalThickness(in double thickness) raises (SALOME::SALOME_Exception);
00849     double GetTotalThickness();
00850 
00854     void SetNumberLayers(in short nb) raises (SALOME::SALOME_Exception);
00855     short GetNumberLayers();
00856 
00860     void SetStretchFactor(in double factor) raises (SALOME::SALOME_Exception);
00861     double GetStretchFactor();
00862   };
00863 
00870   interface StdMeshers_CartesianParameters3D : SMESH::SMESH_Hypothesis
00871   {
00878     void SetSizeThreshold(in double threshold) raises (SALOME::SALOME_Exception);
00879     double GetSizeThreshold();
00880 
00885     boolean IsGridBySpacing(in short axis);
00886 
00890     void SetGrid(in SMESH::double_array coords,
00891                  in short               axis) raises (SALOME::SALOME_Exception);
00892     SMESH::double_array GetGrid(in short axis) raises (SALOME::SALOME_Exception);
00893 
00903     void SetGridSpacing(in SMESH::string_array spaceFunctions,
00904                         in SMESH::double_array internalPoints,
00905                         in short               axis) raises (SALOME::SALOME_Exception);
00906 
00907     void GetGridSpacing(out SMESH::string_array spaceFunctions,
00908                         out SMESH::double_array internalPoints,
00909                         in short                axis) raises (SALOME::SALOME_Exception);
00910 
00919     SMESH::double_array ComputeCoordinates(in double              x0,
00920                                            in double              x1,
00921                                            in SMESH::string_array spaceFuns,
00922                                            in SMESH::double_array points,
00923                                            in string              axisName ) raises (SALOME::SALOME_Exception);
00924   };
00925 
00929   interface StdMeshers_SegmentAroundVertex_0D : SMESH::SMESH_0D_Algo
00930   {
00931   };
00932 
00936   interface StdMeshers_Regular_1D : SMESH::SMESH_1D_Algo
00937   {
00938   };
00939 
00943   interface StdMeshers_CompositeSegment_1D : SMESH::SMESH_1D_Algo
00944   {
00945   };
00946 
00950   interface StdMeshers_MEFISTO_2D : SMESH::SMESH_2D_Algo
00951   {
00952   };
00953 
00957   interface StdMeshers_Quadrangle_2D : SMESH::SMESH_2D_Algo
00958   {
00959   };
00960 
00964   interface StdMeshers_Hexa_3D : SMESH::SMESH_3D_Algo
00965   {
00966   };
00967 
00971   interface StdMeshers_Prism_3D : SMESH::SMESH_3D_Algo
00972   {
00973   };
00974 
00978   interface StdMeshers_RadialPrism_3D : SMESH::SMESH_3D_Algo
00979   {
00980   };
00981 
00985   interface StdMeshers_Projection_3D : SMESH::SMESH_3D_Algo
00986   {
00987   };
00988 
00992   interface StdMeshers_Projection_2D : SMESH::SMESH_2D_Algo
00993   {
00994   };
00995 
00999   interface StdMeshers_Projection_1D2D : SMESH::SMESH_2D_Algo
01000   {
01001   };
01002 
01006   interface StdMeshers_Projection_1D : SMESH::SMESH_1D_Algo
01007   {
01008   };
01009 
01014   interface StdMeshers_UseExisting_2D : SMESH::SMESH_2D_Algo
01015   {
01016   };
01017 
01022   interface StdMeshers_UseExisting_1D : SMESH::SMESH_1D_Algo
01023   {
01024   };
01025 
01029   interface StdMeshers_RadialQuadrangle_1D2D : SMESH::SMESH_2D_Algo
01030   {
01031   };
01032 
01036   interface StdMeshers_Import_1D2D : SMESH::SMESH_2D_Algo
01037   {
01038   };
01042   interface StdMeshers_Import_1D : SMESH::SMESH_1D_Algo
01043   {
01044   };
01048   interface StdMeshers_Cartesian_3D : SMESH::SMESH_3D_Algo
01049   {
01050   };
01051 
01052 };
01053 
01054 #endif