blob: c14c6ef0d956a8db30e977e65928d9a7416ad70c (
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
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
// 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 _FilletSurf_Builder_HeaderFile
#define _FilletSurf_Builder_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _FilletSurf_InternalBuilder_HeaderFile
#include <FilletSurf_InternalBuilder.hxx>
#endif
#ifndef _FilletSurf_StatusDone_HeaderFile
#include <FilletSurf_StatusDone.hxx>
#endif
#ifndef _FilletSurf_ErrorTypeStatus_HeaderFile
#include <FilletSurf_ErrorTypeStatus.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Handle_Geom_Surface_HeaderFile
#include <Handle_Geom_Surface.hxx>
#endif
#ifndef _Handle_Geom_Curve_HeaderFile
#include <Handle_Geom_Curve.hxx>
#endif
#ifndef _Handle_Geom2d_Curve_HeaderFile
#include <Handle_Geom2d_Curve.hxx>
#endif
#ifndef _FilletSurf_StatusType_HeaderFile
#include <FilletSurf_StatusType.hxx>
#endif
#ifndef _Handle_Geom_TrimmedCurve_HeaderFile
#include <Handle_Geom_TrimmedCurve.hxx>
#endif
class StdFail_NotDone;
class Standard_OutOfRange;
class TopoDS_Shape;
class TopTools_ListOfShape;
class Geom_Surface;
class TopoDS_Face;
class Geom_Curve;
class Geom2d_Curve;
class Geom_TrimmedCurve;
//! API giving the following geometric information about fillets <br>
//! list of corresponding NUBS surfaces <br>
//! for each surface: <br>
//! the 2 support faces <br>
//! on each face: the 3d curve and the corresponding 2d curve <br>
//! the 2d curves on the fillet <br>
//! status of start and end section of the fillet <br>
//! first and last parameter on edge of the fillet. <br>
class FilletSurf_Builder {
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);
}
//! initialize of the informations necessary for the <br>
//! computation of the fillet on the <br>
//! Shape S from a list of edges E and a radius R. <br>
//! <br>
//! Ta is the angular tolerance <br>
//! Tapp3d is the 3d approximation tolerance <br>
//! Tapp2d is the 2d approximation tolerance <br>
//! <br>
//! <br>
//! <br>
Standard_EXPORT FilletSurf_Builder(const TopoDS_Shape& S,const TopTools_ListOfShape& E,const Standard_Real R,const Standard_Real Ta = 1.0e-2,const Standard_Real Tapp3d = 1.0e-4,const Standard_Real Tapp2d = 1.0e-5);
//!---Purpose computation of the fillet (list of NUBS) <br>
Standard_EXPORT void Perform() ;
Standard_EXPORT void Simulate() ;
//! gives the status about the computation of the fillet <br>
//! returns: <br>
//! IsOK :no problem during the computation <br>
//! IsNotOk: no result is produced <br>
//! IsPartial: the result is partial <br>
Standard_EXPORT FilletSurf_StatusDone IsDone() const;
//! gives informations about error status if <br>
//! IsDone=IsNotOk <br>
//! returns <br>
//! EdgeNotG1: the edges are not G1 <br>
//! FacesNotG1 : two connected faces on a same support are <br>
//! not G1 <br>
//! EdgeNotOnShape: the edge is not on shape <br>
//! NotSharpEdge: the edge is not sharp <br>
//! PbFilletCompute: problem during the computation of the fillet <br>
Standard_EXPORT FilletSurf_ErrorTypeStatus StatusError() const;
//! gives the number of NUBS surfaces of the Fillet. <br>
Standard_EXPORT Standard_Integer NbSurface() const;
//! gives the NUBS surface of index Index. <br>
Standard_EXPORT const Handle_Geom_Surface& SurfaceFillet(const Standard_Integer Index) const;
//! gives the 3d tolerance reached during approximation <br>
//! of surface of index Index <br>
Standard_EXPORT Standard_Real TolApp3d(const Standard_Integer Index) const;
//!gives the first support face relative to SurfaceFillet(Index); <br>
Standard_EXPORT const TopoDS_Face& SupportFace1(const Standard_Integer Index) const;
//!gives the second support face relative to SurfaceFillet(Index); <br>
Standard_EXPORT const TopoDS_Face& SupportFace2(const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace1(Index) <br>
Standard_EXPORT const Handle_Geom_Curve& CurveOnFace1(const Standard_Integer Index) const;
//! gives the 3d curve of SurfaceFillet(Index) on SupportFace2(Index) <br>
Standard_EXPORT const Handle_Geom_Curve& CurveOnFace2(const Standard_Integer Index) const;
//!gives the PCurve associated to CurvOnSup1(Index) on the support face <br>
Standard_EXPORT const Handle_Geom2d_Curve& PCurveOnFace1(const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnFace1(Index) on the Fillet <br>
Standard_EXPORT const Handle_Geom2d_Curve& PCurve1OnFillet(const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the support face <br>
Standard_EXPORT const Handle_Geom2d_Curve& PCurveOnFace2(const Standard_Integer Index) const;
//! gives the PCurve associated to CurveOnSup2(Index) on the fillet <br>
Standard_EXPORT const Handle_Geom2d_Curve& PCurve2OnFillet(const Standard_Integer Index) const;
//!gives the parameter of the fillet on the first edge. <br>
Standard_EXPORT Standard_Real FirstParameter() const;
//! gives the parameter of the fillet on the last edge <br>
Standard_EXPORT Standard_Real LastParameter() const;
Standard_EXPORT FilletSurf_StatusType StartSectionStatus() const;
Standard_EXPORT FilletSurf_StatusType EndSectionStatus() const;
Standard_EXPORT Standard_Integer NbSection(const Standard_Integer IndexSurf) const;
Standard_EXPORT void Section(const Standard_Integer IndexSurf,const Standard_Integer IndexSec,Handle(Geom_TrimmedCurve)& Circ) const;
protected:
private:
FilletSurf_InternalBuilder myIntBuild;
FilletSurf_StatusDone myisdone;
FilletSurf_ErrorTypeStatus myerrorstatus;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|