-// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#ifndef _SMESH_BLSURFALGORITHM_IDL_
#define _SMESH_BLSURFALGORITHM_IDL_
-#include "SMESH_Hypothesis.idl"
#include "GEOM_Gen.idl"
#include "SALOME_Exception.idl"
+#include "SMESH_Hypothesis.idl"
+#include "SMESH_Mesh.idl"
/*!
* BLSURFPlugin: interfaces to BLSURF related hypotheses and algorithms
{
typedef sequence<string> string_array;
+ // Enforced 1D Mesh
+ struct MG_EnforcedMesh1D
+ {
+ SMESH::SMESH_IDSource mesh; // mesh, group or sub-mesh
+ string groupName; // optional name of a group to add mesh edges to
+ };
+ typedef sequence< MG_EnforcedMesh1D > EnforcedMeshesList;
+
// Enforced vertex name
typedef string TEnfName;
// Entry
typedef sequence<TEntry> TEntryList;
// Group name
typedef string TEnfGroupName;
-
+
// Coordinates of enforced vertex
typedef sequence<double,3> TEnfVertexCoords;
// List of coords
typedef sequence<TEnfVertexCoords> TEnfVertexCoordsList;
-
+
// Enforced vertex
struct TEnfVertex {
TEnfName name;
typedef sequence<TPreCadPeriodicity> TPeriodicityList;
// Hyper-patches
- typedef sequence<long> THyperPatch;
- typedef sequence<THyperPatch> THyperPatchList;
+ typedef sequence< long > THyperPatch;
+ typedef sequence< THyperPatch > THyperPatchList;
+ typedef sequence< string > THyperPatchEntries;
+ typedef sequence< THyperPatchEntries > THyperPatchEntriesList;
+ typedef sequence< GEOM::ListOfGO > THyperPatchShapesList;
/*!
* BLSURFPlugin_BLSURF: interface of BLSURF algorithm
interface BLSURFPlugin_Hypothesis : SMESH::SMESH_Hypothesis
{
+ /*!
+ * Get version of MeshGems suite.
+ * The version is a string in form <major>.<minor>-<patch>. Example: "2.9-6".
+ */
+ string GetMeshGemsVersion();
+
/*!
*Set a way to define size of mesh elements to generate
* 0 - size is defined automatically
/*!
* Activate/deactivate surface proximity computation
*/
- void SetUseSurfaceProximity( in boolean toUse );
- boolean GetUseSurfaceProximity();
+ void SetSurfaceProximity( in boolean toUse );
+ boolean GetSurfaceProximity();
/*!
* Set number of surface element layers to be generated due to surface proximity
/*!
* Activate/deactivate volume proximity computation
*/
- void SetUseVolumeProximity( in boolean toUse );
- boolean GetUseVolumeProximity();
+ void SetVolumeProximity( in boolean toUse );
+ boolean GetVolumeProximity();
/*!
* Set number of surface element layers to be generated due to volume proximity
double GetVolumeProximityRatio();
/*!
- *Set verbosity level in the range 0 to 100.
+ * Set verbosity level in the range 0 to 10.
*/
void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception);
short GetVerbosity();
+ /*!
+ * Set/Get enforced 1D meshes
+ */
+ void SetEnforcedMeshes( in EnforcedMeshesList enforcedMeshes );
+ EnforcedMeshesList GetEnforcedMeshes();
+
/*!
* Set enforce_cad_edge_sizes parameter
*
* Set hyper-patches
*/
void SetHyperPatches(in THyperPatchList hpl);
- THyperPatchList GetHyperPatches();
+ THyperPatchList GetHyperPatches( in GEOM::GEOM_Object mainShape );
+ void SetHyperPatchShapes(in THyperPatchShapesList hpsl);
+ THyperPatchEntriesList GetHyperPatchShapes();
+ void SetHyperPatchEntries(in THyperPatchEntriesList hpel);
/*!
* To merges edges.