Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Zcracks plugin adaptation to new Zcracks tool
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_Prism_3D.hxx
diff --git
a/src/StdMeshers/StdMeshers_Prism_3D.hxx
b/src/StdMeshers/StdMeshers_Prism_3D.hxx
index 6c7c52fe1bf2c7f2589f4aa4cbc25669f39f750d..ddfbff96a13a5c917b54248cfedad4d506334b9b 100644
(file)
--- a/
src/StdMeshers/StdMeshers_Prism_3D.hxx
+++ b/
src/StdMeshers/StdMeshers_Prism_3D.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
4
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
6
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
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-185,6
+185,16
@@
class STDMESHERS_EXPORT StdMeshers_PrismAsBlock: public SMESH_Block
return col_frw.first;
}
return col_frw.first;
}
+ /*!
+ * \brief Return pointer to column of nodes
+ * \param node - bottom node from which the returned column goes up
+ * \retval const TNodeColumn* - the found column
+ */
+ bool HasNodeColumn(const SMDS_MeshNode* node) const
+ {
+ return myShapeIndex2ColumnMap.count( node->getshapeId() );
+ }
+
/*!
* \brief Return transformations to get coordinates of nodes of each internal layer
* by nodes of the bottom. Layer is a set of nodes at a certain step
/*!
* \brief Return transformations to get coordinates of nodes of each internal layer
* by nodes of the bottom. Layer is a set of nodes at a certain step
@@
-270,7
+280,7
@@
private:
TParam2ColumnMap* myParamToColumnMap;
PSurface mySurface;
TopoDS_Edge myBaseEdge;
TParam2ColumnMap* myParamToColumnMap;
PSurface mySurface;
TopoDS_Edge myBaseEdge;
-
map< int, PSurface >
myShapeID2Surf;
+
std::map< int, PSurface >
myShapeID2Surf;
// first and last normalized params and orientaion for each component or it-self
std::vector< std::pair< double, double> > myParams; // select my columns in myParamToColumnMap
bool myIsForward;
// first and last normalized params and orientaion for each component or it-self
std::vector< std::pair< double, double> > myParams; // select my columns in myParamToColumnMap
bool myIsForward;
@@
-412,7
+422,8
@@
struct StdMeshers_Sweeper
std::vector< TNodeColumn* > myIntColumns; // internal nodes
bool ComputeNodes( SMESH_MesherHelper& helper,
std::vector< TNodeColumn* > myIntColumns; // internal nodes
bool ComputeNodes( SMESH_MesherHelper& helper,
- const double tol );
+ const double tol,
+ const bool allowHighBndError );
private:
private:
@@
-471,7
+482,7
@@
public:
* \param nodeColumns - columns of nodes generated from nodes of a mesh face
* \param helper - helper initialized by mesh and shape to add prisms to
*/
* \param nodeColumns - columns of nodes generated from nodes of a mesh face
* \param helper - helper initialized by mesh and shape to add prisms to
*/
- static
void
AddPrisms( std::vector<const TNodeColumn*> & nodeColumns,
+ static
bool
AddPrisms( std::vector<const TNodeColumn*> & nodeColumns,
SMESH_MesherHelper* helper);
static bool IsApplicable(const TopoDS_Shape & aShape, bool toCheckAll);
SMESH_MesherHelper* helper);
static bool IsApplicable(const TopoDS_Shape & aShape, bool toCheckAll);
@@
-482,7
+493,9
@@
public:
* \brief Analyse shape geometry and mesh.
* If there are triangles on one of faces, it becomes 'bottom'
*/
* \brief Analyse shape geometry and mesh.
* If there are triangles on one of faces, it becomes 'bottom'
*/
- bool initPrism(Prism_3D::TPrismTopo& thePrism, const TopoDS_Shape& theSolid);
+ bool initPrism(Prism_3D::TPrismTopo& thePrism,
+ const TopoDS_Shape& theSolid,
+ const bool selectBottom = true);
/*!
* \brief Fill thePrism.myWallQuads and thePrism.myTopEdges
/*!
* \brief Fill thePrism.myWallQuads and thePrism.myTopEdges
@@
-527,6
+540,11
@@
public:
*/
double getSweepTolerance( const Prism_3D::TPrismTopo& thePrism );
*/
double getSweepTolerance( const Prism_3D::TPrismTopo& thePrism );
+ /*!
+ * \brief Defines if it's safe to use the block approach
+ */
+ bool isSimpleBottom( const Prism_3D::TPrismTopo& thePrism );
+
/*!
* \brief Project mesh faces from a source FACE of one prism to
* a source FACE of another prism
/*!
* \brief Project mesh faces from a source FACE of one prism to
* a source FACE of another prism
@@
-556,6
+574,7
@@
private:
bool myProjectTriangles;
bool mySetErrorToSM;
bool myProjectTriangles;
bool mySetErrorToSM;
+ bool myUseBlock;
StdMeshers_PrismAsBlock myBlock;
SMESH_MesherHelper* myHelper;
StdMeshers_PrismAsBlock myBlock;
SMESH_MesherHelper* myHelper;