-// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2013 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
#include "SMESH_Hypothesis.hxx"
#include "SMESH_ComputeError.hxx"
#include "SMESH_Algo.hxx"
-#include "SMESH_0D_Algo.hxx"
-#include "SMESH_1D_Algo.hxx"
-#include "SMESH_2D_Algo.hxx"
-#include "SMESH_3D_Algo.hxx"
#include "SMESH_Mesh.hxx"
#include "chrono.hxx"
#include <map>
#include <list>
+#include <vector>
+#include <string>
class SMESHDS_Document;
/*!
* \brief Computes aMesh on aShape
+ * \param aShapeOnly - if true, algo->OnlyUnaryInput() feature is ignored and
+ * only \a aShape is computed.
* \param anUpward - compute from vertices up to more complex shape (internal usage)
* \param aDim - upper level dimension of the mesh computation
* \param aShapesId - list of shapes with computed mesh entities (elements or nodes)
*/
bool Compute(::SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
+ const bool aShapeOnly=false,
const bool anUpward=false,
const ::MeshDimension aDim=::MeshDim_3D,
TSetOfInt* aShapesId=0);
-#ifdef WITH_SMESH_CANCEL_COMPUTE
void PrepareCompute(::SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape);
void CancelCompute(::SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape);
-#endif
+
+ const SMESH_subMesh* GetCurrentSubMesh() const { return _sm_current; }
/*!
* \brief evaluates size of prospective mesh on a shape
static int GetShapeDim(const TopAbs_ShapeEnum & aShapeType);
static int GetShapeDim(const TopoDS_Shape & aShape)
{ return GetShapeDim( aShape.ShapeType() ); }
+
SMESH_Algo* GetAlgo(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape, TopoDS_Shape* assignedTo=0);
+
static bool IsGlobalHypothesis(const SMESH_Hypothesis* theHyp, SMESH_Mesh& aMesh);
+ static std::vector< std::string > GetPluginXMLPaths();
+
int GetANewId();
- std::map < int, SMESH_Algo * >_mapAlgo;
- std::map < int, SMESH_0D_Algo * >_map0D_Algo;
- std::map < int, SMESH_1D_Algo * >_map1D_Algo;
- std::map < int, SMESH_2D_Algo * >_map2D_Algo;
- std::map < int, SMESH_3D_Algo * >_map3D_Algo;
+ // std::map < int, SMESH_Algo * >_mapAlgo;
+ // std::map < int, SMESH_0D_Algo * >_map0D_Algo;
+ // std::map < int, SMESH_1D_Algo * >_map1D_Algo;
+ // std::map < int, SMESH_2D_Algo * >_map2D_Algo;
+ // std::map < int, SMESH_3D_Algo * >_map3D_Algo;
private:
// number of segments per diagonal of boundary box of geometry by which
// default segment length of appropriate 1D hypotheses is defined
int _segmentation;
- // default of segments
+ // default number of segments
int _nbSegments;
+
counters *_counters;
-#ifdef WITH_SMESH_CANCEL_COMPUTE
- volatile bool _compute_canceled;
+ volatile bool _compute_canceled;
SMESH_subMesh* _sm_current;
-#endif
};
#endif