0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- automatic
[occt.git] / src / Contap / Contap_TheSearchInside.hxx
1 // Created on: 1993-02-05
2 // Created by: Jacques GOUSSARD
3 // Copyright (c) 1993-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 _Contap_TheSearchInside_HeaderFile
18 #define _Contap_TheSearchInside_HeaderFile
19
20 #include <Standard.hxx>
21 #include <Standard_DefineAlloc.hxx>
22 #include <Standard_Handle.hxx>
23
24 #include <Standard_Boolean.hxx>
25 #include <IntSurf_SequenceOfInteriorPoint.hxx>
26 #include <Standard_Real.hxx>
27 #include <Standard_Integer.hxx>
28 class StdFail_NotDone;
29 class Standard_OutOfRange;
30 class Adaptor3d_HSurface;
31 class Adaptor3d_HSurfaceTool;
32 class Adaptor3d_TopolTool;
33 class Contap_HContTool;
34 class Contap_SurfFunction;
35 class IntSurf_InteriorPoint;
36
37
38
39 class Contap_TheSearchInside 
40 {
41 public:
42
43   DEFINE_STANDARD_ALLOC
44
45   
46   Standard_EXPORT Contap_TheSearchInside();
47   
48   Standard_EXPORT Contap_TheSearchInside(Contap_SurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Handle(Adaptor3d_TopolTool)& T, const Standard_Real Epsilon);
49   
50   Standard_EXPORT void Perform (Contap_SurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Handle(Adaptor3d_TopolTool)& T, const Standard_Real Epsilon);
51   
52   Standard_EXPORT void Perform (Contap_SurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Standard_Real UStart, const Standard_Real VStart);
53   
54     Standard_Boolean IsDone() const;
55   
56   //! Returns the number of points.
57   //! The exception NotDone if raised if IsDone
58   //! returns False.
59     Standard_Integer NbPoints() const;
60   
61   //! Returns the point of range Index.
62   //! The exception NotDone if raised if IsDone
63   //! returns False.
64   //! The exception OutOfRange if raised if
65   //! Index <= 0 or Index > NbPoints.
66     const IntSurf_InteriorPoint& Value (const Standard_Integer Index) const;
67
68
69
70
71 protected:
72
73
74
75
76
77 private:
78
79
80
81   Standard_Boolean done;
82   IntSurf_SequenceOfInteriorPoint list;
83
84
85 };
86
87 #define ThePSurface Handle(Adaptor3d_HSurface)
88 #define ThePSurface_hxx <Adaptor3d_HSurface.hxx>
89 #define ThePSurfaceTool Adaptor3d_HSurfaceTool
90 #define ThePSurfaceTool_hxx <Adaptor3d_HSurfaceTool.hxx>
91 #define Handle_TheTopolTool Handle(Adaptor3d_TopolTool)
92 #define TheTopolTool Adaptor3d_TopolTool
93 #define TheTopolTool_hxx <Adaptor3d_TopolTool.hxx>
94 #define TheSITool Contap_HContTool
95 #define TheSITool_hxx <Contap_HContTool.hxx>
96 #define TheFunction Contap_SurfFunction
97 #define TheFunction_hxx <Contap_SurfFunction.hxx>
98 #define IntStart_SearchInside Contap_TheSearchInside
99 #define IntStart_SearchInside_hxx <Contap_TheSearchInside.hxx>
100
101 #include <IntStart_SearchInside.lxx>
102
103 #undef ThePSurface
104 #undef ThePSurface_hxx
105 #undef ThePSurfaceTool
106 #undef ThePSurfaceTool_hxx
107 #undef Handle_TheTopolTool
108 #undef TheTopolTool
109 #undef TheTopolTool_hxx
110 #undef TheSITool
111 #undef TheSITool_hxx
112 #undef TheFunction
113 #undef TheFunction_hxx
114 #undef IntStart_SearchInside
115 #undef IntStart_SearchInside_hxx
116
117
118
119
120 #endif // _Contap_TheSearchInside_HeaderFile