blob: 246e8acb174f1698d9c7b8cfb18fd040981f99bd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to
// this header file considered to be the "object code" form of the original source.
#ifndef _BRepAlgo_Loop_HeaderFile
#define _BRepAlgo_Loop_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _TopoDS_Face_HeaderFile
#include <TopoDS_Face.hxx>
#endif
#ifndef _TopTools_ListOfShape_HeaderFile
#include <TopTools_ListOfShape.hxx>
#endif
#ifndef _TopTools_DataMapOfShapeListOfShape_HeaderFile
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#endif
#ifndef _TopTools_DataMapOfShapeShape_HeaderFile
#include <TopTools_DataMapOfShapeShape.hxx>
#endif
class TopoDS_Face;
class TopoDS_Edge;
class TopTools_ListOfShape;
class TopTools_DataMapOfShapeShape;
//! Builds the loops from a set of edges on a face. <br>
class BRepAlgo_Loop {
public:
void* operator new(size_t,void* anAddress)
{
return anAddress;
}
void* operator new(size_t size)
{
return Standard::Allocate(size);
}
void operator delete(void *anAddress)
{
if (anAddress) Standard::Free((Standard_Address&)anAddress);
}
Standard_EXPORT BRepAlgo_Loop();
//! Init with <F> the set of edges must have <br>
//! pcurves on <F>. <br>
Standard_EXPORT void Init(const TopoDS_Face& F) ;
//! Add E with <LV>. <E> will be copied and trim <br>
//! by vertices in <LV>. <br>
Standard_EXPORT void AddEdge(TopoDS_Edge& E,const TopTools_ListOfShape& LV) ;
//! Add <E> as const edge, E can be in the result. <br>
Standard_EXPORT void AddConstEdge(const TopoDS_Edge& E) ;
//! Add <LE> as a set of const edges. <br>
Standard_EXPORT void AddConstEdges(const TopTools_ListOfShape& LE) ;
//! Make loops. <br>
Standard_EXPORT void Perform() ;
//! Cut the edge <E> in several edges <NE> on the <br>
//! vertices<VonE>. <br>
Standard_EXPORT void CutEdge(const TopoDS_Edge& E,const TopTools_ListOfShape& VonE,TopTools_ListOfShape& NE) const;
//! Returns the list of wires performed. <br>
//! can be an empty list. <br>
Standard_EXPORT const TopTools_ListOfShape& NewWires() const;
//! Build faces from the wires result. <br>
Standard_EXPORT void WiresToFaces() ;
//! Returns the list of faces. <br>
//! Warning: The method <WiresToFaces> as to be called before. <br>
//! can be an empty list. <br>
Standard_EXPORT const TopTools_ListOfShape& NewFaces() const;
//! Returns the list of new edges built from an edge <E> <br>
//! it can be an empty list. <br>
Standard_EXPORT const TopTools_ListOfShape& NewEdges(const TopoDS_Edge& E) const;
//! Returns the datamap of vertices with their substitutes. <br>
Standard_EXPORT void GetVerticesForSubstitute(TopTools_DataMapOfShapeShape& VerVerMap) const;
Standard_EXPORT void VerticesForSubstitute(TopTools_DataMapOfShapeShape& VerVerMap) ;
protected:
private:
TopoDS_Face myFace;
TopTools_ListOfShape myConstEdges;
TopTools_DataMapOfShapeListOfShape myVerOnEdges;
TopTools_ListOfShape myNewWires;
TopTools_ListOfShape myNewFaces;
TopTools_DataMapOfShapeListOfShape myNewEdges;
TopTools_DataMapOfShapeShape myVerticesForSubstitute;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|