X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=idl%2FSMESH_BasicHypothesis.idl;h=eb46c3c788bbe3b947224249daf112153538f72e;hp=e3510b109e7fa8ae883dafd06a601f0e3f65b688;hb=HEAD;hpb=88141f757b048eaa5aae0be49faaf274448bbcaf diff --git a/idl/SMESH_BasicHypothesis.idl b/idl/SMESH_BasicHypothesis.idl index e3510b109..c8fcd58e0 100644 --- a/idl/SMESH_BasicHypothesis.idl +++ b/idl/SMESH_BasicHypothesis.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -26,10 +26,11 @@ #ifndef _SMESH_BASICHYPOTHESIS_IDL_ #define _SMESH_BASICHYPOTHESIS_IDL_ +#include "GEOM_Gen.idl" + #include "SALOME_Exception.idl" #include "SMESH_Hypothesis.idl" #include "SMESH_Mesh.idl" - /*! * StdMeshers: interfaces to standard hypotheses and algorithms */ @@ -161,32 +162,32 @@ module StdMeshers /*! * Builds and returns point distribution according to passed density function */ - SMESH::double_array BuildDistributionExpr( in string func, in long nbSeg, in long conv ) + SMESH::double_array BuildDistributionExpr( in string func, in long nbSeg, in long conv ) raises (SALOME::SALOME_Exception); - SMESH::double_array BuildDistributionTab( in SMESH::double_array func, in long nbSeg, in long conv ) + SMESH::double_array BuildDistributionTab( in SMESH::double_array func, in long nbSeg, in long conv ) raises (SALOME::SALOME_Exception); /*! * Sets parameter value */ - void SetNumberOfSegments(in long segmentsNumber) + void SetNumberOfSegments(in SMESH::smIdType segmentsNumber) raises (SALOME::SALOME_Exception); /*! * Returns parameter value */ - long GetNumberOfSegments(); + long GetNumberOfSegments(); /*! * Sets parameter value */ - void SetDistrType(in long typ) + void SetDistrType(in long typ) raises (SALOME::SALOME_Exception); /*! * Returns parameter value */ - long GetDistrType(); + long GetDistrType(); /*! * Sets parameter value @@ -200,6 +201,18 @@ module StdMeshers double GetScaleFactor() raises (SALOME::SALOME_Exception); + /*! + * Sets coefficient for Beta Law distribution + */ + void SetBeta(in double beta) + raises (SALOME::SALOME_Exception); + + /*! + * Returns coefficient for Beta Law distribution + */ + double GetBeta() + raises (SALOME::SALOME_Exception); + /*! * Sets parameter value for distribution DT_TabFunc */ @@ -227,13 +240,13 @@ module StdMeshers /*! * Sets parameter value for functional distributions */ - void SetConversionMode(in long conv ) + void SetConversionMode(in long conv ) raises (SALOME::SALOME_Exception); /*! * Returns parameter value for functional distributions */ - long ConversionMode() + long ConversionMode() raises (SALOME::SALOME_Exception); }; @@ -323,13 +336,13 @@ module StdMeshers /*! * Sets parameter value */ - void SetMode(in long mode) + void SetMode(in long mode) raises (SALOME::SALOME_Exception); /*! * Returns parameter value */ - long GetMode(); + long GetMode(); }; /*! @@ -395,7 +408,7 @@ module StdMeshers */ void SetPoints(in SMESH::double_array listParams) raises (SALOME::SALOME_Exception); - void SetNbSegments(in SMESH::long_array listNbSeg) + void SetNbSegments(in SMESH::smIdType_array listNbSeg) raises (SALOME::SALOME_Exception); /*! @@ -406,7 +419,7 @@ module StdMeshers /*! * Returns list of numbers of segments */ - SMESH::long_array GetNbSegments(); + SMESH::smIdType_array GetNbSegments(); }; @@ -519,13 +532,13 @@ module StdMeshers /*! * Sets parameter value */ - void SetNumberOfLayers(in long numberOfLayers) + void SetNumberOfLayers(in long numberOfLayers) raises (SALOME::SALOME_Exception); /*! * Returns parameter value */ - long GetNumberOfLayers(); + long GetNumberOfLayers(); }; @@ -665,7 +678,7 @@ module StdMeshers * Result may be nil if association not set. * Valid indices are 1 and 2 */ - GEOM::GEOM_Object GetSourceVertex(in long i) + GEOM::GEOM_Object GetSourceVertex(in long i) raises (SALOME::SALOME_Exception); /*! @@ -673,7 +686,7 @@ module StdMeshers * Result may be nil if association not set. * Valid indices are 1 and 2 */ - GEOM::GEOM_Object GetTargetVertex(in long i) + GEOM::GEOM_Object GetTargetVertex(in long i) raises (SALOME::SALOME_Exception); }; @@ -722,7 +735,7 @@ module StdMeshers * Result may be nil if association not set. * Valid indices are 1 and 2 */ - GEOM::GEOM_Object GetSourceVertex(in long i) + GEOM::GEOM_Object GetSourceVertex(in long i) raises (SALOME::SALOME_Exception); /*! @@ -730,7 +743,7 @@ module StdMeshers * Result may be nil if association not set. * Valid indices are 1 and 2 */ - GEOM::GEOM_Object GetTargetVertex(in long i) + GEOM::GEOM_Object GetTargetVertex(in long i) raises (SALOME::SALOME_Exception); }; @@ -771,12 +784,12 @@ module StdMeshers /*! * Set base vertex for triangles */ - void SetTriaVertex( in long vertID ); + void SetTriaVertex( in long vertID ); /*! * Returns base vertex for triangles */ - long GetTriaVertex(); + long GetTriaVertex(); /*! * Set entry of the main object @@ -813,6 +826,16 @@ module StdMeshers * Returns entries of shapes defining enforced nodes */ SMESH::string_array GetEnfVertices(); + + /*! + * Set corner vertices + */ + void SetCorners( in SMESH::long_array vertexIDs ); + + /*! + * Return IDs of corner vertices + */ + SMESH::long_array GetCorners(); }; /*! @@ -914,13 +937,16 @@ module StdMeshers void SetMethod( in VLExtrusionMethod how ); VLExtrusionMethod GetMethod(); + + void SetGroupName(in string name); + string GetGroupName(); }; /*! * 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 + * Quadrangle (mapping), NETGEN, BLSURF */ interface StdMeshers_ViscousLayers2D : SMESH::SMESH_Hypothesis { @@ -955,6 +981,9 @@ module StdMeshers */ void SetStretchFactor(in double factor) raises (SALOME::SALOME_Exception); double GetStretchFactor(); + + void SetGroupName(in string name); + string GetGroupName(); }; /*! @@ -1021,7 +1050,7 @@ module StdMeshers boolean GetFixedPoint(out SMESH::PointStruct p); /*! - * Enables implementation of geometrical edges into the mesh. If this feature + * Enable implementation of geometrical edges into the mesh. If this feature * is disabled, sharp edges of the shape are lost ("smoothed") in the mesh if * they don't coincide with the grid lines */ @@ -1029,17 +1058,44 @@ module StdMeshers boolean GetToAddEdges(); /*! - * Returns axes at which a number of generated hexahedra is maximal + * Enable treatment of geom faces, either shared by solids or internal. + */ + void SetToConsiderInternalFaces(in boolean toTreat); + boolean GetToConsiderInternalFaces(); + + /*! + * Enable applying size threshold to grid cells cut by internal geom faces. + */ + void SetToUseThresholdForInternalFaces(in boolean toUse); + boolean GetToUseThresholdForInternalFaces(); + + /*! + * Enable creation of mesh faces. + */ + void SetToCreateFaces(in boolean toCreate); + boolean GetToCreateFaces(); + + /*! + * Enable creation of mesh faces. + */ + void SetToUseQuanta(in boolean toUseQuanta); + boolean GetToUseQuanta(); + + void SetQuanta(in double quanta) raises (SALOME::SALOME_Exception); + double GetQuanta(); + + /*! + * Return 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 ) + out SMESH::DirStruct z ) raises (SALOME::SALOME_Exception); /*! - * \brief Computes node coordinates by spacing functions + * \brief Compute node coordinates by spacing functions * \param x0 - lower coordinate * \param x1 - upper coordinate * \param spaceFuns - space functions @@ -1055,6 +1111,25 @@ module StdMeshers raises (SALOME::SALOME_Exception); }; + + /*! + * interface of "Renumber" hypothesis used by Hexahedron(ijk) algorithm + * to renumber mesh of a block to be structured-like + */ + struct BlockCS // Local coordinate system of a block + { + GEOM::GEOM_Object solid; + GEOM::GEOM_Object vertex000; + GEOM::GEOM_Object vertex001; + }; + typedef sequence blockcs_array; + + interface StdMeshers_BlockRenumber : SMESH::SMESH_Hypothesis + { + void SetBlocksOrientation( in blockcs_array blockCS ); + blockcs_array GetBlocksOrientation(); + }; + /*! * StdMeshers_SegmentAroundVertex_0D: interface of "SegmentAroundVertex" algorithm */ @@ -1076,13 +1151,6 @@ module StdMeshers { }; - /*! - * StdMeshers_MEFISTO_2D: interface of "Triangle (Mefisto)" algorithm - */ - interface StdMeshers_MEFISTO_2D : SMESH::SMESH_2D_Algo - { - }; - /*! * StdMeshers_Quadrangle_2D: interface of "Quadrangle (Mapping)" algorithm */ @@ -1104,6 +1172,13 @@ module StdMeshers { }; + /*! + * StdMeshers_PolyhedronPerSolid_3D: interface of "Polyhedron Per Solid" 3D algorithm + */ + interface StdMeshers_PolyhedronPerSolid_3D : SMESH::SMESH_3D_Algo + { + }; + /*! * StdMeshers_Hexa_3D: interface of "Hexahedron (i,j,k)" algorithm */ @@ -1194,6 +1269,39 @@ module StdMeshers interface StdMeshers_Cartesian_3D : SMESH::SMESH_3D_Algo { }; + /*! + * StdMeshers_Cartesian_3D: interface of "ViscousLayerBuilder" algorithm + */ + interface StdMeshers_ViscousLayerBuilder : SMESH::SMESH_2D_Algo + { + /*! + * Set faces to exclude from the definition of face to shrink + */ + void SetIgnoreFaces(in SMESH::long_array faceIDs) raises (SALOME::SALOME_Exception); + // SMESH::long_array GetIgnoreFaces(); + + /*! + * Set faces either to exclude from treatment or to make the offset geometry on. + */ + void SetFaces(in SMESH::long_array faceIDs, + in boolean toIgnore) raises (SALOME::SALOME_Exception); + // SMESH::long_array GetFaces(); + // boolean GetIsToIgnoreFaces(); + + void SetTotalThickness(in double thickness) raises (SALOME::SALOME_Exception); + void SetNumberLayers(in short numberOfLayers ) raises (SALOME::SALOME_Exception); + void SetStretchFactor(in double strechFactor ) raises (SALOME::SALOME_Exception); + void SetMethod( in VLExtrusionMethod how ) raises (SALOME::SALOME_Exception); + void SetGroupName(in string name) raises (SALOME::SALOME_Exception); + + GEOM::GEOM_Object GetShrinkGeometry( in SMESH::SMESH_Mesh finalMesh, in GEOM::GEOM_Object theObject ) raises (SALOME::SALOME_Exception); + + /*! + * Build the prismatic layer from the shrink mesh + */ + boolean AddLayers( in SMESH::SMESH_Mesh sourceMesh, in SMESH::SMESH_Mesh finalMesh, in GEOM::GEOM_Object theObject ) raises (SALOME::SALOME_Exception); + + }; };