summaryrefslogtreecommitdiff
path: root/inc/BOP_FaceInfo.hxx
blob: 350ed0bb988218937e527ab0175a0714e49a8691 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BOP_FaceInfo_HeaderFile
#define _BOP_FaceInfo_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _TopoDS_Face_HeaderFile
#include <TopoDS_Face.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _gp_Pnt_HeaderFile
#include <gp_Pnt.hxx>
#endif
#ifndef _gp_Pnt2d_HeaderFile
#include <gp_Pnt2d.hxx>
#endif
#ifndef _gp_Dir_HeaderFile
#include <gp_Dir.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
class TopoDS_Face;
class gp_Pnt;
class gp_Pnt2d;
class gp_Dir;



//!  The  auxiliary class to store data about faces on a  shell <br>
//!  that have common edge <br>
//! <br>
class BOP_FaceInfo  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
//! Empty constructor; <br>
  Standard_EXPORT   BOP_FaceInfo();
  
//! Modifier <br>
  Standard_EXPORT     void SetFace(const TopoDS_Face& aF) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetPassed(const Standard_Boolean aFlag) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetPOnEdge(const gp_Pnt& aP) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetPInFace(const gp_Pnt& aP) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetPInFace2D(const gp_Pnt2d& aP) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetNormal(const gp_Dir& aD) ;
  
//! Modifier <br>
  Standard_EXPORT     void SetAngle(const Standard_Real A) ;
  
//! Selector <br>
  Standard_EXPORT    const TopoDS_Face& Face() const;
  
//! Selector <br>
  Standard_EXPORT    const gp_Pnt& POnEdge() const;
  
//! Selector <br>
  Standard_EXPORT    const gp_Pnt& PInFace() const;
  
//! Selector <br>
  Standard_EXPORT    const gp_Pnt2d& PInFace2D() const;
  
//! Selector <br>
  Standard_EXPORT    const gp_Dir& Normal() const;
  
//! Selector <br>
  Standard_EXPORT     Standard_Boolean IsPassed() const;
  
//! Selector <br>
  Standard_EXPORT     Standard_Real Angle() const;





protected:





private:



TopoDS_Face myFace;
Standard_Boolean myPassed;
gp_Pnt myPOnEdge;
gp_Pnt myPInFace;
gp_Pnt2d myPInFace2D;
gp_Dir myNormal;
Standard_Real myAngle;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif