CR32614 Coding - get rid of unsused forward declarations [Adaptor2d to GccAna]
[occt.git] / src / Extrema / Extrema_LocateExtCC.hxx
CommitLineData
42cf5bc1 1// Created on: 1994-07-06
2// Created by: Laurent PAINNOT
3// Copyright (c) 1994-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 _Extrema_LocateExtCC_HeaderFile
18#define _Extrema_LocateExtCC_HeaderFile
19
20#include <Standard.hxx>
21#include <Standard_DefineAlloc.hxx>
22#include <Standard_Handle.hxx>
23
24#include <Standard_Boolean.hxx>
25#include <Standard_Real.hxx>
26#include <Extrema_POnCurv.hxx>
42cf5bc1 27class Adaptor3d_Curve;
42cf5bc1 28
29
30//! It calculates the distance between two curves with
31//! a close point; these distances can be maximum or
32//! minimum.
33class Extrema_LocateExtCC
34{
35public:
36
37 DEFINE_STANDARD_ALLOC
38
39
40 //! Calculates the distance with a close point. The
41 //! close point is defined by a parameter value on each
42 //! curve.
43 //! The function F(u,v)=distance(C1(u),C2(v)) has an
54adc5e9 44 //! extremun when gradient(f)=0. The algorithm searches
42cf5bc1 45 //! the zero near the close point.
46 Standard_EXPORT Extrema_LocateExtCC(const Adaptor3d_Curve& C1, const Adaptor3d_Curve& C2, const Standard_Real U0, const Standard_Real V0);
47
48 //! Returns True if the distance is found.
49 Standard_EXPORT Standard_Boolean IsDone() const;
50
51 //! Returns the value of the extremum square distance.
52 Standard_EXPORT Standard_Real SquareDistance() const;
53
54 //! Returns the points of the extremum distance.
55 //! P1 is on the first curve, P2 on the second one.
56 Standard_EXPORT void Point (Extrema_POnCurv& P1, Extrema_POnCurv& P2) const;
57
58
59
60
61protected:
62
63
64
65
66
67private:
68
69
70
71 Standard_Boolean myDone;
72 Standard_Real mySqDist;
73 Extrema_POnCurv myPoint1;
74 Extrema_POnCurv myPoint2;
75
76
77};
78
79
80
81
82
83
84
85#endif // _Extrema_LocateExtCC_HeaderFile