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
Restoring Regular 1D
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_QuadToTriaAdaptor.hxx
diff --git
a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx
b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx
index b6435755bfcafc07ede23f7b8f65ea3235746479..19a6527a40eddb880c0abded1cc14dd44324ccab 100644
(file)
--- a/
src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx
+++ b/
src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
16
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
22
CEA/DEN, EDF R&D, OPEN CASCADE
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
@@
-27,13
+27,14
@@
#include "SMESH_ProxyMesh.hxx"
#include "SMESH_ProxyMesh.hxx"
+#include <TColgp_Array1OfPnt.hxx>
+#include <TColgp_Array1OfVec.hxx>
+
class SMESH_Mesh;
class SMESH_ElementSearcher;
class SMDS_MeshElement;
class SMDS_MeshNode;
class SMDS_MeshFace;
class SMESH_Mesh;
class SMESH_ElementSearcher;
class SMDS_MeshElement;
class SMDS_MeshNode;
class SMDS_MeshFace;
-class TColgp_Array1OfPnt;
-class TColgp_Array1OfVec;
class gp_Pnt;
class gp_Vec;
class gp_Pnt;
class gp_Vec;
@@
-43,6
+44,7
@@
class gp_Vec;
#include <vector>
#include <TopoDS_Shape.hxx>
#include <vector>
#include <TopoDS_Shape.hxx>
+#include <NCollection_DataMap.hxx>
/*!
* \brief "Transforms" quadrilateral faces into triangular ones by creation of pyramids
/*!
* \brief "Transforms" quadrilateral faces into triangular ones by creation of pyramids
@@
-71,13
+73,14
@@
protected:
gp_Pnt& PC, gp_Vec& VNorm,
const SMDS_MeshElement** volumes=0);
gp_Pnt& PC, gp_Vec& VNorm,
const SMDS_MeshElement** volumes=0);
-
void
LimitHeight (gp_Pnt& Papex,
+
bool
LimitHeight (gp_Pnt& Papex,
const gp_Pnt& PC,
const TColgp_Array1OfPnt& PN,
const std::vector<const SMDS_MeshNode*>& FNodes,
SMESH_Mesh& aMesh,
const SMDS_MeshElement* NotCheckedFace,
const gp_Pnt& PC,
const TColgp_Array1OfPnt& PN,
const std::vector<const SMDS_MeshNode*>& FNodes,
SMESH_Mesh& aMesh,
const SMDS_MeshElement* NotCheckedFace,
- const bool UseApexRay);
+ const bool UseApexRay,
+ const TopoDS_Shape& Shape = TopoDS_Shape());
bool Compute2ndPart(SMESH_Mesh& aMesh,
const std::vector<const SMDS_MeshElement*>& pyramids);
bool Compute2ndPart(SMESH_Mesh& aMesh,
const std::vector<const SMDS_MeshElement*>& pyramids);
@@
-91,11
+94,19
@@
protected:
std::set<const SMDS_MeshNode*>& nodesToMove,
const bool isRecursion = false);
std::set<const SMDS_MeshNode*>& nodesToMove,
const bool isRecursion = false);
+ bool DecreaseHeightDifference( const SMDS_MeshElement* pyram,
+ const double h2 );
TopoDS_Shape myShape;
std::set<const SMDS_MeshElement*> myRemovedTrias;
std::list< const SMDS_MeshNode* > myDegNodes;
const SMESH_ElementSearcher* myElemSearcher;
TopoDS_Shape myShape;
std::set<const SMDS_MeshElement*> myRemovedTrias;
std::list< const SMDS_MeshNode* > myDegNodes;
const SMESH_ElementSearcher* myElemSearcher;
+
+ NCollection_DataMap< const SMDS_MeshElement*, double > myPyramHeight2;
+
+ // work buffers of DecreaseHeightDifference()
+ std::vector< const SMDS_MeshElement* > myAdjPyrams;
+ std::vector<const SMDS_MeshNode *> myNodes;
};
#endif
};
#endif