0029807: [Regression to 7.0.0] Impossible to cut cone from prism
[occt.git] / src / IntPatch / IntPatch_TheSearchInside.hxx
CommitLineData
42cf5bc1 1// Created on: 1992-05-06
2// Created by: Jacques GOUSSARD
3// Copyright (c) 1992-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 _IntPatch_TheSearchInside_HeaderFile
18#define _IntPatch_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>
28class StdFail_NotDone;
29class Standard_OutOfRange;
30class Adaptor3d_HSurface;
31class Adaptor3d_HSurfaceTool;
32class Adaptor3d_TopolTool;
33class IntPatch_HInterTool;
34class IntPatch_TheSurfFunction;
35class IntSurf_InteriorPoint;
36
37
38
39class IntPatch_TheSearchInside
40{
41public:
42
43 DEFINE_STANDARD_ALLOC
44
45
46 Standard_EXPORT IntPatch_TheSearchInside();
47
48 Standard_EXPORT IntPatch_TheSearchInside(IntPatch_TheSurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Handle(Adaptor3d_TopolTool)& T, const Standard_Real Epsilon);
49
50 Standard_EXPORT void Perform (IntPatch_TheSurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Handle(Adaptor3d_TopolTool)& T, const Standard_Real Epsilon);
51
52 Standard_EXPORT void Perform (IntPatch_TheSurfFunction& F, const Handle(Adaptor3d_HSurface)& Surf, const Standard_Real UStart, const Standard_Real VStart);
53
54 Standard_Boolean IsDone() const;
55
36b9ff75 56 //! Returns the number of points.
57 //! The exception NotDone if raised if IsDone
58 //! returns False.
42cf5bc1 59 Standard_Integer NbPoints() const;
60
36b9ff75 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.
42cf5bc1 66 const IntSurf_InteriorPoint& Value (const Standard_Integer Index) const;
67
68
69
70
71protected:
72
73
74
75
76
77private:
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 IntPatch_HInterTool
95#define TheSITool_hxx <IntPatch_HInterTool.hxx>
96#define TheFunction IntPatch_TheSurfFunction
97#define TheFunction_hxx <IntPatch_TheSurfFunction.hxx>
98#define IntStart_SearchInside IntPatch_TheSearchInside
99#define IntStart_SearchInside_hxx <IntPatch_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 // _IntPatch_TheSearchInside_HeaderFile