Warnings on vc14 were eliminated
[occt.git] / src / IntTools / IntTools_PntOnFace.hxx
1 // Created on: 2001-12-13
2 // Created by: Peter KURNEV
3 // Copyright (c) 2001-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #ifndef _IntTools_PntOnFace_HeaderFile
17 #define _IntTools_PntOnFace_HeaderFile
18
19 #include <Standard.hxx>
20 #include <Standard_DefineAlloc.hxx>
21 #include <Standard_Handle.hxx>
22
23 #include <Standard_Boolean.hxx>
24 #include <gp_Pnt.hxx>
25 #include <Standard_Real.hxx>
26 #include <TopoDS_Face.hxx>
27 class TopoDS_Face;
28 class gp_Pnt;
29
30
31 //! Contains a Face, a 3d point, corresponded UV parameters and a flag
32 class IntTools_PntOnFace 
33 {
34 public:
35
36   DEFINE_STANDARD_ALLOC
37
38   
39
40   //! Empty constructor
41   Standard_EXPORT IntTools_PntOnFace();
42   
43
44   //! Initializes me by aFace, a 3d point
45   //! and it's UV parameters on face
46   Standard_EXPORT void Init (const TopoDS_Face& aF, const gp_Pnt& aP, const Standard_Real U, const Standard_Real V);
47   
48
49   //! Modifier
50   Standard_EXPORT void SetFace (const TopoDS_Face& aF);
51   
52
53   //! Modifier
54   Standard_EXPORT void SetPnt (const gp_Pnt& aP);
55   
56
57   //! Modifier
58   Standard_EXPORT void SetParameters (const Standard_Real U, const Standard_Real V);
59   
60
61   //! Modifier
62   Standard_EXPORT void SetValid (const Standard_Boolean bF);
63   
64
65   //! Selector
66   Standard_EXPORT Standard_Boolean Valid() const;
67   
68
69   //! Selector
70   Standard_EXPORT const TopoDS_Face& Face() const;
71   
72
73   //! Selector
74   Standard_EXPORT const gp_Pnt& Pnt() const;
75   
76
77   //! Selector
78   Standard_EXPORT void Parameters (Standard_Real& U, Standard_Real& V) const;
79   
80
81   //! Selector
82   Standard_EXPORT Standard_Boolean IsValid() const;
83
84
85
86
87 protected:
88
89
90
91
92
93 private:
94
95
96
97   Standard_Boolean myIsValid;
98   gp_Pnt myPnt;
99   Standard_Real myU;
100   Standard_Real myV;
101   TopoDS_Face myFace;
102
103
104 };
105
106
107
108
109
110
111
112 #endif // _IntTools_PntOnFace_HeaderFile