X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FBLSURFPlugin%2FBLSURFPlugin_Hypothesis.hxx;h=43a4aab0e854f9bee8f41ed1d59f21ae1f5dd6cb;hb=8422810dcc5e588762f906db7a15f31eb337f3eb;hp=ae1f40c8acf4b5d98ddc7cd5bdbcafeb7a3ba387;hpb=081a2cefe4b7f01d00aee890fde6646b3f7d4aa3;p=plugins%2Fblsurfplugin.git diff --git a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx index ae1f40c..43a4aab 100644 --- a/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx +++ b/src/BLSURFPlugin/BLSURFPlugin_Hypothesis.hxx @@ -1,9 +1,9 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D // // 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 @@ -38,7 +38,7 @@ #include #include "BLSURFPlugin_Attractor.hxx" -// Parameters for work of BLSURF +// Parameters for work of MG-CADSurf class BLSURFPlugin_Hypothesis: public SMESH_Hypothesis { @@ -64,7 +64,7 @@ public: GeometricalLocalSize }; - static const char* GetHypType() { return "BLSURF_Parameters"; } + static const char* GetHypType() { return "MG-CADSurf Parameters"; } TopoDS_Shape entryToShape(std::string entry); @@ -128,7 +128,7 @@ public: void SetVerbosity(int theVal); int GetVerbosity() const { return _verb; } - void ClearEntry(const std::string& entry); + void ClearEntry(const std::string& entry, const char * attEntry = 0); void ClearSizeMaps(); void SetPreCADMergeEdges(bool theVal); @@ -167,7 +167,7 @@ public: const TSizeMap& GetCustomSizeMapEntries() const { return _customSizeMap; } */ - typedef std::map< std::string, BLSURFPlugin_Attractor* > TAttractorMap; + typedef std::multimap< std::string, BLSURFPlugin_Attractor* > TAttractorMap; typedef std::map< std::string, std::vector > TParamsMap; //TODO à finir void SetClassAttractorEntry(const std::string& entry, const std::string& att_entry, double StartSize, double EndSize, double ActionRadius, double ConstantRadius); @@ -220,8 +220,8 @@ public: struct TPreCadPeriodicity { TEntry shape1Entry; TEntry shape2Entry; - std::vector theSourceVerticesEntries; - std::vector theTargetVerticesEntries; + std::vector theSourceVerticesEntries; + std::vector theTargetVerticesEntries; }; // Edge periodicity @@ -387,6 +387,8 @@ public: static TEnfVertexGroupNameMap GetDefaultEnfVertexGroupNameMap() { return TEnfVertexGroupNameMap(); } */ +// const TPreCadPeriodicityEntriesVector _GetPreCadFacesPeriodicityEntries() const { return _preCadFacesPeriodicityEntriesVector; } + static TPreCadPeriodicityVector GetDefaultPreCadFacesPeriodicityVector() { return TPreCadPeriodicityVector(); } const TPreCadPeriodicityVector _GetPreCadFacesPeriodicityVector() const { return _preCadFacesPeriodicityVector; } static TPreCadPeriodicityVector GetPreCadFacesPeriodicityVector(const BLSURFPlugin_Hypothesis* hyp); @@ -407,6 +409,8 @@ public: const TVerticesPeriodicityVector _GetVerticesPeriodicityVector() const { return _verticesPeriodicityVector; } static TVerticesPeriodicityVector GetVerticesPeriodicityVector(const BLSURFPlugin_Hypothesis* hyp); + void ClearPreCadPeriodicityVectors(); + void AddPreCadFacesPeriodicity(TEntry theFace1Entry, TEntry theFace2Entry, std::vector &theSourceVerticesEntries, std::vector &theTargetVerticesEntries); void AddPreCadEdgesPeriodicity(TEntry theEdge1Entry, TEntry theEdge2Entry, @@ -431,6 +435,13 @@ public: void ClearPreCADOption(const std::string& optionName); const TOptionValues& GetOptionValues() const { return _option2value; } const TOptionValues& GetPreCADOptionValues() const { return _preCADoption2value; } + const TOptionValues& GetCustomOptionValues() const { return _customOption2value; } + const TOptionValues& GetCustomPreCADOptionValues() const { return _customPreCADOption2value; } + + void AddOption(const std::string& optionName, const std::string& optionValue); + void AddPreCADOption(const std::string& optionName, const std::string& optionValue); + std::string GetOption(const std::string& optionName); + std::string GetPreCADOption(const std::string& optionName); /*! * Sets the file for export resulting mesh in GMF format @@ -490,6 +501,7 @@ private: double _preCADEpsNano; TOptionValues _option2value, _preCADoption2value; + TOptionValues _customOption2value, _customPreCADOption2value; TOptionNames _doubleOptions, _charOptions; TOptionNames _preCADdoubleOptions, _preCADcharOptions; TSizeMap _sizeMap; @@ -520,6 +532,30 @@ private: TEdgesPeriodicityVector _edgesPeriodicityVector; TVerticesPeriodicityVector _verticesPeriodicityVector; + // Called by SaveTo to store content of _preCadFacesPeriodicityVector and _preCadEdgesPeriodicityVector + void SavePreCADPeriodicity(std::ostream & save, const char* shapeType); + + // Called by LoadFrom to fill _preCadFacesPeriodicityVector and _preCadEdgesPeriodicityVector + void LoadPreCADPeriodicity(std::istream & load, const char* shapeType); + + // Called by LoadFrom to fill _facesPeriodicityVector + void LoadFacesPeriodicity(std::istream & load); + + // Called by LoadFrom to fill _edgesPeriodicityVector + void LoadEdgesPeriodicity(std::istream & load); + + // Called by LoadFrom to fill _verticesPeriodicityVector + void LoadVerticesPeriodicity(std::istream & load); + + // Called by SaveTo to store content of _facesPeriodicityVector + void SaveFacesPeriodicity(std::ostream & save); + + // Called by SaveTo to store content of _edgesPeriodicityVector + void SaveEdgesPeriodicity(std::ostream & save); + + // Called by SaveTo to store content of _verticesPeriodicityVector + void SaveVerticesPeriodicity(std::ostream & save); + std::string _GMFFileName; // bool _GMFFileMode;