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 121