+ /*!
+ * Sets angular deflection (in degrees) of a mesh face and edge from CAD surface
+ */
+ void SetAngleMesh(in double angle);
+ double GetAngleMesh();
+
+ /*!
+ * Sets the maximum desired distance between a triangle and its supporting CAD surface
+ */
+ void SetChordalError(in double distance);
+ double GetChordalError();
+
+ /*!
+ * Determines whether the generated mesh will be isotropic or anisotropic
+ */
+ void SetAnisotropic(in boolean anisotropic);
+ boolean GetAnisotropic();
+
+ /*!
+ * Defines the maximum anisotropic ratio of the metric governing the anisotropic process.
+ * The default value of 0 means that the metric (and thus the generated elements)
+ * can be arbitrarily stretched.
+ */
+ void SetAnisotropicRatio(in double ratio);
+ double GetAnisotropicRatio();
+
+ /*!
+ * This patch-independent correction option can be activated to remove the tiny
+ * (nano) edges from the generated mesh, without taking into account the tags
+ * (attributes) specifications.
+ */
+ void SetRemoveTinyEdges(in boolean remove);
+ boolean GetRemoveTinyEdges();
+
+ /*!
+ * Defines the minimal length under which an edge is considered to be a tiny one
+ */
+ void SetTinyEdgeLength(in double length);
+ double GetTinyEdgeLength();
+
+ /*!
+ * This patch independent correction option can be activated to remove the bad
+ * elements (often called slivers) from the generated mesh, without taking into account
+ * the tags (attributes) specification.
+ */
+ void SetBadElementRemoval(in boolean remove);
+ boolean GetBadElementRemoval();
+
+ /*!
+ * This parameter defines the aspect ratio triggering the "bad element"
+ * classification for the force bad surface element removal option.
+ */
+ void SetBadElementAspectRatio(in double ratio);
+ double GetBadElementAspectRatio();
+
+ /*!
+ * If this option is activated, MeshGems-CADSurf will optimize the mesh in order to
+ * get better shaped elements, during a process which respects the patch independent options.
+ * This optimisation cannot be fully performed when correct_surface_intersections = 1.
+ */
+ void SetOptimizeMesh(in boolean optimize);
+ boolean GetOptimizeMesh();
+
+ /*!
+ * Determines the order of mesh elements to be generated (linear or quadratic)
+ */
+ void SetQuadraticMesh(in boolean quadratic);
+ boolean GetQuadraticMesh();
+
+ /*!
+ * Sets topology usage way defining how mesh conformity is assured
+ * value=0 - mesh conformity is assured by conformity of a shape
+ * value=1,2 - mesh conformity is assured by pre-processing a CAD model (OBSOLETE)
+ * value=3 - mesh conformity is assured by pre-processing a CAD model with Pre-CAD
+ */
+ void SetTopology(in long way);
+ long GetTopology();
+
+ /*!
+ * Sets verbosity level in the range 0 to 100.
+ */
+ void SetVerbosity(in short theVal) raises (SALOME::SALOME_Exception);
+ short GetVerbosity();
+
+ /*!
+ * To merges edges.
+ */
+ void SetPreCADMergeEdges(in boolean toMergeEdges);
+ boolean GetPreCADMergeEdges();
+
+ /*!
+ * To process 3D topology.
+ */
+ void SetPreCADProcess3DTopology(in boolean toProcess);
+ boolean GetPreCADProcess3DTopology();
+
+
+ /*!
+ * To compute topology from scratch
+ */
+ void SetPreCADDiscardInput(in boolean toDiscardInput);
+ boolean GetPreCADDiscardInput();
+
+ /*!
+ * Sets advanced option value
+ */
+ void SetOptionValue(in string optionName,
+ in string optionValue) raises (SALOME::SALOME_Exception);
+ void SetPreCADOptionValue(in string optionName,
+ in string optionValue) raises (SALOME::SALOME_Exception);
+ string GetOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
+ string GetPreCADOptionValue(in string optionName) raises (SALOME::SALOME_Exception);
+ /*!
+ * Unsets advanced option
+ */
+ void UnsetOption(in string optionName);
+ void UnsetPreCADOption(in string optionName);
+
+ /*!
+ * Adds custom advanced option and its value
+ */
+ void AddOption(in string optionName, in string optionValue);
+ void AddPreCADOption(in string optionName, in string optionValue);
+ string GetOption(in string optionName);
+ string GetPreCADOption(in string optionName);
+
+ /*!
+ * Return array of strings each of which is option name concatenated
+ * with option value devided by semicolon - "option_name:option_value:option_type".
+ * Option value is empty if an option is not set.
+ * Note: the method is mostly for interaction with GUI.
+ */
+ string_array GetOptionValues();
+ string_array GetPreCADOptionValues();
+
+ /*!
+ * Set option values each in the form "option_name[:option_value][:option_type]".
+ * Note: the method is mostly for interaction with GUI.
+ */
+ void SetOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
+ void SetPreCADOptionValues(in string_array options) raises (SALOME::SALOME_Exception);
+
+ /*!
+ * SizeMap
+ */
+ void SetSizeMapEntries(in string_array sizeMaps) raises (SALOME::SALOME_Exception);
+ void ClearSizeMaps();
+
+ void UnsetEntry(in string entry);
+
+ /*!
+ * Set/unset a SizeMap on geom object
+ */
+ void SetSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap) raises (SALOME::SALOME_Exception);
+ void SetConstantSizeMap(in GEOM::GEOM_Object GeomObj, in double sizeMap);
+ void UnsetSizeMap(in GEOM::GEOM_Object GeomObj);
+
+ /*!
+ * Set a SizeMap on geom object given by entry
+ */
+ void SetSizeMapEntry(in string entry, in string sizeMap) raises (SALOME::SALOME_Exception);
+ void SetConstantSizeMapEntry(in string entry, in GEOM::shape_type shapeType, in double sizeMap) raises (SALOME::SALOME_Exception);
+ string GetSizeMapEntry(in string entry) raises (SALOME::SALOME_Exception);
+ string_array GetSizeMapEntries();
+
+ /*!
+ * Set/unset an attractor on geom object
+ */
+ void SetAttractor(in GEOM::GEOM_Object GeomObj, in string attractor);
+ void UnsetAttractor(in GEOM::GEOM_Object GeomObj);
+
+ /*!
+ * Set an attractor on geom object given by entry
+ */
+ void SetAttractorEntry(in string entry, in string attractor) raises (SALOME::SALOME_Exception);
+ string GetAttractorEntry(in string entry) raises (SALOME::SALOME_Exception);
+ string_array GetAttractorEntries();
+
+ /*!
+ * Set/unset an attractor given as geom object on another geom object
+ */
+ void SetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape, in double StartSize, in double EndSize, in double ActionRadius, in double ConstantRadius);
+ void UnsetAttractorGeom(in GEOM::GEOM_Object GeomObj, in GEOM::GEOM_Object AttractorShape);
+ void UnsetAttractorEntry(in string entry, in string attractor);
+
+ /*!
+ * Set an attractor given by entry on a geom object given by entry
+ */
+ 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);
+ BLSURFPlugin::TAttParamsMap GetAttractorParams();
+
+/*
+ void SetCustomSizeMapEntry(in string entry, in string sizeMap);
+ string GetCustomSizeMapEntry(in string entry);
+ void SetCustomSizeMap(in GEOM::GEOM_Object GeomObj, in string sizeMap);
+ void UnsetCustomSizeMap(in GEOM::GEOM_Object GeomObj);
+ string_array GetCustomSizeMapEntries();
+*/
+ ///////////////////////
+ // ENFORCED VERTEXES //
+ ///////////////////////
+
+ TFaceEntryEnfVertexListMap GetAllEnforcedVerticesByFace();
+ TEnfVertexList GetAllEnforcedVertices();
+
+ TFaceEntryCoordsListMap GetAllCoordsByFace();
+ TCoordsEnfVertexMap GetAllEnforcedVerticesByCoords();
+
+ TFaceEntryEnfVertexEntryListMap GetAllEnfVertexEntriesByFace();
+ TEnfVertexEntryEnfVertexMap GetAllEnforcedVerticesByEnfVertexEntry();
+
+ void ClearAllEnforcedVertices();
+
+ /*!
+ * Set/get/unset an enforced vertex on geom face
+ */
+ boolean SetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+ boolean SetEnforcedVertexNamed(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfName theVertexName) raises (SALOME::SALOME_Exception);
+ boolean SetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
+ boolean SetEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in double x, in double y, in double z, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+ 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);
+ boolean SetEnforcedVertexGeomWithGroup(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+
+
+ TEnfVertexList GetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
+
+ boolean UnsetEnforcedVertex(in GEOM::GEOM_Object theFace, in double x, in double y, in double z) raises (SALOME::SALOME_Exception);
+ boolean UnsetEnforcedVertexGeom(in GEOM::GEOM_Object theFace, in GEOM::GEOM_Object theVertex) raises (SALOME::SALOME_Exception);
+ boolean UnsetEnforcedVertices(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
+
+ /*!
+ * Set/get/unset an enforced vertex on geom face given by entry
+ */
+ boolean SetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z,
+ in TEnfName theVertexName, in TEntry theVertexEntry, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+
+ TEnfVertexList GetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
+ boolean UnsetEnforcedVertexEntry(in TEntry theFaceEntry, in double x, in double y, in double z, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
+// boolean UnsetEnforcedVertexEntryGeom(in TEntry theFaceEntry, in TEntry theVertexEntry) raises (SALOME::SALOME_Exception);
+ boolean UnsetEnforcedVerticesEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
+
+ /*!
+ * To get/set internal vertices as enforced vertices
+ */
+ void SetInternalEnforcedVertexAllFaces(in boolean toEnforceInternalVertices);
+ boolean GetInternalEnforcedVertexAllFaces();
+ void SetInternalEnforcedVertexAllFacesGroup(in TEnfGroupName groupName);
+ TEnfGroupName GetInternalEnforcedVertexAllFacesGroup();
+
+// Enable internal enforced vertices on specific face if requested by user
+// void SetInternalEnforcedVertex(in GEOM::GEOM_Object theFace,in boolean toEnforceInternalVertices) raises (SALOME::SALOME_Exception);
+// void SetInternalEnforcedVertexWithGroup(in GEOM::GEOM_Object theFace, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+// void SetInternalEnforcedVertexEntry(in TEntry theFaceEntry, in boolean toEnforceInternalVertices, in TEnfGroupName groupName) raises (SALOME::SALOME_Exception);
+// boolean GetInternalEnforcedVertex(in GEOM::GEOM_Object theFace) raises (SALOME::SALOME_Exception);
+// boolean GetInternalEnforcedVertexEntry(in TEntry theFaceEntry) raises (SALOME::SALOME_Exception);
+// TFaceEntryInternalVerticesList GetAllInternalEnforcedVerticesFaces();
+ ///////////////////////
+
+
+ ///////////////////////
+ // PERIODICITY //
+ ///////////////////////
+
+ void ClearPreCadPeriodicityVectors();
+ void AddPreCadFacesPeriodicity(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2) raises (SALOME::SALOME_Exception);
+ void AddPreCadFacesPeriodicityWithVertices(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
+ void AddPreCadFacesPeriodicityEntry(in TEntry theFace1, in TEntry theFace2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
+ void AddPreCadEdgesPeriodicity(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2) raises (SALOME::SALOME_Exception);
+ void AddPreCadEdgesPeriodicityWithVertices(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2, in GEOM::ListOfGO theSourceVertices, in GEOM::ListOfGO theTargetVertices) raises (SALOME::SALOME_Exception);
+ void AddPreCadEdgesPeriodicityEntry(in TEntry theEdge1, in TEntry theEdge2, in TEntryList theSourceVertices, in TEntryList theTargetVertices) raises (SALOME::SALOME_Exception);
+ void AddFacePeriodicity(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theFace2) raises (SALOME::SALOME_Exception);
+ void AddEdgePeriodicity(in GEOM::GEOM_Object theFace1, in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theFace2, in GEOM::GEOM_Object theEdge2, in long edge_orientation) raises (SALOME::SALOME_Exception);
+ void AddEdgePeriodicityWithoutFaces(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theEdge2, in long edge_orientation) raises (SALOME::SALOME_Exception);
+ void AddVertexPeriodicity(in GEOM::GEOM_Object theEdge1, in GEOM::GEOM_Object theVertex1, in GEOM::GEOM_Object theEdge2, in GEOM::GEOM_Object theVertex2) raises (SALOME::SALOME_Exception);
+ TPeriodicityList GetPreCadFacesPeriodicityVector();
+ TPeriodicityList GetPreCadEdgesPeriodicityVector();
+ ///////////////////////
+
+ /*!
+ * Sets the file for export resulting mesh in GMF format
+ */
+// void SetGMFFile(in string theFileName, in boolean isBinary);
+ void SetGMFFile(in string theFileName);
+ string GetGMFFile();
+// boolean GetGMFFileMode();
+
+ //
+ // Obsolete methods - To be removed in V7
+ //
+ void SetPhyMin(in double theMinSize);
+ double GetPhyMin();
+ void SetPhyMax(in double theMaxSize);
+ double GetPhyMax();
+ void SetGeoMin(in double theMinSize);
+ double GetGeoMin();
+ void SetGeoMax(in double theMaxSize);
+ double GetGeoMax();
+ void SetAngleMeshS(in double angle);
+ double GetAngleMeshS();
+ void SetAngleMeshC(in double angle);
+ double GetAngleMeshC();
+ void SetDecimesh(in boolean toIgnoreEdges);