File: LocOpe_CSIntersector.hxx

package info (click to toggle)
oce 0.18.3-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 301,548 kB
  • sloc: cpp: 1,190,609; ansic: 67,225; sh: 11,630; tcl: 7,954; cs: 5,221; python: 2,867; java: 1,522; makefile: 342; xml: 292; perl: 37
file content (156 lines) | stat: -rw-r--r-- 5,619 bytes parent folder | download | duplicates (5)
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
// 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 _LocOpe_CSIntersector_HeaderFile
#define _LocOpe_CSIntersector_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Macro.hxx>

#include <Standard_Boolean.hxx>
#include <TopoDS_Shape.hxx>
#include <Standard_Address.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Real.hxx>
#include <TopAbs_Orientation.hxx>
class StdFail_NotDone;
class Standard_OutOfRange;
class TopoDS_Shape;
class LocOpe_SequenceOfLin;
class LocOpe_SequenceOfCirc;
class TColGeom_SequenceOfCurve;
class LocOpe_PntFace;


//! This class provides the intersection between a set
//! of axis or a circle and the faces of a shape.  The
//! intersection  points  are   sorted  in  increasing
//! parameter along each axis or circle.
class LocOpe_CSIntersector 
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! Empty constructor.
    LocOpe_CSIntersector();
  
  //! Creates  and performs the intersection     betwwen
  //! <Ax1> and <S>.
    LocOpe_CSIntersector(const TopoDS_Shape& S);
  
  //! Performs the intersection between <Ax1 and <S>.
  Standard_EXPORT   void Init (const TopoDS_Shape& S) ;
  
  Standard_EXPORT   void Perform (const LocOpe_SequenceOfLin& Slin) ;
  
  Standard_EXPORT   void Perform (const LocOpe_SequenceOfCirc& Scir) ;
  
  Standard_EXPORT   void Perform (const TColGeom_SequenceOfCurve& Scur) ;
  
  //! Returns <Standard_True>  if the  intersection  has
  //! been done.
      Standard_Boolean IsDone()  const;
  
  //! Returns  the number of   intersection point on the
  //! element of range <I>.
  Standard_EXPORT   Standard_Integer NbPoints (const Standard_Integer I)  const;
  
  //! Returns the intersection point of range <Index> on
  //! element of range   <I>. The points   are sorted in
  //! increasing order of parameter along the axis.
  Standard_EXPORT  const  LocOpe_PntFace& Point (const Standard_Integer I, const Standard_Integer Index)  const;
  
  //! On  the element of range   <I>, searches the first
  //! intersection   point  located after  the parameter
  //! <From>,   wich orientation is not TopAbs_EXTERNAL.
  //! If  found, returns <Standard_True>.  <Or> contains
  //! the orientation    of  the  point,  <IndFrom>  and
  //! <IndTo> represents  the interval  of index in  the
  //! sequence  of intersection  point corresponding  to
  //! the  point. (IndFrom <=   IndTo). <Tol> is used to
  //! determine if 2 parameters are equal.
  //!
  //! Otherwise, returns <Standard_False>.
  Standard_EXPORT   Standard_Boolean LocalizeAfter (const Standard_Integer I, const Standard_Real From, const Standard_Real Tol, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo)  const;
  
  //! On the element  of range  <I>, searches the  first
  //! intersection point   located before  the parameter
  //! <From>,  wich orientation  is not TopAbs_EXTERNAL.
  //! If found,  returns <Standard_True>.  <Or> contains
  //! the   orientation  of   the point,  <IndFrom>  and
  //! <IndTo> represents the interval   of index in  the
  //! sequence of  intersection  point corresponding  to
  //! the point (IndFrom  <=  IndTo). <Tol> is   used to
  //! determine if 2 parameters are equal.
  //!
  //! Otherwise, returns <Standard_False>.
  Standard_EXPORT   Standard_Boolean LocalizeBefore (const Standard_Integer I, const Standard_Real From, const Standard_Real Tol, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo)  const;
  
  //! On the  element of  range <I>, searches  the first
  //! intersection      point  located after the   index
  //! <FromInd> ( >=  FromInd + 1), wich  orientation is
  //! not    TopAbs_EXTERNAL.      If    found,  returns
  //! <Standard_True>.  <Or> contains the orientation of
  //! the  point, <IndFrom>  and <IndTo> represents  the
  //! interval of index in  the sequence of intersection
  //! point corresponding   to the  point.  (IndFrom  <=
  //! IndTo). <Tol> is used to determine if 2 parameters
  //! are equal.
  //!
  //! Otherwise, returns <Standard_False>.
  Standard_EXPORT   Standard_Boolean LocalizeAfter (const Standard_Integer I, const Standard_Integer FromInd, const Standard_Real Tol, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo)  const;
  
  //! On  the element of  range  <I>, searches the first
  //! intersection  point    located  before  the  index
  //! <FromInd>  (  <= FromInd -1),  wich orientation is
  //! not   TopAbs_EXTERNAL.  If    found,       returns
  //! <Standard_True>.  <Or> contains the orientation of
  //! the  point, <IndFrom>  and  <IndTo> represents the
  //! interval of  index in the sequence of intersection
  //! point  corresponding to   the  point  (IndFrom  <=
  //! IndTo). <Tol> is used to determine if 2 parameters
  //! are equal.
  //!
  //! Otherwise, returns <Standard_False>.
  Standard_EXPORT   Standard_Boolean LocalizeBefore (const Standard_Integer I, const Standard_Integer FromInd, const Standard_Real Tol, TopAbs_Orientation& Or, Standard_Integer& IndFrom, Standard_Integer& IndTo)  const;
  
  Standard_EXPORT   void Destroy() ;
~LocOpe_CSIntersector()
{
  Destroy();
}




protected:





private:



  Standard_Boolean myDone;
  TopoDS_Shape myShape;
  Standard_Address myPoints;
  Standard_Integer myNbelem;


};


#include <LocOpe_CSIntersector.lxx>





#endif // _LocOpe_CSIntersector_HeaderFile