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_TheSegmentOfTheSearch_HeaderFile 18 #define _Contap_TheSegmentOfTheSearch_HeaderFile 19 20 #include <Adaptor2d_Curve2d.hxx> 21 #include <Contap_ThePathPointOfTheSearch.hxx> 22 23 class Standard_DomainError; 24 class Adaptor3d_HVertex; 25 class Contap_ThePathPointOfTheSearch; 26 27 class Contap_TheSegmentOfTheSearch 28 { 29 public: 30 31 DEFINE_STANDARD_ALLOC 32 33 34 //! Empty constructor. 35 Standard_EXPORT Contap_TheSegmentOfTheSearch(); 36 37 //! Defines the concerned arc. 38 void SetValue (const Handle(Adaptor2d_Curve2d)& A); 39 40 //! Defines the first point or the last point, 41 //! depending on the value of the boolean First. 42 Standard_EXPORT void SetLimitPoint (const Contap_ThePathPointOfTheSearch& V, const Standard_Boolean First); 43 44 //! Returns the geometric curve on the surface 's domain 45 //! which is solution. 46 const Handle(Adaptor2d_Curve2d)& Curve() const; 47 48 //! Returns True if there is a vertex (ThePathPoint) defining 49 //! the lowest valid parameter on the arc. 50 Standard_Boolean HasFirstPoint() const; 51 52 //! Returns the first point. 53 const Contap_ThePathPointOfTheSearch& FirstPoint() const; 54 55 //! Returns True if there is a vertex (ThePathPoint) defining 56 //! the greatest valid parameter on the arc. 57 Standard_Boolean HasLastPoint() const; 58 59 //! Returns the last point. 60 const Contap_ThePathPointOfTheSearch& LastPoint() const; 61 62 63 64 65 protected: 66 67 68 69 70 71 private: 72 73 74 75 Handle(Adaptor2d_Curve2d) arc; 76 Standard_Boolean hasfp; 77 Contap_ThePathPointOfTheSearch thefp; 78 Standard_Boolean haslp; 79 Contap_ThePathPointOfTheSearch thelp; 80 81 82 }; 83 84 #define TheVertex Handle(Adaptor3d_HVertex) 85 #define TheVertex_hxx <Adaptor3d_HVertex.hxx> 86 #define TheArc Handle(Adaptor2d_Curve2d) 87 #define TheArc_hxx <Adaptor2d_Curve2d.hxx> 88 #define ThePathPoint Contap_ThePathPointOfTheSearch 89 #define ThePathPoint_hxx <Contap_ThePathPointOfTheSearch.hxx> 90 #define IntStart_Segment Contap_TheSegmentOfTheSearch 91 #define IntStart_Segment_hxx <Contap_TheSegmentOfTheSearch.hxx> 92 93 #include <IntStart_Segment.lxx> 94 95 #undef TheVertex 96 #undef TheVertex_hxx 97 #undef TheArc 98 #undef TheArc_hxx 99 #undef ThePathPoint 100 #undef ThePathPoint_hxx 101 #undef IntStart_Segment 102 #undef IntStart_Segment_hxx 103 104 105 106 107 #endif // _Contap_TheSegmentOfTheSearch_HeaderFile 108