- void mergePoints (std::map<TNodeSet,std::list<std::list<int> > >& xyzIndGroups,
- std::map< int, std::list< std::list< int >* > >& reverseConnectivity);
- // Look for coincident points between myXYZs indexed with
- // list<int> of each element of xyzIndGroups. Coincident indices
- // are merged in myElemXYZIDs using reverseConnectivity.
+
+ void mergePoints (const bool uniteGroups);
+ // Merge XYZ on edges and/or faces.
+
+ void makePolyElements(const std::vector< const SMDS_MeshNode* >& theNodes,
+ const bool toCreatePolygons,
+ const bool toCreatePolyedrs);
+ // prepare intermediate data to create Polygons and Polyhedrons
+
+ void createElements(SMESH_Mesh* theMesh,
+ const std::vector<const SMDS_MeshNode* >& theNodesVector,
+ const std::list< std::list< int > > & theElemNodeIDs,
+ const std::vector<const SMDS_MeshElement*>& theElements);
+ // add elements to the mesh
+
+ bool getFacesDefinition(const SMDS_MeshNode** theBndNodes,
+ const int theNbBndNodes,
+ const std::vector< const SMDS_MeshNode* >& theNodes,
+ std::list< int >& theFaceDefs,
+ std::vector<int>& theQuantity);
+ // fill faces definition for a volume face defined by theBndNodes
+ // return true if a face definition changes
+
+
+ bool isReversed(const SMDS_MeshNode* theFirstNode,
+ const std::list< int >& theIdsList) const;
+ // check xyz ids order in theIdsList taking into account
+ // theFirstNode on a link
+
+ void clearMesh(SMESH_Mesh* theMesh) const;
+ // clear mesh elements existing on myShape in theMesh
+
+ bool findExistingNodes( SMESH_Mesh* mesh,
+ const TopoDS_Shape& S,
+ const std::list< TPoint* > & points,
+ std::vector< const SMDS_MeshNode* > & nodes);
+ // fills nodes vector with nodes existing on a given shape
+
+ static SMESHDS_SubMesh * getSubmeshWithElements(SMESH_Mesh* theMesh,
+ const TopoDS_Shape& theShape);
+ // return submesh containing elements bound to theShape in theMesh