-// 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
#include <utilities.h>
#include "BLSURFPlugin_Attractor.hxx"
-// Parameters for work of BLSURF
+// Parameters for work of MG-CADSurf
class BLSURFPlugin_Hypothesis: public SMESH_Hypothesis
{
GeometricalLocalSize
};
- static const char* GetHypType() { return "BLSURF_Parameters"; }
+ static const char* GetHypType() { return "MG-CADSurf Parameters"; }
TopoDS_Shape entryToShape(std::string entry);
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);
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<double> > TParamsMap; //TODO à finir
void SetClassAttractorEntry(const std::string& entry, const std::string& att_entry, double StartSize, double EndSize, double ActionRadius, double ConstantRadius);
struct TPreCadPeriodicity {
TEntry shape1Entry;
TEntry shape2Entry;
- std::vector<TEntry> theSourceVerticesEntries;
- std::vector<TEntry> theTargetVerticesEntries;
+ std::vector<std::string> theSourceVerticesEntries;
+ std::vector<std::string> theTargetVerticesEntries;
};
// Edge periodicity
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);
const TVerticesPeriodicityVector _GetVerticesPeriodicityVector() const { return _verticesPeriodicityVector; }
static TVerticesPeriodicityVector GetVerticesPeriodicityVector(const BLSURFPlugin_Hypothesis* hyp);
+ void ClearPreCadPeriodicityVectors();
+
void AddPreCadFacesPeriodicity(TEntry theFace1Entry, TEntry theFace2Entry,
std::vector<std::string> &theSourceVerticesEntries, std::vector<std::string> &theTargetVerticesEntries);
void AddPreCadEdgesPeriodicity(TEntry theEdge1Entry, TEntry theEdge2Entry,
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
double _preCADEpsNano;
TOptionValues _option2value, _preCADoption2value;
+ TOptionValues _customOption2value, _customPreCADOption2value;
TOptionNames _doubleOptions, _charOptions;
TOptionNames _preCADdoubleOptions, _preCADcharOptions;
TSizeMap _sizeMap;
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;