X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FSMESH_BasicHypothesis.idl;h=2a08129a09785be9c8e2836ab4bf8e8b17d69217;hb=refs%2Fheads%2FV6_7_BR;hp=1e8218e4490b5ee594fdbcb728f44a0695bde38b;hpb=2ef67f753e648003d6ce9b1157f723461ec2251a;p=modules%2Fsmesh.git diff --git a/idl/SMESH_BasicHypothesis.idl b/idl/SMESH_BasicHypothesis.idl index 1e8218e44..2a08129a0 100644 --- a/idl/SMESH_BasicHypothesis.idl +++ b/idl/SMESH_BasicHypothesis.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2012 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 @@ -861,6 +861,101 @@ module StdMeshers double GetStretchFactor(); }; + /*! + * interface of "Viscous Layers 2D" hypothesis. + * This hypothesis specifies parameters of layers of quadrilaterals to build + * near mesh boundary. This hypothesis can be used by several 2D algorithms: + * Mefisto, Quadrangle (mapping), NETGEN, BLSURF + */ + interface StdMeshers_ViscousLayers2D : SMESH::SMESH_Hypothesis + { + /*! + * Set edges to exclude from treatment + */ + void SetIgnoreEdges(in SMESH::long_array edgeIDs) raises (SALOME::SALOME_Exception); + SMESH::long_array GetIgnoreEdges(); + + /*! + * Set total thickness of layers of prisms + */ + void SetTotalThickness(in double thickness) raises (SALOME::SALOME_Exception); + double GetTotalThickness(); + + /*! + * Set number of layers of prisms + */ + void SetNumberLayers(in short nb) raises (SALOME::SALOME_Exception); + short GetNumberLayers(); + + /*! + * Set factor (>1.0) of growth of layer thickness towards inside of mesh + */ + void SetStretchFactor(in double factor) raises (SALOME::SALOME_Exception); + double GetStretchFactor(); + }; + + /*! + * interface of "Body fitting Parameters" hypothesis. + * This hypothesis specifies + * - Definition of the Cartesian grid + * - Size threshold + */ + interface StdMeshers_CartesianParameters3D : SMESH::SMESH_Hypothesis + { + /*! + * Set size threshold. A polyhedral cell got by cutting an initial + * hexahedron by geometry boundary is considered small and is removed if + * it's size is \athreshold times less than the size of the initial hexahedron. + * threshold must be > 1.0 + */ + void SetSizeThreshold(in double threshold) raises (SALOME::SALOME_Exception); + double GetSizeThreshold(); + + /*! + * \brief Return true if the grid is defined by spacing functions and + * not by node coordinates in given direction (X==0,...) + */ + boolean IsGridBySpacing(in short axis); + + /*! + * Set coordinates of nodes along an axis (counterd from zero) + */ + void SetGrid(in SMESH::double_array coords, + in short axis) raises (SALOME::SALOME_Exception); + SMESH::double_array GetGrid(in short axis) raises (SALOME::SALOME_Exception); + + /*! + * \brief Set grid spacing along an axis + * \param spaceFunctions - functions defining spacing values at given point on axis + * \param internalPoints - points dividing a grid into parts along an axis + * \param axis - index of an axis counterd from zero, i.e. 0==X, 1==Y, 2==Z + * + * Parameter t of spaceFunction f(t) is a position [0,1] withing bounding box of + * the shape to mesh or withing an interval defined by internal points + */ + void SetGridSpacing(in SMESH::string_array spaceFunctions, + in SMESH::double_array internalPoints, + in short axis) raises (SALOME::SALOME_Exception); + + void GetGridSpacing(out SMESH::string_array spaceFunctions, + out SMESH::double_array internalPoints, + in short axis) raises (SALOME::SALOME_Exception); + + /*! + * \brief Computes node coordinates by spacing functions + * \param x0 - lower coordinate + * \param x1 - upper coordinate + * \param spaceFuns - space functions + * \param points - internal points + * \param coords - the computed coordinates + */ + SMESH::double_array ComputeCoordinates(in double x0, + in double x1, + in SMESH::string_array spaceFuns, + in SMESH::double_array points, + in string axisName ) raises (SALOME::SALOME_Exception); + }; + /*! * StdMeshers_SegmentAroundVertex_0D: interface of "SegmentAroundVertex" algorithm */ @@ -931,6 +1026,13 @@ module StdMeshers { }; + /*! + * StdMeshers_Projection_1D2D: interface of "Projection 1D-2D" algorithm + */ + interface StdMeshers_Projection_1D2D : SMESH::SMESH_2D_Algo + { + }; + /*! * StdMeshers_Projection_1D: interface of "Projection 1D" algorithm */ @@ -973,6 +1075,12 @@ module StdMeshers interface StdMeshers_Import_1D : SMESH::SMESH_1D_Algo { }; + /*! + * StdMeshers_Cartesian_3D: interface of "Body fitting" algorithm + */ + interface StdMeshers_Cartesian_3D : SMESH::SMESH_3D_Algo + { + }; };