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
|
// 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 _BRepFill_LocationLaw_HeaderFile
#define _BRepFill_LocationLaw_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_DefineHandle_HeaderFile
#include <Standard_DefineHandle.hxx>
#endif
#ifndef _Handle_BRepFill_LocationLaw_HeaderFile
#include <Handle_BRepFill_LocationLaw.hxx>
#endif
#ifndef _TopoDS_Wire_HeaderFile
#include <TopoDS_Wire.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Handle_GeomFill_HArray1OfLocationLaw_HeaderFile
#include <Handle_GeomFill_HArray1OfLocationLaw.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfReal_HeaderFile
#include <Handle_TColStd_HArray1OfReal.hxx>
#endif
#ifndef _Handle_TopTools_HArray1OfShape_HeaderFile
#include <Handle_TopTools_HArray1OfShape.hxx>
#endif
#ifndef _Handle_TColStd_HArray1OfInteger_HeaderFile
#include <Handle_TColStd_HArray1OfInteger.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _MMgt_TShared_HeaderFile
#include <MMgt_TShared.hxx>
#endif
#ifndef _GeomFill_PipeError_HeaderFile
#include <GeomFill_PipeError.hxx>
#endif
#ifndef _Handle_GeomFill_LocationLaw_HeaderFile
#include <Handle_GeomFill_LocationLaw.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class GeomFill_HArray1OfLocationLaw;
class TColStd_HArray1OfReal;
class TopTools_HArray1OfShape;
class TColStd_HArray1OfInteger;
class Standard_OutOfRange;
class TopoDS_Wire;
class TColStd_Array1OfInteger;
class GeomFill_LocationLaw;
class TopoDS_Edge;
class TopoDS_Vertex;
class TopoDS_Shape;
//! Location Law on a Wire. <br>
class BRepFill_LocationLaw : public MMgt_TShared {
public:
//! Return a error status, if the status is not PipeOk then <br>
//! it exist a parameter tlike the law is not valuable for t. <br>
Standard_EXPORT GeomFill_PipeError GetStatus() const;
//! Apply a linear transformation on each law, to have <br>
//! continuity of the global law beetween the edges. <br>
Standard_EXPORT virtual void TransformInG0Law() ;
//! Apply a linear transformation on each law, to reduce <br>
//! the dicontinuities of law at one rotation. <br>
Standard_EXPORT virtual void TransformInCompatibleLaw(const Standard_Real AngularTolerance) ;
Standard_EXPORT void DeleteTransform() ;
Standard_EXPORT Standard_Integer NbHoles(const Standard_Real Tol = 1.0e-7) ;
Standard_EXPORT void Holes(TColStd_Array1OfInteger& Interval) const;
//! Return the number of elementary Law <br>
Standard_EXPORT Standard_Integer NbLaw() const;
//! Return the elementary Law of rank <Index> <br>
//! <Index> have to be in [1, NbLaw()] <br>
Standard_EXPORT const Handle_GeomFill_LocationLaw& Law(const Standard_Integer Index) const;
//! return the path <br>
Standard_EXPORT const TopoDS_Wire& Wire() const;
//! Return the Edge of rank <Index> in the path <br>
//! <Index> have to be in [1, NbLaw()] <br>
Standard_EXPORT const TopoDS_Edge& Edge(const Standard_Integer Index) const;
//! Return the vertex of rank <Index> in the path <br>
//! <Index> have to be in [0, NbLaw()] <br>
Standard_EXPORT TopoDS_Vertex Vertex(const Standard_Integer Index) const;
//! Compute <OutputVertex> like a transformation of <br>
//! <InputVertex> the transformation is given by <br>
//! evaluation of the location law in the vertex of <br>
//! rank <Index>. <br>
//! <Location> is used to manage discontinuities : <br>
//! - -1 : The law before the vertex is used. <br>
//! - 1 : The law after the vertex is used. <br>
//! - 0 : Average of the both laws is used. <br>
Standard_EXPORT void PerformVertex(const Standard_Integer Index,const TopoDS_Vertex& InputVertex,const Standard_Real TolMin,TopoDS_Vertex& OutputVertex,const Standard_Integer Location = 0) const;
//!Return the Curvilinear Bounds of the <Index> Law <br>
Standard_EXPORT void CurvilinearBounds(const Standard_Integer Index,Standard_Real& First,Standard_Real& Last) const;
Standard_EXPORT Standard_Boolean IsClosed() const;
//! Compute the Law's continuity beetween 2 edges of the path <br>
//! The result can be : <br>
//! -1 : Case Not connex <br>
//! 0 : It is connex (G0) <br>
//! 1 : It is tangent (G1) <br>
Standard_EXPORT Standard_Integer IsG1(const Standard_Integer Index,const Standard_Real SpatialTolerance = 1.0e-7,const Standard_Real AngularTolerance = 1.0e-4) const;
//! Apply the Law to a shape, for a given Curnilinear abscissa <br>
Standard_EXPORT void D0(const Standard_Real Abscissa,TopoDS_Shape& Section) ;
//! Find the index Law and the parmaeter, for a given <br>
//! Curnilinear abscissa <br>
Standard_EXPORT void Parameter(const Standard_Real Abscissa,Standard_Integer& Index,Standard_Real& Param) ;
//!Return the curvilinear abscissa corresponding to a point <br>
//! of the path, defined by <Index> of Edge and a <br>
//! parameter on the edge. <br>
Standard_EXPORT Standard_Real Abscissa(const Standard_Integer Index,const Standard_Real Param) ;
DEFINE_STANDARD_RTTI(BRepFill_LocationLaw)
protected:
//! Initialize all the fields, this methode have to <br>
//! be called by the constructors of Inherited class. <br>
Standard_EXPORT void Init(const TopoDS_Wire& Path) ;
//! To preseve if possible the Tangent in transformations <br>
//! It is the default mode. <br>
Standard_EXPORT void TangentIsMain() ;
//! To preseve if possible the Normal in transformations <br>
Standard_EXPORT void NormalIsMain() ;
//! To preseve if possible the BiNormal in transformations <br>
Standard_EXPORT void BiNormalIsMain() ;
TopoDS_Wire myPath;
Standard_Real myTol;
Handle_GeomFill_HArray1OfLocationLaw myLaws;
Handle_TColStd_HArray1OfReal myLength;
Handle_TopTools_HArray1OfShape myEdges;
Handle_TColStd_HArray1OfInteger myDisc;
private:
Standard_Integer myType;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|