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
|
// 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 _HLRBRep_Intersector_HeaderFile
#define _HLRBRep_Intersector_HeaderFile
#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
#ifndef _IntRes2d_IntersectionPoint_HeaderFile
#include <IntRes2d_IntersectionPoint.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _HLRBRep_CInter_HeaderFile
#include <HLRBRep_CInter.hxx>
#endif
#ifndef _HLRBRep_InterCSurf_HeaderFile
#include <HLRBRep_InterCSurf.hxx>
#endif
#ifndef _Standard_Address_HeaderFile
#include <Standard_Address.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
class StdFail_UndefinedDerivative;
class gp_Lin;
class IntRes2d_IntersectionPoint;
class IntCurveSurface_IntersectionPoint;
class IntRes2d_IntersectionSegment;
class IntCurveSurface_IntersectionSegment;
//! The Intersector computes 2D intersections of the <br>
//! projections of 3D curves. <br>
//! <br>
//! It can also computes the intersection of a 3D line <br>
//! and a surface. <br>
class HLRBRep_Intersector {
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);
}
Standard_EXPORT HLRBRep_Intersector();
//! Performs the auto intersection of an edge. The <br>
//! edge domain is cutted at start with da1*(b-a) and <br>
//! at end with db1*(b-a). <br>
Standard_EXPORT void Perform(const Standard_Address A1,const Standard_Real da1,const Standard_Real db1) ;
//! Performs the intersection between the two edges. <br>
//! The edges domains are cutted at start with <br>
//! da*(b-a) and at end with db*(b-a). <br>
Standard_EXPORT void Perform(const Standard_Integer nA,const Standard_Address A1,const Standard_Real da1,const Standard_Real db1,const Standard_Integer nB,const Standard_Address A2,const Standard_Real da2,const Standard_Real db2,const Standard_Boolean NoBound) ;
//! Create a single IntersectionPoint (U on A1) (V on A2) <br>
//! The point is middle on both curves. <br>
Standard_EXPORT void SimulateOnePoint(const Standard_Address A1,const Standard_Real U,const Standard_Address A2,const Standard_Real V) ;
Standard_EXPORT void Load(Standard_Address& A) ;
Standard_EXPORT void Perform(const gp_Lin& L,const Standard_Real P) ;
Standard_EXPORT Standard_Boolean IsDone() const;
Standard_EXPORT Standard_Integer NbPoints() const;
Standard_EXPORT const IntRes2d_IntersectionPoint& Point(const Standard_Integer N) const;
Standard_EXPORT const IntCurveSurface_IntersectionPoint& CSPoint(const Standard_Integer N) const;
Standard_EXPORT Standard_Integer NbSegments() const;
Standard_EXPORT const IntRes2d_IntersectionSegment& Segment(const Standard_Integer N) const;
Standard_EXPORT const IntCurveSurface_IntersectionSegment& CSSegment(const Standard_Integer N) const;
Standard_EXPORT void Destroy() ;
~HLRBRep_Intersector()
{
Destroy();
}
protected:
private:
IntRes2d_IntersectionPoint mySinglePoint;
Standard_Integer myTypePerform;
HLRBRep_CInter myIntersector;
HLRBRep_InterCSurf myCSIntersector;
Standard_Address mySurface;
Standard_Address myPolyhedron;
};
// other Inline functions and methods (like "C++: function call" methods)
#endif
|