0022048: Visualization, AIS_InteractiveContext - single object selection should alway...
[occt.git] / src / BOPDS / BOPDS_Point.hxx
1 // Created by: Peter KURNEV
2 // Copyright (c) 1999-2014 OPEN CASCADE SAS
3 //
4 // This file is part of Open CASCADE Technology software library.
5 //
6 // This library is free software; you can redistribute it and/or modify it under
7 // the terms of the GNU Lesser General Public License version 2.1 as published
8 // by the Free Software Foundation, with special exception defined in the file
9 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 // distribution for complete text of the license and disclaimer of any warranty.
11 //
12 // Alternatively, this file may be used under the terms of Open CASCADE
13 // commercial license or contractual agreement.
14
15 #ifndef _BOPDS_Point_HeaderFile
16 #define _BOPDS_Point_HeaderFile
17
18 #include <Standard.hxx>
19 #include <Standard_DefineAlloc.hxx>
20 #include <Standard_Handle.hxx>
21
22 #include <gp_Pnt.hxx>
23 #include <gp_Pnt2d.hxx>
24 #include <Standard_Integer.hxx>
25 class gp_Pnt;
26 class gp_Pnt2d;
27
28
29
30 //! The class BOPDS_Point is to store
31 //! the information about intersection point
32 class BOPDS_Point 
33 {
34 public:
35
36   DEFINE_STANDARD_ALLOC
37
38   
39
40   //! Empty contructor
41     BOPDS_Point();
42 virtual ~BOPDS_Point();
43   
44
45   //! Modifier
46   //! Sets 3D point <thePnt>
47     void SetPnt (const gp_Pnt& thePnt);
48   
49
50   //! Selector
51   //! Returns 3D point
52     const gp_Pnt& Pnt() const;
53   
54
55   //! Modifier
56   //! Sets 2D point on the first face <thePnt>
57     void SetPnt2D1 (const gp_Pnt2d& thePnt);
58   
59
60   //! Selector
61   //! Returns 2D point on the first face <thePnt>
62     const gp_Pnt2d& Pnt2D1() const;
63   
64
65   //! Modifier
66   //! Sets 2D point on the second face <thePnt>
67     void SetPnt2D2 (const gp_Pnt2d& thePnt);
68   
69
70   //! Selector
71   //! Returns 2D point on the second face <thePnt>
72     const gp_Pnt2d& Pnt2D2() const;
73   
74
75   //! Modifier
76   //! Sets the index of the vertex <theIndex>
77     void SetIndex (const Standard_Integer theIndex);
78   
79
80   //! Selector
81   //! Returns index of the vertex
82     Standard_Integer Index() const;
83
84
85
86
87 protected:
88
89
90
91   gp_Pnt myPnt;
92   gp_Pnt2d myPnt2D1;
93   gp_Pnt2d myPnt2D2;
94   Standard_Integer myIndex;
95
96
97 private:
98
99
100
101
102
103 };
104
105
106 #include <BOPDS_Point.lxx>
107
108
109
110
111
112 #endif // _BOPDS_Point_HeaderFile