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 * BLSURFPlugin_BLSURF: interface of BLSURF algorithm
126 interface BLSURFPlugin_BLSURF : SMESH::SMESH_2D_Algo
131 * BLSURFPlugin_Hypothesis: interface of "BLSURF parameters" hypothesis
133 interface BLSURFPlugin_Hypothesis : SMESH::SMESH_Hypothesis
137 * Sets a way to define size of mesh elements to generate
138 * 0 - size is defined automatically
139 * 1 - size is set by SetPhySize() method
140 * 2 - size is set by SetPhySize() method. A sizemap is defined.
142 void SetPhysicalMesh(in long isCustom);
143 long GetPhysicalMesh();
146 * Sets a way to define maximum angular deflection of mesh from CAD model
147 * 0 - deflection is defined automatically
148 * 1 - deflection is set by SetAngleMesh() method
149 * 2 - deflection is set by SetAngleMesh() method. A sizemap is defined (TODO).
151 void SetGeometricMesh(in long isCustom);
152 long GetGeometricMesh();
155 * Sets size of mesh elements to generate
157 void SetPhySize(in double size);
158 void SetPhySizeRel(in double size);
160 boolean IsPhySizeRel();
163 * Sets lower boundary of mesh element size
165 void SetMinSize(in double theMinSize);
166 void SetMinSizeRel(in double theMinSize);
168 boolean IsMinSizeRel();
171 * Sets upper boundary of mesh element size
173 void SetMaxSize(in double theMaxSize);
174 void SetMaxSizeRel(in double theMaxSize);
176 boolean IsMaxSizeRel();
179 * Sets maximal allowed ratio between the lengths of two adjacent edges
181 void SetUseGradation(in boolean toUse);
182 boolean GetUseGradation();
183 void SetGradation(in double ratio);
184 double GetGradation();
187 * Sets maximal allowed ratio between the lengths of two adjacent edges in 3D mesh
189 void SetUseVolumeGradation(in boolean toUse);
190 boolean GetUseVolumeGradation();
191 void SetVolumeGradation(in double ratio);
192 double GetVolumeGradation();
195 * Sets to create quadrilateral elements or not
197 void SetQuadAllowed(in boolean allowed);
198 boolean GetQuadAllowed();
201 * Sets angular deflection (in degrees) of a mesh face and edge from CAD surface
203 void SetAngleMesh(in double angle);
204 double GetAngleMesh();
207 * Sets the maximum desired distance between a triangle and its supporting CAD surface
209 void SetChordalError(in double distance);
210 double GetChordalError();
213 * Determines whether the generated mesh will be isotropic or anisotropic
215 void SetAnisotropic(in boolean anisotropic);
216 boolean GetAnisotropic();
219 * Defines the maximum anisotropic ratio of the metric governing the anisotropic process.
220 * The default value of 0 means that the metric (and thus the generated elements)
221 * can be arbitrarily stretched.
223 void SetAnisotropicRatio(in double ratio);
224 double GetAnisotropicRatio();
227 * This patch-independent correction option can be activated to remove the tiny
228 * (nano) edges from the generated mesh, without taking into account the tags
229 * (attributes) specifications.
231 void SetRemoveTinyEdges(in boolean remove);
232 boolean GetRemoveTinyEdges();
235 * Defines the minimal length under which an edge is considered to be a tiny one
237 void SetTinyEdgeLength(in double length);
238 double GetTinyEdgeLength();
241 * This patch-independent correction option can be activated to remove the tiny
242 * edges (defined by the option tiny edge optimisation length) from the generated
243 * mesh when it improves the local mesh quality, without taking into account the
244 * tags (attributes) specifications.
246 void SetOptimiseTinyEdges(in boolean toOptimise);
247 boolean GetOptimiseTinyEdges();
250 * Defines the minimal length under which an edge is considered to be a tiny one
251 * to be optimised out by the optimise tiny edges option
253 void SetTinyEdgeOptimisationLength(in double length);
254 double GetTinyEdgeOptimisationLength();
257 * Activate correction of all surface intersections
259 void SetCorrectSurfaceIntersection(in boolean toCorrect);
260 boolean GetCorrectSurfaceIntersection();
263 * Defines the time the user is ready to spend in the intersection prevention process.
264 * For example, maxCost = 3 means that MeshGems-CADSurf will not spend more time
265 * in the intersection removal process than 3 times the time required to mesh
266 * without processing the intersections.
268 void SetCorrectSurfaceIntersectionMaxCost(in double maxCost);
269 double GetCorrectSurfaceIntersectionMaxCost();
272 * This patch independent correction option can be activated to remove the bad
273 * elements (often called slivers) from the generated mesh, without taking into account
274 * the tags (attributes) specification.
276 void SetBadElementRemoval(in boolean remove);
277 boolean GetBadElementRemoval();
280 * This parameter defines the aspect ratio triggering the "bad element"
281 * classification for the force bad surface element removal option.
283 void SetBadElementAspectRatio(in double ratio);
284 double GetBadElementAspectRatio();
287 * If this option is activated, MeshGems-CADSurf will optimize the mesh in order to
288 * get better shaped elements, during a process which respects the patch independent options.
289 * This optimisation cannot be fully performed when correct_surface_intersections = 1.
291 void SetOptimizeMesh(in boolean optimize);
292 boolean GetOptimizeMesh();
295 * Determines the order of mesh elements to be generated (linear or quadratic)
297 void SetQuadraticMesh(in boolean quadratic);
298 boolean GetQuadraticMesh();
301 * Sets topology usage way defining how mesh conformity is assured
302 * value=0 - mesh conformity is assured by conformity of a shape
303 * value=1,2 - mesh conformity is assured by pre-processing a CAD model (OBSOLETE)
304 * value=3 - mesh conformity is assured by pre-processing a CAD model with Pre-CAD
306 void SetTopology(in long way);
310 * Sets verbosity level in the range 0 to 100.
312 void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception);
313 short GetVerbosity();
316 * Set enforce_cad_edge_sizes parameter
318 * Relaxes the given sizemap constraint around CAD edges to allow a better
319 * element quality and a better geometric approximation. It is only useful in
320 * combination with the gradation option.
322 void SetEnforceCadEdgesSize( in boolean toEnforce );
323 boolean GetEnforceCadEdgesSize();
326 * Set jacobian_rectification_respect_geometry parameter
328 * While making the mesh quadratic, allows to lose the CAD-mesh associativity in order
329 * to correct elements with nagative Jacobian
331 void SetJacobianRectificationRespectGeometry( in boolean allowRectification );
332 boolean GetJacobianRectificationRespectGeometry();
335 * Set rectify_jacobian parameter
337 * While making the mesh quadratic, allow to fix nagative Jacobian surface elements
339 void SetJacobianRectification( in boolean allowRectification );
340 boolean GetJacobianRectification();
343 * Set max_number_of_points_per_patch parameter
345 * This parameter controls the maximum amount of points MeshGems-CADSurf is allowed
346 * to generate on a single CAD patch. For an automatic gestion of the memory, one
347 * can set this parameter to 0
349 void SetMaxNumberOfPointsPerPatch( in long nb ) raises (SALOME::SALOME_Exception);
350 long GetMaxNumberOfPointsPerPatch();
353 * Set respect_geometry parameter
355 * This patch independent option can be deactivated to allow MeshGems-CADSurf
356 * to lower the geometry accuracy in its patch independent process.
358 void SetRespectGeometry( in boolean toRespect );
359 boolean GetRespectGeometry();
362 * Set tiny_edges_avoid_surface_intersections parameter
364 * This option defines the priority between the tiny feature
365 * suppression and the surface intersection prevention.
367 void SetTinyEdgesAvoidSurfaceIntersections( in boolean toAvoidIntersection );
368 boolean GetTinyEdgesAvoidSurfaceIntersections();
371 * Set closed_geometry parameter parameter
373 * Describes whether the geometry is expected to be closed or not.
374 * When activated, this option helps MeshGems-PreCAD to treat the dirtiest geometries.
376 void SetClosedGeometry( in boolean isClosed );
377 boolean GetClosedGeometry();
380 * Set debug parameter
382 * Make MeshGems-CADSurf will be very verbose and will output some intermediate
383 * files in the working directory. This option is mainly meant for Distene support issues.
385 void SetDebug( in boolean isDebug );
389 * Set periodic_tolerance parameter
391 * This parameter defines the maximum size difference between two periodic edges
392 * and also the maximum distance error between two periodic entities.
394 void SetPeriodicTolerance( in double tol ) raises (SALOME::SALOME_Exception);
395 double GetPeriodicTolerance() raises (SALOME::SALOME_Exception);
398 * Set required_entities parameter
400 * The required entities control the correction operations.
401 * Accepted values for this parameter are :
402 * - "respect" : MeshGems-CADSurf is not allowed to alter any required entity,
403 * even for correction purposes,
404 * - "ignore" : MeshGems-CADSurf will ignore the required entities in its processing,
405 * - "clear" : MeshGems-CADSurf will clear any required status for the entities.
406 * There will not be any entity marked as required in the generated mesh.
408 void SetRequiredEntities( in string howToTreat ) raises (SALOME::SALOME_Exception);
409 string GetRequiredEntities();
412 * Set sewing_tolerance parameter
414 * This parameter is the tolerance of the assembly.
416 void SetSewingTolerance( in double tol ) raises (SALOME::SALOME_Exception);
417 double GetSewingTolerance() raises (SALOME::SALOME_Exception);
422 * The tag (attribute) system controls the optimisation process.
423 * Accepted values for this parameter are :
424 * - "respect" : the CAD tags will be preserved and unaltered by the optimisation operations,
425 * - "ignore" : the CAD tags will be ignored by the optimisation operations
426 * but they will still be present in the output mesh,
427 * - "clear" : MeshGems-CADSurf will clear any tag on any entity and optimise accordingly.
428 * There will not be any tag in the generated mesh.
430 void SetTags( in string howToTreat ) raises (SALOME::SALOME_Exception);
436 void SetPreCADMergeEdges(in boolean toMergeEdges);
437 boolean GetPreCADMergeEdges();
440 * To remove tiny UV edges edges.
442 void SetPreCADRemoveTinyUVEdges(in boolean toRemoveTinyUVEdges);
443 boolean GetPreCADRemoveTinyUVEdges();
446 * To remove duplicate CAD faces.
448 void SetPreCADRemoveDuplicateCADFaces(in boolean toRemoveDuplicateCADFaces);
449 boolean GetPreCADRemoveDuplicateCADFaces();
452 * To process 3D topology.
454 void SetPreCADProcess3DTopology(in boolean toProcess);
455 boolean GetPreCADProcess3DTopology();
459 * To compute topology from scratch
461 void SetPreCADDiscardInput(in boolean toDiscardInput);
462 boolean GetPreCADDiscardInput();
465 * Sets advanced option value
467 void SetOptionValue(in string optionName,
468 in string optionValue) raises (SALOME::SALOME_Exception);
469 void SetPreCADOptionValue(in string optionName,
470 in string optionValue) raises (SALOME::SALOME_Exception);
471 string GetOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
472 string GetPreCADOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
474 * Unsets advanced option
476 void UnsetOption(in string optionName);
477 void UnsetPreCADOption(in string optionName);
480 * Adds custom advanced option and its value
482 void SetAdvancedOption(in string optionsAndValues) // in a form "option_1 v1 option_2 v2'"
483 raises (SALOME::SALOME_Exception);
484 void AddOption(in string optionName, in string optionValue);
485 void AddPreCADOption(in string optionName, in string optionValue);
486 string GetOption(in string optionName);
487 string GetPreCADOption(in string optionName);
490 * Return array of strings each of which is option name concatenated
491 * with option value devided by semicolon - "option_name:option_value:option_type".
492 * Option value is empty if an option is not set.
493 * option_type: 1 if user-define, 0 if default
494 * Note: the method is mostly for interaction with GUI.
496 string_array GetOptionValues();
497 string_array GetPreCADOptionValues();
498 string_array GetAdvancedOptionValues();
501 * Set option values each in the form "option_name[:option_value][:option_type]".
502 * Note: the method is mostly for interaction with GUI.
504 void SetOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
505 void SetPreCADOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
506 void SetAdvancedOptionValues(in string_array options);
511 void SetSizeMapEntries(in string_array sizeMaps) raises (SALOME::SALOME_Exception);
512 void ClearSizeMaps();
514 void UnsetEntry(in string entry);
517 * Set/unset a SizeMap on geom object
519 void SetSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap) raises (SALOME::SALOME_Exception);
520 void SetConstantSizeMap(in GEOM::GEOM_Object GeomObj, in double sizeMap);
521 void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
524 * Set a SizeMap on geom object given by entry
526 void SetSizeMapEntry(in string entry, in string sizeMap) raises (SALOME::SALOME_Exception);
527 void SetConstantSizeMapEntry(in string entry, in GEOM::shape_type shapeType, in double sizeMap) raises (SALOME::SALOME_Exception);
528 string GetSizeMapEntry(in string entry) raises (SALOME::SALOME_Exception);
529 string_array GetSizeMapEntries();
532 * Set/unset an attractor on geom object
534 void SetAttractor(in GEOM::GEOM_Object GeomObj, in string attractor);
535 void UnsetAttractor(in GEOM::GEOM_Object GeomObj);
538 * Set an attractor on geom object given by entry
540 void SetAttractorEntry(in string entry, in string attractor) raises (SALOME::SALOME_Exception);
541 string GetAttractorEntry(in string entry) raises (SALOME::SALOME_Exception);
542 string_array GetAttractorEntries();
545 * Set/unset an attractor given as geom object on another geom object
547 void SetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape, in double StartSize, in double EndSize, in double ActionRadius, in double ConstantRadius);
548 void UnsetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape);
549 void UnsetAttractorEntry(in string entry, in string attractor);
552 * Set an attractor given by entry on a geom object given by entry
554 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);
555 BLSURFPlugin::TAttParamsMap GetAttractorParams();
558 void SetCustomSizeMapEntry(in string entry, in string sizeMap);
559 string GetCustomSizeMapEntry(in string entry);
560 void SetCustomSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap);
561 void UnsetCustomSizeMap(in GEOM::GEOM_Object GeomObj);
562 string_array GetCustomSizeMapEntries();
564 ///////////////////////
565 // ENFORCED VERTEXES //
566 ///////////////////////
568 TFaceEntryEnfVertexListMap GetAllEnforcedVerticesByFace();
569 TEnfVertexList GetAllEnforcedVertices();
571 TFaceEntryCoordsListMap GetAllCoordsByFace();
572 TCoordsEnfVertexMap GetAllEnforcedVerticesByCoords();
574 TFaceEntryEnfVertexEntryListMap GetAllEnfVertexEntriesByFace();
575 TEnfVertexEntryEnfVertexMap GetAllEnforcedVerticesByEnfVertexEntry();
577 void ClearAllEnforcedVertices();
580 * Set/get/unset an enforced vertex on geom face
582 boolean SetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
583 boolean SetEnforcedVertexNamed(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfName theVertexName) raises (SALOME::SALOME_Exception);
584 boolean SetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
585 boolean SetEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
586 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);
587 boolean SetEnforcedVertexGeomWithGroup(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
590 TEnfVertexList GetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
592 boolean UnsetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
593 boolean UnsetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
594 boolean UnsetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
597 * Set/get/unset an enforced vertex on geom face given by entry
599 boolean SetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z,
600 in TEnfName theVertexName, in TEntry theVertexEntry, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
602 TEnfVertexList GetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
603 boolean UnsetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
604 // boolean UnsetEnforcedVertexEntryGeom(in TEntry theFaceEntry, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
605 boolean UnsetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
608 * To get/set internal vertices as enforced vertices
610 void SetInternalEnforcedVertexAllFaces(in boolean toEnforceInternalVertices);
611 boolean GetInternalEnforcedVertexAllFaces();
612 void SetInternalEnforcedVertexAllFacesGroup(in TEnfGroupName groupName);
613 TEnfGroupName GetInternalEnforcedVertexAllFacesGroup();
615 // Enable internal enforced vertices on specific face if requested by user
616 // void SetInternalEnforcedVertex(in GEOM::GEOM_Object theFace,in boolean toEnforceInternalVertices) raises (SALOME::SALOME_Exception);
617 // void SetInternalEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
618 // void SetInternalEnforcedVertexEntry(in TEntry theFaceEntry, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
619 // boolean GetInternalEnforcedVertex(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
620 // boolean GetInternalEnforcedVertexEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
621 // TFaceEntryInternalVerticesList GetAllInternalEnforcedVerticesFaces();
622 ///////////////////////
625 ///////////////////////
627 ///////////////////////
629 void ClearPreCadPeriodicityVectors();
630 void AddPreCadFacesPeriodicity(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2) raises (SALOME::SALOME_Exception);
631 void AddPreCadFacesPeriodicityWithVertices(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
632 void AddPreCadFacesPeriodicityEntry(in TEntry theFace1, in TEntry theFace2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
633 void AddPreCadEdgesPeriodicity(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2) raises (SALOME::SALOME_Exception);
634 void AddPreCadEdgesPeriodicityWithVertices(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
635 void AddPreCadEdgesPeriodicityEntry(in TEntry theEdge1, in TEntry theEdge2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
636 TPeriodicityList GetPreCadFacesPeriodicityVector();
637 TPeriodicityList GetPreCadEdgesPeriodicityVector();
638 ///////////////////////
641 * Sets the file for export resulting mesh in GMF format
643 // void SetGMFFile(in string theFileName, in boolean isBinary);
644 void SetGMFFile(in string theFileName);
646 // boolean GetGMFFileMode();
649 // Obsolete methods - To be removed in V7
651 void SetPhyMin(in double theMinSize);
653 void SetPhyMax(in double theMaxSize);
655 void SetGeoMin(in double theMinSize);
657 void SetGeoMax(in double theMaxSize);
659 void SetAngleMeshS(in double angle);
660 double GetAngleMeshS();
661 void SetAngleMeshC(in double angle);
662 double GetAngleMeshC();
663 void SetDecimesh(in boolean toIgnoreEdges);
664 boolean GetDecimesh();
665 void SetPreCADRemoveNanoEdges(in boolean toRemoveNanoEdges);
666 boolean GetPreCADRemoveNanoEdges();
667 void SetPreCADEpsNano(in double epsNano);
668 double GetPreCADEpsNano();