|
|
|||
File indexing completed on 2026-09-21 09:18:25
0001 // Created on: 1999-05-11 0002 // Created by: Sergei ZERTCHANINOV 0003 // Copyright (c) 1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _ShapeFix_EdgeConnect_HeaderFile 0018 #define _ShapeFix_EdgeConnect_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_DefineAlloc.hxx> 0022 0023 #include <TopoDS_Shape.hxx> 0024 #include <TopTools_ShapeMapHasher.hxx> 0025 #include <NCollection_DataMap.hxx> 0026 #include <NCollection_List.hxx> 0027 class TopoDS_Edge; 0028 class TopoDS_Shape; 0029 0030 //! Rebuilds edges to connect with new vertices, was moved from ShapeBuild. 0031 //! Makes vertices to be shared to connect edges, 0032 //! updates positions and tolerances for shared vertices. 0033 //! Accepts edges bounded by two vertices each. 0034 class ShapeFix_EdgeConnect 0035 { 0036 public: 0037 DEFINE_STANDARD_ALLOC 0038 0039 Standard_EXPORT ShapeFix_EdgeConnect(); 0040 0041 //! Adds information on connectivity between start vertex 0042 //! of second edge and end vertex of first edge, 0043 //! taking edges orientation into account 0044 Standard_EXPORT void Add(const TopoDS_Edge& aFirst, const TopoDS_Edge& aSecond); 0045 0046 //! Adds connectivity information for the whole shape. 0047 //! Note: edges in wires must be well ordered 0048 //! Note: flag Closed should be set for closed wires 0049 Standard_EXPORT void Add(const TopoDS_Shape& aShape); 0050 0051 //! Builds shared vertices, updates their positions and tolerances 0052 Standard_EXPORT void Build(); 0053 0054 //! Clears internal data structure 0055 Standard_EXPORT void Clear(); 0056 0057 private: 0058 NCollection_DataMap<TopoDS_Shape, TopoDS_Shape, TopTools_ShapeMapHasher> myVertices; 0059 NCollection_DataMap<TopoDS_Shape, NCollection_List<TopoDS_Shape>, TopTools_ShapeMapHasher> 0060 myLists; 0061 }; 0062 0063 #endif // _ShapeFix_EdgeConnect_HeaderFile
| [ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
|
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
|