X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_BasicHypothesis.idl;h=6bef50d0bd363726a6f5fbca3b2ca2fa5c0e04f5;hp=186b066810f8dfa2267aaaa9ad1a16498a9e4fe1;hb=6bac08c1a81f34d3f21c550bd92f83654b2546a5;hpb=f7aba4830d53719b963fdb7fccc98b760fdef2d1;ds=sidebyside diff --git a/idl/SMESH_BasicHypothesis.idl b/idl/SMESH_BasicHypothesis.idl index 186b06681..6bef50d0b 100644 --- a/idl/SMESH_BasicHypothesis.idl +++ b/idl/SMESH_BasicHypothesis.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 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 @@ -6,7 +6,7 @@ // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -857,6 +857,21 @@ module StdMeshers void GetCopySourceMesh(out boolean toCopyMesh,out boolean toCopyGroups); }; + /*! + * Method of computing translation of a node at Viscous Layers construction + */ + enum VLExtrusionMethod { + // node is translated along normal to a surface with possible further smoothing + SURF_OFFSET_SMOOTH, + // node is translated along the average normal of surrounding faces till + // intersection with a neighbor face translated along its own normal + // by the layers thickness + FACE_OFFSET, + // node is translated along the average normal of surrounding faces + // by the layers thickness + NODE_OFFSET + }; + /*! * interface of "Viscous Layers" hypothesis. * This hypothesis specifies parameters of layers of prisms to build @@ -896,6 +911,9 @@ module StdMeshers */ void SetStretchFactor(in double factor) raises (SALOME::SALOME_Exception); double GetStretchFactor(); + + void SetMethod( in VLExtrusionMethod how ); + VLExtrusionMethod GetMethod(); }; /*! @@ -942,8 +960,9 @@ module StdMeshers /*! * interface of "Body fitting Parameters" hypothesis. * This hypothesis specifies - * - Definition of the Cartesian grid * - Size threshold + * - Definition of the Cartesian grid + * - Direction of grid axes */ interface StdMeshers_CartesianParameters3D : SMESH::SMESH_Hypothesis { @@ -965,8 +984,8 @@ module StdMeshers /*! * Set coordinates of nodes along an axis (countered from zero) */ - void SetGrid(in SMESH::double_array coords, - in short axis) raises (SALOME::SALOME_Exception); + 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); /*! @@ -985,6 +1004,22 @@ module StdMeshers void GetGridSpacing(out SMESH::string_array spaceFunctions, out SMESH::double_array internalPoints, in short axis) raises (SALOME::SALOME_Exception); + /*! + * Set custom direction of axes + */ + void SetAxesDirs(in SMESH::DirStruct x, + in SMESH::DirStruct y, + in SMESH::DirStruct z ) raises (SALOME::SALOME_Exception); + void GetAxesDirs(out SMESH::DirStruct x, + out SMESH::DirStruct y, + out SMESH::DirStruct z ); + /*! + * Set/unset a fixed point, at which a node will be created provided that grid + * is defined by spacing in all directions + */ + void SetFixedPoint(in SMESH::PointStruct p, in boolean toUnset); + boolean GetFixedPoint(out SMESH::PointStruct p); + /*! * Enables implementation of geometrical edges into the mesh. If this feature * is disabled, sharp edges of the shape are lost ("smoothed") in the mesh if @@ -993,6 +1028,16 @@ module StdMeshers void SetToAddEdges(in boolean toAdd); boolean GetToAddEdges(); + /*! + * Returns axes at which a number of generated hexahedra is maximal + */ + void ComputeOptimalAxesDirs(in GEOM::GEOM_Object shape, + in boolean isOrthogonal, + out SMESH::DirStruct x, + out SMESH::DirStruct y, + out SMESH::DirStruct z ) + raises (SALOME::SALOME_Exception); + /*! * \brief Computes node coordinates by spacing functions * \param x0 - lower coordinate