-// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
// 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 <vector>
#include <set>
-class SMESH_Mesh;
-class SMESH_Comment;
class SMESHDS_Mesh;
+class SMESH_Comment;
+class SMESH_Mesh;
+class SMESH_MesherHelper;
class TopoDS_Shape;
class TopTools_IndexedMapOfShape;
class NETGENPlugin_Hypothesis;
std::string getOutputFileName();
void removeOutputFile();
std::string _outputFileName;
+
+ std::streambuf* _coutBuffer; // to re-/store cout.rdbuf()
};
//=============================================================================
bool Evaluate(MapShapeNbElems& aResMap);
- double GetProgress(const SMESH_Algo* holder, const int * algoProgressTic ) const;
+ double GetProgress(const SMESH_Algo* holder,
+ const int * algoProgressTic,
+ const double * algoProgress) const;
static void PrepareOCCgeometry(netgen::OCCGeometry& occgeom,
const TopoDS_Shape& shape,
static double GetDefaultMinSize(const TopoDS_Shape& shape,
const double maxSize);
- static void RestrictLocalSize(netgen::Mesh& ngMesh, const gp_XYZ& p, const double size);
+ static void RestrictLocalSize(netgen::Mesh& ngMesh,
+ const gp_XYZ& p,
+ const double size,
+ const bool overrideMinH=true);
static int FillSMesh(const netgen::OCCGeometry& occgeom,
netgen::Mesh& ngMesh,
const NETGENPlugin_ngMeshInfo& initState,
SMESH_Mesh& sMesh,
std::vector<const SMDS_MeshNode*>& nodeVec,
- SMESH_Comment& comment);
+ SMESH_Comment& comment,
+ SMESH_MesherHelper* quadHelper=0);
bool FillNgMesh(netgen::OCCGeometry& occgeom,
netgen::Mesh& ngMesh,
std::vector<const SMDS_MeshNode*>& nodeVec,
const std::list< SMESH_subMesh* > & meshedSM,
+ SMESH_MesherHelper* quadHelper=0,
SMESH_ProxyMesh::Ptr proxyMesh=SMESH_ProxyMesh::Ptr());
static void FixIntFaces(const netgen::OCCGeometry& occgeom,
netgen::OCCGeometry& geom,
const TSideVector& wires,
SMESH_MesherHelper& helper,
- std::vector< const SMDS_MeshNode* > & nodeVec);
+ std::vector< const SMDS_MeshNode* > & nodeVec,
+ const bool overrideMinH=true);
void SetDefaultParameters();
bool _isViscousLayers2D;
netgen::Mesh* _ngMesh;
netgen::OCCGeometry* _occgeom;
+
int _curShapeIndex;
+ volatile int _progressTic;
+ volatile double _ticTime; // normalized [0,1] compute time per a SMESH_Algo::_progressTic
+ volatile double _totalTime;
const NETGENPlugin_SimpleHypothesis_2D * _simpleHyp;