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