X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHUtils%2FSMESH_MeshAlgos.hxx;h=1ceb456dbff1c8846149c70b447103679594cc3f;hp=c6965050d81ff757fb403993d1a390ec279f4790;hb=90538c51905cda57f579f1c2a04ca715bf6ab905;hpb=09bc0414c91ebabb67c7fe200549044a1854e199 diff --git a/src/SMESHUtils/SMESH_MeshAlgos.hxx b/src/SMESHUtils/SMESH_MeshAlgos.hxx index c6965050d..1ceb456db 100644 --- a/src/SMESHUtils/SMESH_MeshAlgos.hxx +++ b/src/SMESHUtils/SMESH_MeshAlgos.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2019 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 @@ -443,28 +443,12 @@ namespace SMESH_MeshAlgos bool triangulate( std::vector< const SMDS_MeshNode*>& nodes, const size_t nbNodes ); - /*! - * \brief Vertex of a polygon. Together with 2 neighbor Vertices represents a triangle - */ - struct PolyVertex - { - SMESH_NodeXYZ _nxyz; - size_t _index; - gp_XY _xy; - PolyVertex* _prev; - PolyVertex* _next; - - void SetNodeAndNext( const SMDS_MeshNode* n, PolyVertex& v, size_t index ); - void GetTriaNodes( const SMDS_MeshNode** nodes, size_t* nodeIndices) const; - double TriaArea() const; - bool IsInsideTria( const PolyVertex* v ); - PolyVertex* Delete(); - }; + struct PolyVertex; struct Optimizer; + struct Data; - std::vector< PolyVertex > _pv; - std::vector< size_t > _nodeIndex; - Optimizer* _optimizer; + Data* _data; + Optimizer* _optimizer; }; // structure used in MakePolyLine() to define a cutting plane @@ -521,9 +505,10 @@ namespace SMESH_MeshAlgos */ // 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