-// 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
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
*/
// 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