#include <list>
#include <map>
+#include <set>
class SMDS_MeshFace;
class SMDS_MeshNode;
{ if ( n1->GetID() < n2->GetID() ) std::swap( first, second ); }
SMESH_TLink(const NLink& link ):NLink( link )
{ if ( first->GetID() < second->GetID() ) std::swap( first, second ); }
+ const SMDS_MeshNode* node1() const { return first; }
+ const SMDS_MeshNode* node2() const { return second; }
};
// ============================================================
const SMESH_SequenceOfElemPtr& GetLastCreatedElems() const { return myLastCreatedElems; }
- bool DoubleNodes( const std::list< int >& theListOfNodes,
- const std::list< int >& theListOfModifiedElems );
+ bool DoubleNodes( const TIDSortedElemSet& theElems,
+ const TIDSortedElemSet& theNodesNot,
+ const TIDSortedElemSet& theAffectedElems );
+
+ bool DoubleNodesInRegion( const TIDSortedElemSet& theElems,
+ const TIDSortedElemSet& theNodesNot,
+ const TopoDS_Shape& theShape );
private:
void LinearAngleVariation(const int NbSteps,
list<double>& theAngles);
+ bool doubleNodes( SMESHDS_Mesh* theMeshDS,
+ const TIDSortedElemSet& theElems,
+ const TIDSortedElemSet& theNodesNot,
+ std::map< const SMDS_MeshNode*,
+ const SMDS_MeshNode* >& theNodeNodeMap,
+ const bool theIsDoubleElem );
+
private:
SMESH_Mesh * myMesh;