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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
// 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 _TopOpeBRepBuild_FaceBuilder_HeaderFile
#define _TopOpeBRepBuild_FaceBuilder_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 _TopOpeBRepBuild_LoopSet_HeaderFile
#include <TopOpeBRepBuild_LoopSet.hxx>
#endif
#ifndef _TopOpeBRepBuild_BlockIterator_HeaderFile
#include <TopOpeBRepBuild_BlockIterator.hxx>
#endif
#ifndef _TopOpeBRepBuild_BlockBuilder_HeaderFile
#include <TopOpeBRepBuild_BlockBuilder.hxx>
#endif
#ifndef _TopOpeBRepBuild_FaceAreaBuilder_HeaderFile
#include <TopOpeBRepBuild_FaceAreaBuilder.hxx>
#endif
#ifndef _TopTools_DataMapOfShapeInteger_HeaderFile
#include <TopTools_DataMapOfShapeInteger.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
class TopOpeBRepBuild_WireEdgeSet;
class TopoDS_Shape;
class TopTools_IndexedDataMapOfShapeShape;
class TopTools_IndexedMapOfShape;
class TopOpeBRepBuild_ShapeSet;
class TopOpeBRepBuild_FaceBuilder {
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 TopOpeBRepBuild_FaceBuilder();
//! Create a FaceBuilder to build the faces on <br>
//! the shapes (wires, blocks of edge) described by <LS>. <br>
Standard_EXPORT TopOpeBRepBuild_FaceBuilder(TopOpeBRepBuild_WireEdgeSet& ES,const TopoDS_Shape& F,const Standard_Boolean ForceClass = Standard_False);
Standard_EXPORT void InitFaceBuilder(TopOpeBRepBuild_WireEdgeSet& ES,const TopoDS_Shape& F,const Standard_Boolean ForceClass) ;
//! Removes are non 3d-closed wires. <br>
//! Fills up maps <mapVVsameG> and <mapVon1Edge>, in order to <br>
//! correct 3d-closed but unclosed (topologic connexity) wires. <br>
//! modifies myBlockBuilder <br>
Standard_EXPORT void DetectUnclosedWire(TopTools_IndexedDataMapOfShapeShape& mapVVsameG,TopTools_IndexedDataMapOfShapeShape& mapVon1Edge) ;
//! Using the given maps, change the topology of the 3d-closed <br>
//! wires, in order to get closed wires. <br>
Standard_EXPORT void CorrectGclosedWire(const TopTools_IndexedDataMapOfShapeShape& mapVVref,const TopTools_IndexedDataMapOfShapeShape& mapVon1Edge) ;
//! Removes edges appearing twice (FORWARD,REVERSED) with a bounding <br>
//! vertex not connected to any other edge. <br>
//! mapE contains edges found. <br>
//! modifies myBlockBuilder. <br>
Standard_EXPORT void DetectPseudoInternalEdge(TopTools_IndexedMapOfShape& mapE) ;
//! return myFace <br>
Standard_EXPORT const TopoDS_Shape& Face() const;
Standard_EXPORT Standard_Integer InitFace() ;
Standard_EXPORT Standard_Boolean MoreFace() const;
Standard_EXPORT void NextFace() ;
Standard_EXPORT Standard_Integer InitWire() ;
Standard_EXPORT Standard_Boolean MoreWire() const;
Standard_EXPORT void NextWire() ;
Standard_EXPORT Standard_Boolean IsOldWire() const;
//! Returns current wire <br>
//! This wire may be : <br>
//! * an old wire OldWire(), which has not been reconstructed; <br>
//! * a new wire made of edges described by ...NewEdge() methods. <br>
Standard_EXPORT const TopoDS_Shape& OldWire() const;
//! Iterates on myBlockIterator until finding a valid element <br>
Standard_EXPORT void FindNextValidElement() ;
Standard_EXPORT Standard_Integer InitEdge() ;
Standard_EXPORT Standard_Boolean MoreEdge() const;
Standard_EXPORT void NextEdge() ;
//! Returns current new edge of current new wire. <br>
Standard_EXPORT const TopoDS_Shape& Edge() const;
Standard_EXPORT Standard_Integer EdgeConnexity(const TopoDS_Shape& E) const;
Standard_EXPORT Standard_Integer AddEdgeWire(const TopoDS_Shape& E,TopoDS_Shape& W) const;
protected:
private:
Standard_EXPORT void MakeLoops(TopOpeBRepBuild_ShapeSet& SS) ;
TopoDS_Face myFace;
TopOpeBRepBuild_LoopSet myLoopSet;
TopOpeBRepBuild_BlockIterator myBlockIterator;
TopOpeBRepBuild_BlockBuilder myBlockBuilder;
TopOpeBRepBuild_FaceAreaBuilder myFaceAreaBuilder;
TopTools_DataMapOfShapeInteger myMOSI;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|