X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FBLSURFPlugin%2FBLSURFPlugin_Hypothesis_i.hxx;h=2cd96838345fa18f5ad4077df8e6282410778214;hb=eb4032790e66b175e653da3a6cd843218789c331;hp=9d26a59a3ebbfc1b8909eeb6de8f83dc2784a3a8;hpb=80b7a9ac95c02fd517995689af8293bf841026ed;p=plugins%2Fblsurfplugin.git diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx index 9d26a59..2cd9683 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis_i.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 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 // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -37,14 +37,20 @@ class GEOM_Object; // BLSURFPlugin parameters hypothesis -class BLSURFPlugin_Hypothesis_i: public virtual POA_BLSURFPlugin::BLSURFPlugin_Hypothesis, - public virtual SMESH_Hypothesis_i { +class BLSURFPlugin_Hypothesis_i: + public virtual POA_BLSURFPlugin::BLSURFPlugin_Hypothesis, + public virtual SMESH_Hypothesis_i +{ public: // Constructor - BLSURFPlugin_Hypothesis_i(PortableServer::POA_ptr thePOA, int theStudyId, ::SMESH_Gen* theGenImpl); + BLSURFPlugin_Hypothesis_i(PortableServer::POA_ptr thePOA, + ::SMESH_Gen* theGenImpl, + bool theHasGEOM); // Destructor virtual ~BLSURFPlugin_Hypothesis_i(); + char* GetMeshGemsVersion(); + void SetPhysicalMesh(CORBA::Long theValue); CORBA::Long GetPhysicalMesh(); @@ -66,82 +72,206 @@ public: CORBA::Double GetMaxSize(); CORBA::Boolean IsMaxSizeRel(); + void SetUseGradation(CORBA::Boolean theValue); + CORBA::Boolean GetUseGradation(); void SetGradation(CORBA::Double theValue); CORBA::Double GetGradation(); + void SetUseVolumeGradation(CORBA::Boolean theValue); + CORBA::Boolean GetUseVolumeGradation(); + void SetVolumeGradation(CORBA::Double theValue); + CORBA::Double GetVolumeGradation(); + void SetQuadAllowed(CORBA::Boolean theValue); - CORBA::Boolean GetQuadAllowed(); + + void SetElementType(CORBA::Long theValue); + CORBA::Long GetElementType(); void SetAngleMesh(CORBA::Double theValue); CORBA::Double GetAngleMesh(); - + void SetChordalError(CORBA::Double distance); CORBA::Double GetChordalError(); - + void SetAnisotropic(CORBA::Boolean anisotropic); CORBA::Boolean GetAnisotropic(); - + void SetAnisotropicRatio(CORBA::Double ratio); CORBA::Double GetAnisotropicRatio(); - + void SetRemoveTinyEdges(CORBA::Boolean remove); CORBA::Boolean GetRemoveTinyEdges(); - + void SetTinyEdgeLength(CORBA::Double length); CORBA::Double GetTinyEdgeLength(); - + + void SetOptimiseTinyEdges(CORBA::Boolean toOptimise); + CORBA::Boolean GetOptimiseTinyEdges(); + + void SetTinyEdgeOptimisationLength(CORBA::Double length); + CORBA::Double GetTinyEdgeOptimisationLength(); + + void SetCorrectSurfaceIntersection(CORBA::Boolean toOptimise); + CORBA::Boolean GetCorrectSurfaceIntersection(); + + void SetCorrectSurfaceIntersectionMaxCost(CORBA::Double maxCost); + CORBA::Double GetCorrectSurfaceIntersectionMaxCost(); + void SetBadElementRemoval(CORBA::Boolean remove); CORBA::Boolean GetBadElementRemoval(); - + void SetBadElementAspectRatio(CORBA::Double ratio); CORBA::Double GetBadElementAspectRatio(); - + void SetOptimizeMesh(CORBA::Boolean optimize); CORBA::Boolean GetOptimizeMesh(); - + void SetQuadraticMesh(CORBA::Boolean quadratic); CORBA::Boolean GetQuadraticMesh(); void SetTopology(CORBA::Long theValue); CORBA::Long GetTopology(); - void SetVerbosity(CORBA::Short theVal) throw (SALOME::SALOME_Exception); + + /*! + * Activate/deactivate surface proximity computation + */ + void SetSurfaceProximity( CORBA::Boolean toUse ); + CORBA::Boolean GetSurfaceProximity(); + + /*! + * Set number of surface element layers to be generated due to surface proximity + */ + void SetNbSurfaceProximityLayers( CORBA::Short nbLayers ); + CORBA::Short GetNbSurfaceProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to surface proximity is increased + */ + void SetSurfaceProximityRatio( CORBA::Double ratio ); + CORBA::Double GetSurfaceProximityRatio(); + + /*! + * Activate/deactivate volume proximity computation + */ + void SetVolumeProximity( CORBA::Boolean toUse ); + CORBA::Boolean GetVolumeProximity(); + + /*! + * Set number of surface element layers to be generated due to volume proximity + */ + void SetNbVolumeProximityLayers( CORBA::Short nbLayers ); + CORBA::Short GetNbVolumeProximityLayers(); + + /*! + * Set coefficient by which size of element refined due to volume proximity is increased + */ + void SetVolumeProximityRatio( CORBA::Double ratio ); + CORBA::Double GetVolumeProximityRatio(); + + + void SetVerbosity(CORBA::Short theVal); CORBA::Short GetVerbosity(); + /*! + * Set/Get enforced 1D meshes + */ + void SetEnforcedMeshes( const BLSURFPlugin::EnforcedMeshesList& enforcedMeshes ); + BLSURFPlugin::EnforcedMeshesList* GetEnforcedMeshes(); + + void SetEnforceCadEdgesSize( CORBA::Boolean toEnforce ); + CORBA::Boolean GetEnforceCadEdgesSize(); + + void SetJacobianRectificationRespectGeometry( CORBA::Boolean allowRectification ); + CORBA::Boolean GetJacobianRectificationRespectGeometry(); + + void SetUseDeprecatedPatchMesher( CORBA::Boolean useDeprecatedPatchMesher ); + CORBA::Boolean GetUseDeprecatedPatchMesher(); + + void SetJacobianRectification( CORBA::Boolean allowRectification ); + CORBA::Boolean GetJacobianRectification(); + + void SetMaxNumberOfPointsPerPatch( CORBA::Long nb ); + CORBA::Long GetMaxNumberOfPointsPerPatch(); + + void SetMaxNumberOfThreads( CORBA::Long nb ); + CORBA::Long GetMaxNumberOfThreads(); + + void SetRespectGeometry( CORBA::Boolean toRespect ); + CORBA::Boolean GetRespectGeometry(); + + void SetTinyEdgesAvoidSurfaceIntersections( CORBA::Boolean toAvoidIntersection ); + CORBA::Boolean GetTinyEdgesAvoidSurfaceIntersections(); + + void SetClosedGeometry( CORBA::Boolean isClosed ); + CORBA::Boolean GetClosedGeometry(); + + void SetDebug( CORBA::Boolean isDebug ); + bool GetDebug(); + + void SetPeriodicTolerance( CORBA::Double tol ); + double GetPeriodicTolerance(); + + void SetRequiredEntities( const char* howToTreat ); + char* GetRequiredEntities(); + + void SetSewingTolerance( CORBA::Double tol ); + CORBA::Double GetSewingTolerance(); + + void SetTags( const char* howToTreat ); + char* GetTags(); + + void SetHyperPatches(const BLSURFPlugin::THyperPatchList& hpl); + BLSURFPlugin::THyperPatchList* GetHyperPatches( GEOM::GEOM_Object_ptr mainShape ); + void SetHyperPatchShapes(const BLSURFPlugin::THyperPatchShapesList& hpsl); + BLSURFPlugin::THyperPatchEntriesList* GetHyperPatchShapes(); + void SetHyperPatchEntries(const BLSURFPlugin::THyperPatchEntriesList& hpel); + void SetPreCADMergeEdges(CORBA::Boolean theValue); CORBA::Boolean GetPreCADMergeEdges(); + void SetPreCADRemoveDuplicateCADFaces(CORBA::Boolean theValue); + CORBA::Boolean GetPreCADRemoveDuplicateCADFaces(); + void SetPreCADProcess3DTopology(CORBA::Boolean theValue); CORBA::Boolean GetPreCADProcess3DTopology(); void SetPreCADDiscardInput(CORBA::Boolean theValue); CORBA::Boolean GetPreCADDiscardInput(); - void SetOptionValue(const char* optionName, const char* optionValue) throw (SALOME::SALOME_Exception); - void SetPreCADOptionValue(const char* optionName, const char* optionValue) throw (SALOME::SALOME_Exception); - char* GetOptionValue(const char* optionName) throw (SALOME::SALOME_Exception); - char* GetPreCADOptionValue(const char* optionName) throw (SALOME::SALOME_Exception); + void SetOptionValue(const char* optionName, const char* optionValue); + void SetPreCADOptionValue(const char* optionName, const char* optionValue); + char* GetOptionValue(const char* optionName); + char* GetPreCADOptionValue(const char* optionName); void UnsetOption(const char* optionName); void UnsetPreCADOption(const char* optionName); BLSURFPlugin::string_array* GetOptionValues(); BLSURFPlugin::string_array* GetPreCADOptionValues(); + BLSURFPlugin::string_array* GetAdvancedOptionValues(); + + void SetOptionValues(const BLSURFPlugin::string_array& options); + void SetPreCADOptionValues(const BLSURFPlugin::string_array& options); + void SetAdvancedOptionValues(const BLSURFPlugin::string_array& options); + void SetAdvancedOption(const char* optionsAndValues); - void SetOptionValues(const BLSURFPlugin::string_array& options) throw (SALOME::SALOME_Exception); - void SetPreCADOptionValues(const BLSURFPlugin::string_array& options) throw (SALOME::SALOME_Exception); + void AddOption(const char* optionName, const char* optionValue); + void AddPreCADOption(const char* optionName, const char* optionValue); + char* GetOption(const char* optionName); + char* GetPreCADOption(const char* optionName); - void SetSizeMapEntry(const char* entry, const char* sizeMap) throw (SALOME::SALOME_Exception); + void SetSizeMapEntry(const char* entry, const char* sizeMap); - void SetConstantSizeMapEntry(const char* entry, GEOM::shape_type shapeType, CORBA::Double sizeMap) throw (SALOME::SALOME_Exception); + void SetConstantSizeMapEntry(const char* entry, GEOM::shape_type shapeType, CORBA::Double sizeMap); - char* GetSizeMapEntry(const char* entry) throw (SALOME::SALOME_Exception); + char* GetSizeMapEntry(const char* entry); void UnsetEntry(const char* entry); BLSURFPlugin::string_array* GetSizeMapEntries(); - void SetSizeMapEntries(const BLSURFPlugin::string_array& sizeMaps) throw (SALOME::SALOME_Exception); + void SetSizeMapEntries(const BLSURFPlugin::string_array& sizeMaps); void SetSizeMap(GEOM::GEOM_Object_ptr GeomObj, const char* sizeMap); @@ -155,9 +285,9 @@ public: void UnsetAttractor(GEOM::GEOM_Object_ptr GeomObj); - void SetAttractorEntry(const char* entry, const char* attractor) throw (SALOME::SALOME_Exception); + void SetAttractorEntry(const char* entry, const char* attractor); - char* GetAttractorEntry(const char* entry) throw (SALOME::SALOME_Exception); + char* GetAttractorEntry(const char* entry); BLSURFPlugin::string_array* GetAttractorEntries(); @@ -168,9 +298,11 @@ public: void SetAttractorGeom(GEOM::GEOM_Object_ptr GeomObj, GEOM::GEOM_Object_ptr Attractor, CORBA::Double StartSize, CORBA::Double EndSize, CORBA::Double ActionRadius, CORBA::Double ConstantRadius ); - void UnsetAttractorGeom(GEOM::GEOM_Object_ptr GeomObj); + void UnsetAttractorGeom(GEOM::GEOM_Object_ptr GeomObj, + GEOM::GEOM_Object_ptr theAttractor); - void SetClassAttractorEntry(const char* entry, const char* att_entry, CORBA::Double StartSize, CORBA::Double EndSize, CORBA::Double ActionRadius, CORBA::Double ConstantRadius) throw (SALOME::SALOME_Exception); + void UnsetAttractorEntry(const char* entry, const char* attractor); + void SetClassAttractorEntry(const char* entry, const char* att_entry, CORBA::Double StartSize, CORBA::Double EndSize, CORBA::Double ActionRadius, CORBA::Double ConstantRadius); BLSURFPlugin::TAttParamsMap* GetAttractorParams(); @@ -180,9 +312,9 @@ public: void UnsetCustomSizeMap(GEOM::GEOM_Object_ptr GeomObj); - void SetCustomSizeMapEntry(const char* entry,const char* sizeMap ) throw (SALOME::SALOME_Exception); + void SetCustomSizeMapEntry(const char* entry,const char* sizeMap ); - char* GetCustomSizeMapEntry(const char* entry) throw (SALOME::SALOME_Exception); + char* GetCustomSizeMapEntry(const char* entry); BLSURFPlugin::string_array* GetCustomSizeMapEntries(); */ @@ -205,39 +337,43 @@ public: /*! * Set/get/unset an enforced vertex on geom object */ - bool SetEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z) - throw (SALOME::SALOME_Exception); - bool SetEnforcedVertexNamed(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName) - throw (SALOME::SALOME_Exception); - bool SetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex) - throw (SALOME::SALOME_Exception); - bool SetEnforcedVertexWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theGroupName) - throw (SALOME::SALOME_Exception); - bool SetEnforcedVertexNamedWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName, const char* theGroupName) - throw (SALOME::SALOME_Exception); - bool SetEnforcedVertexGeomWithGroup(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex, const char* theGroupName) - throw (SALOME::SALOME_Exception); - - BLSURFPlugin::TEnfVertexList* GetEnforcedVertices(GEOM::GEOM_Object_ptr theFace) throw (SALOME::SALOME_Exception); - - bool UnsetEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z) - throw (SALOME::SALOME_Exception); - bool UnsetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex) - throw (SALOME::SALOME_Exception); - bool UnsetEnforcedVertices(GEOM::GEOM_Object_ptr theFace) throw (SALOME::SALOME_Exception); + // OBSOLETE + bool SetEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z); + bool SetEnforcedVertexNamed(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName); + bool SetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex); + bool SetEnforcedVertexWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theGroupName); + bool SetEnforcedVertexNamedWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName, const char* theGroupName); + bool SetEnforcedVertexGeomWithGroup(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex, const char* theGroupName); + + BLSURFPlugin::TEnfVertexList* GetEnforcedVertices(GEOM::GEOM_Object_ptr theFace); + + bool UnsetEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Double x, CORBA::Double y, CORBA::Double z); + bool UnsetEnforcedVertexGeom(GEOM::GEOM_Object_ptr theFace, GEOM::GEOM_Object_ptr theVertex); + bool UnsetEnforcedVertices(GEOM::GEOM_Object_ptr theFace); + + // NEW - no face + bool AddEnforcedVertex(CORBA::Double x, CORBA::Double y, CORBA::Double z); + bool AddEnforcedVertexNamed(CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName); + bool AddEnforcedVertexGeom(GEOM::GEOM_Object_ptr theVertex); + bool AddEnforcedVertexWithGroup(CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theGroupName); + bool AddEnforcedVertexNamedWithGroup(CORBA::Double x, CORBA::Double y, CORBA::Double z, const char* theVertexName, const char* theGroupName); + bool AddEnforcedVertexGeomWithGroup(GEOM::GEOM_Object_ptr theVertex, const char* theGroupName); + + bool RemoveEnforcedVertex(CORBA::Double x, CORBA::Double y, CORBA::Double z); + bool RemoveEnforcedVertexGeom(GEOM::GEOM_Object_ptr theVertex); + bool RemoveEnforcedVertices(); /*! * Set/get/unset an enforced vertex on geom object given by entry */ bool SetEnforcedVertexEntry(const char* theFaceEntry, CORBA::Double x = 0, CORBA::Double y = 0, CORBA::Double z = 0, - const char* theVertexName = "", const char* theVertexEntry = "", const char* theGroupName = "") - throw (SALOME::SALOME_Exception); + const char* theVertexName = "", const char* theVertexEntry = "", const char* theGroupName = ""); - BLSURFPlugin::TEnfVertexList* GetEnforcedVerticesEntry(const char* theFaceEntry) throw (SALOME::SALOME_Exception); + BLSURFPlugin::TEnfVertexList* GetEnforcedVerticesEntry(const char* theFaceEntry); bool UnsetEnforcedVertexEntry(const char* theFaceEntry, CORBA::Double x, CORBA::Double y, CORBA::Double z, - const char* theVertexEntry = "") throw (SALOME::SALOME_Exception); - bool UnsetEnforcedVerticesEntry(const char* theFaceEntry) throw (SALOME::SALOME_Exception); + const char* theVertexEntry = ""); + bool UnsetEnforcedVerticesEntry(const char* theFaceEntry); /*! * To add internal vertices as enforced vertices @@ -248,11 +384,11 @@ public: char* GetInternalEnforcedVertexAllFacesGroup(); // Enable internal enforced vertices on specific face if requested by user -// void SetInternalEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Boolean toEnforceInternalVertices) throw (SALOME::SALOME_Exception); -// void SetInternalEnforcedVertexWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Boolean toEnforceInternalVertices, const char* theGroupName = "") throw (SALOME::SALOME_Exception); -// void SetInternalEnforcedVertexEntry(const char* theFaceEntry, CORBA::Boolean toEnforceInternalVertices, const char* theGroupName = "") throw (SALOME::SALOME_Exception); -// CORBA::Boolean GetInternalEnforcedVertex(GEOM::GEOM_Object_ptr theFace) throw (SALOME::SALOME_Exception); -// CORBA::Boolean GetInternalEnforcedVertexEntry(const char* theFaceEntry) throw (SALOME::SALOME_Exception); +// void SetInternalEnforcedVertex(GEOM::GEOM_Object_ptr theFace, CORBA::Boolean toEnforceInternalVertices); +// void SetInternalEnforcedVertexWithGroup(GEOM::GEOM_Object_ptr theFace, CORBA::Boolean toEnforceInternalVertices, const char* theGroupName = ""); +// void SetInternalEnforcedVertexEntry(const char* theFaceEntry, CORBA::Boolean toEnforceInternalVertices, const char* theGroupName = ""); +// CORBA::Boolean GetInternalEnforcedVertex(GEOM::GEOM_Object_ptr theFace); +// CORBA::Boolean GetInternalEnforcedVertexEntry(const char* theFaceEntry); /////////////////////// // PERIODICITY // @@ -265,50 +401,21 @@ public: BLSURFPlugin::TPeriodicityList* PreCadVectorToSequence(const ::BLSURFPlugin_Hypothesis::TPreCadPeriodicityVector& preCadPeriodicityVector); - void AddPreCadFacesPeriodicity(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2) - throw (SALOME::SALOME_Exception); + void AddPreCadFacesPeriodicity(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2); void AddPreCadFacesPeriodicityWithVertices(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2, - const GEOM::ListOfGO& theSourceVertices, const GEOM::ListOfGO& theTargetVertices) - throw (SALOME::SALOME_Exception); + const GEOM::ListOfGO& theSourceVertices, const GEOM::ListOfGO& theTargetVertices); void AddPreCadFacesPeriodicityEntry(const char* theFace1Entry, const char* theFace2Entry, - const BLSURFPlugin::TEntryList& theSourceVerticesEntries, const BLSURFPlugin::TEntryList& theTargetVerticesEntries) - throw (SALOME::SALOME_Exception); + const BLSURFPlugin::TEntryList& theSourceVerticesEntries, const BLSURFPlugin::TEntryList& theTargetVerticesEntries); - void AddPreCadEdgesPeriodicity(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2) - throw (SALOME::SALOME_Exception); + void AddPreCadEdgesPeriodicity(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2); void AddPreCadEdgesPeriodicityWithVertices(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2, - const GEOM::ListOfGO& theSourceVertices, const GEOM::ListOfGO& theTargetVertices) - throw (SALOME::SALOME_Exception); + const GEOM::ListOfGO& theSourceVertices, const GEOM::ListOfGO& theTargetVertices); void AddPreCadEdgesPeriodicityEntry(const char* theEdge1Entry, const char* theEdge2Entry, - const BLSURFPlugin::TEntryList& theSourceVerticesEntries, const BLSURFPlugin::TEntryList& theTargetVerticesEntries) - throw (SALOME::SALOME_Exception); - - void AddFacePeriodicity(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2) - throw (SALOME::SALOME_Exception); - - void AddFacePeriodicityEntry(const char* theFace1Entry, const char* theFace2Entry) - throw (SALOME::SALOME_Exception); - - void AddEdgePeriodicity(GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theEdge1, - GEOM::GEOM_Object_ptr theFace2, GEOM::GEOM_Object_ptr theEdge2, CORBA::Long edge_orientation = 0) - throw (SALOME::SALOME_Exception); - - void AddEdgePeriodicityWithoutFaces(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2, CORBA::Long edge_orientation = 0) - throw (SALOME::SALOME_Exception); - - void AddEdgePeriodicityEntry(const char* theFace1Entry, const char* theEdge1Entry, const char* theFace2Entry, const char* theEdge2Entry, const long edge_orientation = 0) - throw (SALOME::SALOME_Exception); - - void AddVertexPeriodicity(GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theVertex1, - GEOM::GEOM_Object_ptr theEdge2, GEOM::GEOM_Object_ptr theVertex2) - throw (SALOME::SALOME_Exception); - - void AddVertexPeriodicityEntry(const char* theEdge1Entry, const char* theVertex1Entry, const char* theEdge2Entry, const char* theVertex2Entry) - throw (SALOME::SALOME_Exception); + const BLSURFPlugin::TEntryList& theSourceVerticesEntries, const BLSURFPlugin::TEntryList& theTargetVerticesEntries); /////////////////////// @@ -327,28 +434,16 @@ public: CORBA::Boolean IsDimSupported(SMESH::Dimension type); - // - // Obsolete methods - To be removed in V7 - // - void SetPhyMin(CORBA::Double theMinSize); - CORBA::Double GetPhyMin(); - void SetPhyMax(CORBA::Double theMaxSize); - CORBA::Double GetPhyMax(); - void SetGeoMin(CORBA::Double theMinSize); - CORBA::Double GetGeoMin(); - void SetGeoMax(CORBA::Double theMaxSize); - CORBA::Double GetGeoMax(); - void SetAngleMeshS(CORBA::Double angle); - CORBA::Double GetAngleMeshS(); - void SetAngleMeshC(CORBA::Double angle); - CORBA::Double GetAngleMeshC(); - void SetDecimesh(CORBA::Boolean toIgnoreEdges); - CORBA::Boolean GetDecimesh(); - void SetPreCADRemoveNanoEdges(CORBA::Boolean toRemoveNanoEdges); - CORBA::Boolean GetPreCADRemoveNanoEdges(); - void SetPreCADEpsNano(CORBA::Double epsNano); - CORBA::Double GetPreCADEpsNano(); + // Methods for copying mesh definition to other geometry + + // Return geometry this hypothesis depends on. Return false if there is no geometry parameter + virtual bool getObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ) const; + + // Set new geometry instead of that returned by getObjectsDependOn() + virtual bool setObjectsDependOn( std::vector< std::string > & entryArray, + std::vector< int > & subIDArray ); private: /////////////////////// // PERIODICITY // @@ -357,7 +452,7 @@ private: void CheckShapeType(GEOM::GEOM_Object_ptr shape, GEOM::shape_type theShapeType); void CheckShapeTypes(GEOM::GEOM_Object_ptr shape, std::vector theShapeTypes); std::string PublishIfNeeded(GEOM::GEOM_Object_ptr shape, GEOM::shape_type theShapeType, std::string prefix); - std::string FormatVerticesEntries(vector &theSourceVerticesEntries, vector &theTargetVerticesEntries); + std::string FormatVerticesEntries(std::vector &theSourceVerticesEntries, std::vector &theTargetVerticesEntries); };