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
bos #26454 [EDF] (2021) SMESH: interactive mesh modification
[modules/smesh.git]
/
src
/
SMESHUtils
/
SMESH_MeshAlgos.hxx
diff --git
a/src/SMESHUtils/SMESH_MeshAlgos.hxx
b/src/SMESHUtils/SMESH_MeshAlgos.hxx
index beebbe79687b7ab7ab047216dac7c5d4d1f01f41..36bbeeb45de14057748ed74445e84eb5a6e15d18 100644
(file)
--- a/
src/SMESHUtils/SMESH_MeshAlgos.hxx
+++ b/
src/SMESHUtils/SMESH_MeshAlgos.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
19
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
21
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
@@
-187,12
+187,24
@@
namespace SMESH_MeshAlgos
SMESHUtils_EXPORT
bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
SMESHUtils_EXPORT
bool FaceNormal(const SMDS_MeshElement* F, gp_XYZ& normal, bool normalized=true);
+ /*!
+ * \brief Return number of nodes common to two elements
+ */
+ SMESHUtils_EXPORT
+ int NbCommonNodes(const SMDS_MeshElement* e1,
+ const SMDS_MeshElement* e2);
/*!
* \brief Return nodes common to two elements
*/
SMESHUtils_EXPORT
std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
const SMDS_MeshElement* e2);
/*!
* \brief Return nodes common to two elements
*/
SMESHUtils_EXPORT
std::vector< const SMDS_MeshNode*> GetCommonNodes(const SMDS_MeshElement* e1,
const SMDS_MeshElement* e2);
+ /*!
+ * \brief Return true if a node is on a boundary of 2D mesh.
+ * Optionally returns two neighboring boundary nodes (or more in non-manifold mesh)
+ */
+ SMESHUtils_EXPORT bool IsOn2DBoundary( const SMDS_MeshNode* node,
+ std::vector< const SMDS_MeshNode*> * neibors = nullptr );
/*!
* \brief Return true if node1 encounters first in the face and node2, after.
* The nodes are supposed to be neighbor nodes in the face.
/*!
* \brief Return true if node1 encounters first in the face and node2, after.
* The nodes are supposed to be neighbor nodes in the face.
@@
-219,6
+231,7
@@
namespace SMESH_MeshAlgos
/*!
* \brief Mark elements given by SMDS_Iterator
/*!
* \brief Mark elements given by SMDS_Iterator
+ * \sa SMDS_Mesh::SetAllNodesNotMarked() and SMDS_Mesh::SetAllCellsNotMarked()
*/
template< class ElemIter >
void MarkElems( ElemIter it, const bool isMarked )
*/
template< class ElemIter >
void MarkElems( ElemIter it, const bool isMarked )
@@
-500,14
+513,15
@@
namespace SMESH_MeshAlgos
/*!
* Create a slot of given width around given 1D elements lying on a triangle mesh.
/*!
* Create a slot of given width around given 1D elements lying on a triangle mesh.
- * The slot is cons
rt
ucted by cutting faces by cylindrical surfaces made around each segment.
+ * The slot is cons
tr
ucted by cutting faces by cylindrical surfaces made around each segment.
* \return Edges located at the slot boundary
*/
// Implemented in ./SMESH_Slot.cxx
SMESHUtils_EXPORT
* \return Edges located at the slot boundary
*/
// Implemented in ./SMESH_Slot.cxx
SMESHUtils_EXPORT
- std::vector< Edge > MakeSlot( SMDS_ElemIteratorPtr segmentIt,
- double width,
- SMDS_Mesh* mesh);
+ std::vector< Edge > MakeSlot( SMDS_ElemIteratorPtr segmentIt,
+ double width,
+ SMDS_Mesh* mesh,
+ std::vector< SMDS_MeshGroup* > & groupsToUpdate);
} // namespace SMESH_MeshAlgos
} // namespace SMESH_MeshAlgos