]>
Commit | Line | Data |
---|---|---|
42cf5bc1 | 1 | // Created on: 1997-08-22 |
2 | // Created by: Prestataire Mary FABIEN | |
3 | // Copyright (c) 1997-1999 Matra Datavision | |
4 | // Copyright (c) 1999-2014 OPEN CASCADE SAS | |
5 | // | |
6 | // This file is part of Open CASCADE Technology software library. | |
7 | // | |
8 | // This library is free software; you can redistribute it and/or modify it under | |
9 | // the terms of the GNU Lesser General Public License version 2.1 as published | |
10 | // by the Free Software Foundation, with special exception defined in the file | |
11 | // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT | |
12 | // distribution for complete text of the license and disclaimer of any warranty. | |
13 | // | |
14 | // Alternatively, this file may be used under the terms of Open CASCADE | |
15 | // commercial license or contractual agreement. | |
16 | ||
17 | #ifndef _BRepAlgo_EdgeConnector_HeaderFile | |
18 | #define _BRepAlgo_EdgeConnector_HeaderFile | |
19 | ||
20 | #include <Standard.hxx> | |
21 | #include <Standard_Type.hxx> | |
22 | ||
23 | #include <TopTools_ListOfShape.hxx> | |
24 | #include <BRepAlgo_DataMapOfShapeBoolean.hxx> | |
25 | #include <TopOpeBRepBuild_BlockBuilder.hxx> | |
26 | #include <Standard_Boolean.hxx> | |
25e59720 | 27 | #include <Standard_Transient.hxx> |
42cf5bc1 | 28 | class TopoDS_Edge; |
29 | class TopoDS_Shape; | |
30 | ||
31 | ||
32 | class BRepAlgo_EdgeConnector; | |
25e59720 | 33 | DEFINE_STANDARD_HANDLE(BRepAlgo_EdgeConnector, Standard_Transient) |
42cf5bc1 | 34 | |
35 | //! Used by DSAccess to reconstruct an EdgeSet of connected edges. The result produced by | |
36 | //! MakeBlock is a list of non-standard TopoDS_wire, | |
37 | //! which can present connexions of edge of order > 2 | |
38 | //! in certain vertex. The method IsWire | |
39 | //! indicates standard/non-standard character of all wire produced. | |
25e59720 | 40 | class BRepAlgo_EdgeConnector : public Standard_Transient |
42cf5bc1 | 41 | { |
42 | ||
43 | public: | |
44 | ||
45 | ||
46 | Standard_EXPORT BRepAlgo_EdgeConnector(); | |
47 | ||
48 | Standard_EXPORT void Add (const TopoDS_Edge& e); | |
49 | ||
50 | Standard_EXPORT void Add (TopTools_ListOfShape& LOEdge); | |
51 | ||
52 | Standard_EXPORT void AddStart (const TopoDS_Shape& e); | |
53 | ||
54 | Standard_EXPORT void AddStart (TopTools_ListOfShape& LOEdge); | |
55 | ||
56 | Standard_EXPORT void ClearStartElement(); | |
57 | ||
58 | //! returns a list of wire non standard | |
59 | Standard_EXPORT TopTools_ListOfShape& MakeBlock(); | |
60 | ||
61 | Standard_EXPORT void Done(); | |
62 | ||
63 | //! NYI | |
64 | //! returns true if proceeded to MakeBlock() | |
65 | Standard_EXPORT Standard_Boolean IsDone() const; | |
66 | ||
67 | //! NYI | |
68 | //! returns true if W is a Wire standard. | |
69 | //! W must belong to the list returned by MakeBlock. | |
70 | Standard_EXPORT Standard_Boolean IsWire (const TopoDS_Shape& W); | |
71 | ||
72 | ||
73 | ||
74 | ||
25e59720 | 75 | DEFINE_STANDARD_RTTIEXT(BRepAlgo_EdgeConnector,Standard_Transient) |
42cf5bc1 | 76 | |
77 | protected: | |
78 | ||
79 | ||
80 | ||
81 | ||
82 | private: | |
83 | ||
84 | ||
85 | TopTools_ListOfShape myListeOfEdge; | |
86 | TopTools_ListOfShape myListeOfStartEdge; | |
87 | BRepAlgo_DataMapOfShapeBoolean myResultMap; | |
88 | TopTools_ListOfShape myResultList; | |
89 | TopOpeBRepBuild_BlockBuilder myBlockB; | |
90 | Standard_Boolean myIsDone; | |
91 | ||
92 | ||
93 | }; | |
94 | ||
95 | ||
96 | ||
97 | ||
98 | ||
99 | ||
100 | ||
101 | #endif // _BRepAlgo_EdgeConnector_HeaderFile |