1 // Copyright (C) 2007-2016 CEA/DEN, EDF R&D
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 // File : BLSURFPlugin_Algorithm.idl
22 // Authors : Francis KLOSS (OCC) & Patrick LAUG (INRIA) & Lioka RAZAFINDRAZAKA (CEA)
23 // Size maps developement: Nicolas GEIMER (OCC) & Gilles DAVID (EURIWARE)
26 #ifndef _SMESH_BLSURFALGORITHM_IDL_
27 #define _SMESH_BLSURFALGORITHM_IDL_
29 #include "SMESH_Hypothesis.idl"
30 #include "GEOM_Gen.idl"
31 #include "SALOME_Exception.idl"
34 * BLSURFPlugin: interfaces to BLSURF related hypotheses and algorithms
38 typedef sequence<string> string_array;
40 // Enforced vertex name
41 typedef string TEnfName;
43 typedef string TEntry;
44 typedef sequence<TEntry> TEntryList;
46 typedef string TEnfGroupName;
48 // Coordinates of enforced vertex
49 typedef sequence<double,3> TEnfVertexCoords;
51 typedef sequence<TEnfVertexCoords> TEnfVertexCoordsList;
57 TEnfVertexCoords coords;
58 TEnfGroupName grpName;
59 TEntryList faceEntries;
61 // List of enforced vertices
62 typedef sequence<TEnfVertex> TEnfVertexList;
64 // Map Face Entry / List of enforced vertices
65 struct TFaceEntryEnfVertexListMapElement {
67 TEnfVertexList enfVertexList;
69 typedef sequence<TFaceEntryEnfVertexListMapElement> TFaceEntryEnfVertexListMap;
71 // Map Face Entry / List of coords
72 struct TFaceEntryCoordsListMapElement {
74 TEnfVertexCoordsList coordsList;
76 typedef sequence<TFaceEntryCoordsListMapElement> TFaceEntryCoordsListMap;
78 // Map Face Entry / List of enf vertex entries
79 struct TFaceEntryEnfVertexEntryListMapElement {
81 TEntryList enfVertexEntryList;
83 typedef sequence<TFaceEntryEnfVertexEntryListMapElement> TFaceEntryEnfVertexEntryListMap;
85 // Map Coords / Enforced vertex
86 struct TCoordsEnfVertexElement {
87 TEnfVertexCoords coords;
90 typedef sequence<TCoordsEnfVertexElement> TCoordsEnfVertexMap;
92 // Map Enf Vertex Entry / Enforced vertex
93 struct TEnfVertexEntryEnfVertexElement {
94 TEntry enfVertexEntry;
97 typedef sequence<TEnfVertexEntryEnfVertexElement> TEnfVertexEntryEnfVertexMap;
99 // List of Face Entry with internal enforced vertices activated
100 typedef sequence<TEntry> TFaceEntryInternalVerticesList;
103 struct TAttractorParams {
111 typedef sequence<TAttractorParams> TAttParamsMap;
114 struct TPreCadPeriodicity {
117 TEntryList theSourceVerticesEntries;
118 TEntryList theTargetVerticesEntries;
121 typedef sequence<TPreCadPeriodicity> TPeriodicityList;
124 typedef sequence<long> THyperPatch;
125 typedef sequence<THyperPatch> THyperPatchList;
128 * BLSURFPlugin_BLSURF: interface of BLSURF algorithm
130 interface BLSURFPlugin_BLSURF : SMESH::SMESH_2D_Algo
135 * BLSURFPlugin_Hypothesis: interface of "BLSURF parameters" hypothesis
137 interface BLSURFPlugin_Hypothesis : SMESH::SMESH_Hypothesis
141 * Sets a way to define size of mesh elements to generate
142 * 0 - size is defined automatically
143 * 1 - size is set by SetPhySize() method
144 * 2 - size is set by SetPhySize() method. A sizemap is defined.
146 void SetPhysicalMesh(in long isCustom);
147 long GetPhysicalMesh();
150 * Sets a way to define maximum angular deflection of mesh from CAD model
151 * 0 - deflection is defined automatically
152 * 1 - deflection is set by SetAngleMesh() method
153 * 2 - deflection is set by SetAngleMesh() method. A sizemap is defined (TODO).
155 void SetGeometricMesh(in long isCustom);
156 long GetGeometricMesh();
159 * Sets size of mesh elements to generate
161 void SetPhySize(in double size);
162 void SetPhySizeRel(in double size);
164 boolean IsPhySizeRel();
167 * Sets lower boundary of mesh element size
169 void SetMinSize(in double theMinSize);
170 void SetMinSizeRel(in double theMinSize);
172 boolean IsMinSizeRel();
175 * Sets upper boundary of mesh element size
177 void SetMaxSize(in double theMaxSize);
178 void SetMaxSizeRel(in double theMaxSize);
180 boolean IsMaxSizeRel();
183 * Sets maximal allowed ratio between the lengths of two adjacent edges
185 void SetUseGradation(in boolean toUse);
186 boolean GetUseGradation();
187 void SetGradation(in double ratio);
188 double GetGradation();
191 * Sets maximal allowed ratio between the lengths of two adjacent edges in 3D mesh
193 void SetUseVolumeGradation(in boolean toUse);
194 boolean GetUseVolumeGradation();
195 void SetVolumeGradation(in double ratio);
196 double GetVolumeGradation();
199 * Sets to create quadrilateral elements or not
201 void SetQuadAllowed(in boolean allowed);
202 void SetElementType(in long elementType);
203 long GetElementType();
206 * Sets angular deflection (in degrees) of a mesh face and edge from CAD surface
208 void SetAngleMesh(in double angle);
209 double GetAngleMesh();
212 * Sets the maximum desired distance between a triangle and its supporting CAD surface
214 void SetChordalError(in double distance);
215 double GetChordalError();
218 * Determines whether the generated mesh will be isotropic or anisotropic
220 void SetAnisotropic(in boolean anisotropic);
221 boolean GetAnisotropic();
224 * Defines the maximum anisotropic ratio of the metric governing the anisotropic process.
225 * The default value of 0 means that the metric (and thus the generated elements)
226 * can be arbitrarily stretched.
228 void SetAnisotropicRatio(in double ratio);
229 double GetAnisotropicRatio();
232 * This patch-independent correction option can be activated to remove the tiny
233 * (nano) edges from the generated mesh, without taking into account the tags
234 * (attributes) specifications.
236 void SetRemoveTinyEdges(in boolean remove);
237 boolean GetRemoveTinyEdges();
240 * Defines the minimal length under which an edge is considered to be a tiny one
242 void SetTinyEdgeLength(in double length);
243 double GetTinyEdgeLength();
246 * This patch-independent correction option can be activated to remove the tiny
247 * edges (defined by the option tiny edge optimisation length) from the generated
248 * mesh when it improves the local mesh quality, without taking into account the
249 * tags (attributes) specifications.
251 void SetOptimiseTinyEdges(in boolean toOptimise);
252 boolean GetOptimiseTinyEdges();
255 * Defines the minimal length under which an edge is considered to be a tiny one
256 * to be optimised out by the optimise tiny edges option
258 void SetTinyEdgeOptimisationLength(in double length);
259 double GetTinyEdgeOptimisationLength();
262 * Activate correction of all surface intersections
264 void SetCorrectSurfaceIntersection(in boolean toCorrect);
265 boolean GetCorrectSurfaceIntersection();
268 * Defines the time the user is ready to spend in the intersection prevention process.
269 * For example, maxCost = 3 means that MeshGems-CADSurf will not spend more time
270 * in the intersection removal process than 3 times the time required to mesh
271 * without processing the intersections.
273 void SetCorrectSurfaceIntersectionMaxCost(in double maxCost);
274 double GetCorrectSurfaceIntersectionMaxCost();
277 * This patch independent correction option can be activated to remove the bad
278 * elements (often called slivers) from the generated mesh, without taking into account
279 * the tags (attributes) specification.
281 void SetBadElementRemoval(in boolean remove);
282 boolean GetBadElementRemoval();
285 * This parameter defines the aspect ratio triggering the "bad element"
286 * classification for the force bad surface element removal option.
288 void SetBadElementAspectRatio(in double ratio);
289 double GetBadElementAspectRatio();
292 * If this option is activated, MeshGems-CADSurf will optimize the mesh in order to
293 * get better shaped elements, during a process which respects the patch independent options.
294 * This optimisation cannot be fully performed when correct_surface_intersections = 1.
296 void SetOptimizeMesh(in boolean optimize);
297 boolean GetOptimizeMesh();
300 * Determines the order of mesh elements to be generated (linear or quadratic)
302 void SetQuadraticMesh(in boolean quadratic);
303 boolean GetQuadraticMesh();
306 * Sets topology usage way defining how mesh conformity is assured
307 * value=0 - mesh conformity is assured by conformity of a shape
308 * value=1,2 - mesh conformity is assured by pre-processing a CAD model (OBSOLETE)
309 * value=3 - mesh conformity is assured by pre-processing a CAD model with Pre-CAD
311 void SetTopology(in long way);
315 * Sets verbosity level in the range 0 to 100.
317 void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception);
318 short GetVerbosity();
321 * Set enforce_cad_edge_sizes parameter
323 * Relaxes the given sizemap constraint around CAD edges to allow a better
324 * element quality and a better geometric approximation. It is only useful in
325 * combination with the gradation option.
327 void SetEnforceCadEdgesSize( in boolean toEnforce );
328 boolean GetEnforceCadEdgesSize();
331 * Set jacobian_rectification_respect_geometry parameter
333 * While making the mesh quadratic, allows to lose the CAD-mesh associativity in order
334 * to correct elements with nagative Jacobian
336 void SetJacobianRectificationRespectGeometry( in boolean allowRectification );
337 boolean GetJacobianRectificationRespectGeometry();
340 * Set rectify_jacobian parameter
342 * While making the mesh quadratic, allow to fix nagative Jacobian surface elements
344 void SetJacobianRectification( in boolean allowRectification );
345 boolean GetJacobianRectification();
348 * Set use_deprecated_patch_mesher parameter (compatibility with older versions of Meshgems)
350 * the use_deprecated_patch_mesher parameter allows to keep the same behaviour than
351 * in salome < 8.3 (meshgems 2.1.11 instead of meshgems >= 2.4.5)
353 void SetUseDeprecatedPatchMesher( in boolean useDeprecatedPatchMesher );
354 boolean GetUseDeprecatedPatchMesher();
357 * Set max_number_of_points_per_patch parameter
359 * This parameter controls the maximum amount of points MeshGems-CADSurf is allowed
360 * to generate on a single CAD patch. For an automatic gestion of the memory, one
361 * can set this parameter to 0
363 void SetMaxNumberOfPointsPerPatch( in long nb ) raises (SALOME::SALOME_Exception);
364 long GetMaxNumberOfPointsPerPatch();
368 * Set max_number_of_threads parameter
370 * Set the maximum of threads to use for multithreading mesh computation.
372 void SetMaxNumberOfThreads( in long nb ) raises (SALOME::SALOME_Exception);
373 long GetMaxNumberOfThreads();
376 * Set respect_geometry parameter
378 * This patch independent option can be deactivated to allow MeshGems-CADSurf
379 * to lower the geometry accuracy in its patch independent process.
381 void SetRespectGeometry( in boolean toRespect );
382 boolean GetRespectGeometry();
385 * Set tiny_edges_avoid_surface_intersections parameter
387 * This option defines the priority between the tiny feature
388 * suppression and the surface intersection prevention.
390 void SetTinyEdgesAvoidSurfaceIntersections( in boolean toAvoidIntersection );
391 boolean GetTinyEdgesAvoidSurfaceIntersections();
394 * Set closed_geometry parameter parameter
396 * Describes whether the geometry is expected to be closed or not.
397 * When activated, this option helps MeshGems-PreCAD to treat the dirtiest geometries.
399 void SetClosedGeometry( in boolean isClosed );
400 boolean GetClosedGeometry();
403 * Set debug parameter
405 * Make MeshGems-CADSurf will be very verbose and will output some intermediate
406 * files in the working directory. This option is mainly meant for Distene support issues.
408 void SetDebug( in boolean isDebug );
412 * Set periodic_tolerance parameter
414 * This parameter defines the maximum size difference between two periodic edges
415 * and also the maximum distance error between two periodic entities.
417 void SetPeriodicTolerance( in double tol ) raises (SALOME::SALOME_Exception);
418 double GetPeriodicTolerance() raises (SALOME::SALOME_Exception);
421 * Set required_entities parameter
423 * The required entities control the correction operations.
424 * Accepted values for this parameter are :
425 * - "respect" : MeshGems-CADSurf is not allowed to alter any required entity,
426 * even for correction purposes,
427 * - "ignore" : MeshGems-CADSurf will ignore the required entities in its processing,
428 * - "clear" : MeshGems-CADSurf will clear any required status for the entities.
429 * There will not be any entity marked as required in the generated mesh.
431 void SetRequiredEntities( in string howToTreat ) raises (SALOME::SALOME_Exception);
432 string GetRequiredEntities();
435 * Set sewing_tolerance parameter
437 * This parameter is the tolerance of the assembly.
439 void SetSewingTolerance( in double tol ) raises (SALOME::SALOME_Exception);
440 double GetSewingTolerance() raises (SALOME::SALOME_Exception);
445 * The tag (attribute) system controls the optimisation process.
446 * Accepted values for this parameter are :
447 * - "respect" : the CAD tags will be preserved and unaltered by the optimisation operations,
448 * - "ignore" : the CAD tags will be ignored by the optimisation operations
449 * but they will still be present in the output mesh,
450 * - "clear" : MeshGems-CADSurf will clear any tag on any entity and optimise accordingly.
451 * There will not be any tag in the generated mesh.
453 void SetTags( in string howToTreat ) raises (SALOME::SALOME_Exception);
459 void SetHyperPatches(in THyperPatchList hpl);
460 THyperPatchList GetHyperPatches();
465 void SetPreCADMergeEdges(in boolean toMergeEdges);
466 boolean GetPreCADMergeEdges();
469 * To remove duplicate CAD faces.
471 void SetPreCADRemoveDuplicateCADFaces(in boolean toRemoveDuplicateCADFaces);
472 boolean GetPreCADRemoveDuplicateCADFaces();
475 * To process 3D topology.
477 void SetPreCADProcess3DTopology(in boolean toProcess);
478 boolean GetPreCADProcess3DTopology();
482 * To compute topology from scratch
484 void SetPreCADDiscardInput(in boolean toDiscardInput);
485 boolean GetPreCADDiscardInput();
488 * Sets advanced option value
490 void SetOptionValue(in string optionName,
491 in string optionValue) raises (SALOME::SALOME_Exception);
492 void SetPreCADOptionValue(in string optionName,
493 in string optionValue) raises (SALOME::SALOME_Exception);
494 string GetOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
495 string GetPreCADOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
497 * Unsets advanced option
499 void UnsetOption(in string optionName);
500 void UnsetPreCADOption(in string optionName);
503 * Adds custom advanced option and its value
505 void SetAdvancedOption(in string optionsAndValues) // in a form "option_1 v1 option_2 v2'"
506 raises (SALOME::SALOME_Exception);
507 void AddOption(in string optionName, in string optionValue);
508 void AddPreCADOption(in string optionName, in string optionValue);
509 string GetOption(in string optionName);
510 string GetPreCADOption(in string optionName);
513 * Return array of strings each of which is option name concatenated
514 * with option value devided by semicolon - "option_name:option_value:option_type".
515 * Option value is empty if an option is not set.
516 * option_type: 1 if user-define, 0 if default
517 * Note: the method is mostly for interaction with GUI.
519 string_array GetOptionValues();
520 string_array GetPreCADOptionValues();
521 string_array GetAdvancedOptionValues();
524 * Set option values each in the form "option_name[:option_value][:option_type]".
525 * Note: the method is mostly for interaction with GUI.
527 void SetOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
528 void SetPreCADOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
529 void SetAdvancedOptionValues(in string_array options);
534 void SetSizeMapEntries(in string_array sizeMaps) raises (SALOME::SALOME_Exception);
535 void ClearSizeMaps();
537 void UnsetEntry(in string entry);
540 * Set/unset a SizeMap on geom object
542 void SetSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap) raises (SALOME::SALOME_Exception);
543 void SetConstantSizeMap(in GEOM::GEOM_Object GeomObj, in double sizeMap);
544 void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
547 * Set a SizeMap on geom object given by entry
549 void SetSizeMapEntry(in string entry, in string sizeMap) raises (SALOME::SALOME_Exception);
550 void SetConstantSizeMapEntry(in string entry, in GEOM::shape_type shapeType, in double sizeMap) raises (SALOME::SALOME_Exception);
551 string GetSizeMapEntry(in string entry) raises (SALOME::SALOME_Exception);
552 string_array GetSizeMapEntries();
555 * Set/unset an attractor on geom object
557 void SetAttractor(in GEOM::GEOM_Object GeomObj, in string attractor);
558 void UnsetAttractor(in GEOM::GEOM_Object GeomObj);
561 * Set an attractor on geom object given by entry
563 void SetAttractorEntry(in string entry, in string attractor) raises (SALOME::SALOME_Exception);
564 string GetAttractorEntry(in string entry) raises (SALOME::SALOME_Exception);
565 string_array GetAttractorEntries();
568 * Set/unset an attractor given as geom object on another geom object
570 void SetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape, in double StartSize, in double EndSize, in double ActionRadius, in double ConstantRadius);
571 void UnsetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape);
572 void UnsetAttractorEntry(in string entry, in string attractor);
575 * Set an attractor given by entry on a geom object given by entry
577 void SetClassAttractorEntry(in string entry, in string att_entry, in double StartSize, in double EndSize, in double ActionRadius, in double ConstantRadius ) raises (SALOME::SALOME_Exception);
578 BLSURFPlugin::TAttParamsMap GetAttractorParams();
581 void SetCustomSizeMapEntry(in string entry, in string sizeMap);
582 string GetCustomSizeMapEntry(in string entry);
583 void SetCustomSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap);
584 void UnsetCustomSizeMap(in GEOM::GEOM_Object GeomObj);
585 string_array GetCustomSizeMapEntries();
587 ///////////////////////
588 // ENFORCED VERTEXES //
589 ///////////////////////
591 TFaceEntryEnfVertexListMap GetAllEnforcedVerticesByFace();
592 TEnfVertexList GetAllEnforcedVertices();
594 TFaceEntryCoordsListMap GetAllCoordsByFace();
595 TCoordsEnfVertexMap GetAllEnforcedVerticesByCoords();
597 TFaceEntryEnfVertexEntryListMap GetAllEnfVertexEntriesByFace();
598 TEnfVertexEntryEnfVertexMap GetAllEnforcedVerticesByEnfVertexEntry();
600 void ClearAllEnforcedVertices();
603 * Set/get/unset an enforced vertex on geom face
606 boolean SetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
607 boolean SetEnforcedVertexNamed(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfName theVertexName) raises (SALOME::SALOME_Exception);
608 boolean SetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
609 boolean SetEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
610 boolean SetEnforcedVertexNamedWithGroup(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfName theVertexName, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
611 boolean SetEnforcedVertexGeomWithGroup(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
613 TEnfVertexList GetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
614 boolean UnsetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
615 boolean UnsetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
616 boolean UnsetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
619 boolean AddEnforcedVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
620 boolean AddEnforcedVertexNamed(in double x, in double y, in double z, in TEnfName theVertexName) raises (SALOME::SALOME_Exception);
621 boolean AddEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
622 boolean AddEnforcedVertexWithGroup(in double x, in double y, in double z, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
623 boolean AddEnforcedVertexNamedWithGroup(in double x, in double y, in double z, in TEnfName theVertexName, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
624 boolean AddEnforcedVertexGeomWithGroup(in GEOM::GEOM_Object theVertex, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
626 boolean RemoveEnforcedVertex(in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
627 boolean RemoveEnforcedVertexGeom(in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
628 boolean RemoveEnforcedVertices() raises (SALOME::SALOME_Exception);
631 * Set/get/unset an enforced vertex on geom face given by entry
633 boolean SetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z,
634 in TEnfName theVertexName, in TEntry theVertexEntry, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
636 TEnfVertexList GetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
637 boolean UnsetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
638 // boolean UnsetEnforcedVertexEntryGeom(in TEntry theFaceEntry, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
639 boolean UnsetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
642 * To get/set internal vertices as enforced vertices
644 void SetInternalEnforcedVertexAllFaces(in boolean toEnforceInternalVertices);
645 boolean GetInternalEnforcedVertexAllFaces();
646 void SetInternalEnforcedVertexAllFacesGroup(in TEnfGroupName groupName);
647 TEnfGroupName GetInternalEnforcedVertexAllFacesGroup();
649 // Enable internal enforced vertices on specific face if requested by user
650 // void SetInternalEnforcedVertex(in GEOM::GEOM_Object theFace,in boolean toEnforceInternalVertices) raises (SALOME::SALOME_Exception);
651 // void SetInternalEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
652 // void SetInternalEnforcedVertexEntry(in TEntry theFaceEntry, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
653 // boolean GetInternalEnforcedVertex(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
654 // boolean GetInternalEnforcedVertexEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
655 // TFaceEntryInternalVerticesList GetAllInternalEnforcedVerticesFaces();
656 ///////////////////////
659 ///////////////////////
661 ///////////////////////
663 void ClearPreCadPeriodicityVectors();
664 void AddPreCadFacesPeriodicity(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2) raises (SALOME::SALOME_Exception);
665 void AddPreCadFacesPeriodicityWithVertices(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
666 void AddPreCadFacesPeriodicityEntry(in TEntry theFace1, in TEntry theFace2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
667 void AddPreCadEdgesPeriodicity(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2) raises (SALOME::SALOME_Exception);
668 void AddPreCadEdgesPeriodicityWithVertices(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
669 void AddPreCadEdgesPeriodicityEntry(in TEntry theEdge1, in TEntry theEdge2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
670 TPeriodicityList GetPreCadFacesPeriodicityVector();
671 TPeriodicityList GetPreCadEdgesPeriodicityVector();
672 ///////////////////////
675 * Sets the file for export resulting mesh in GMF format
677 void SetGMFFile(in string theFileName);