File: BOPAlgo_ArgumentAnalyzer.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 (176 lines) | stat: -rw-r--r-- 4,730 bytes parent folder | download | duplicates (3)
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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
// 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 _BOPAlgo_ArgumentAnalyzer_HeaderFile
#define _BOPAlgo_ArgumentAnalyzer_HeaderFile

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

#include <TopoDS_Shape.hxx>
#include <Standard_Boolean.hxx>
#include <BOPAlgo_Operation.hxx>
#include <BOPAlgo_ListOfCheckResult.hxx>
#include <Standard_Real.hxx>
#include <BOPCol_DataMapOfShapeReal.hxx>
#include <BOPAlgo_Algo.hxx>
#include <TopAbs_ShapeEnum.hxx>
class TopoDS_Shape;


//! check the validity of argument(s) for Boolean Operations
class BOPAlgo_ArgumentAnalyzer  : public BOPAlgo_Algo
{
public:

  DEFINE_STANDARD_ALLOC

  
  //! empty constructor
  Standard_EXPORT BOPAlgo_ArgumentAnalyzer();
Standard_EXPORT virtual ~BOPAlgo_ArgumentAnalyzer();
  
  //! sets object shape
  Standard_EXPORT   void SetShape1 (const TopoDS_Shape& TheShape) ;
  
  //! sets tool shape
  Standard_EXPORT   void SetShape2 (const TopoDS_Shape& TheShape) ;
  
  //! returns object shape;
  Standard_EXPORT  const  TopoDS_Shape& GetShape1()  const;
  
  //! returns tool shape
  Standard_EXPORT  const  TopoDS_Shape& GetShape2()  const;
  
  //! returns ref
  Standard_EXPORT   BOPAlgo_Operation& OperationType() ;
  
  //! returns ref
  Standard_EXPORT   Standard_Boolean& StopOnFirstFaulty() ;
  
  //! Returns (modifiable) mode
  //! that means checking types of shapes.
      Standard_Boolean& ArgumentTypeMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of self-intersection of shapes.
      Standard_Boolean& SelfInterMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of small edges.
      Standard_Boolean& SmallEdgeMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of possibility to split or rebuild faces.
      Standard_Boolean& RebuildFaceMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of tangency between subshapes.
      Standard_Boolean& TangentMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of problem of merging vertices.
      Standard_Boolean& MergeVertexMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of problem of merging edges.
      Standard_Boolean& MergeEdgeMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of problem of continuity of the shape.
      Standard_Boolean& ContinuityMode() ;
  
  //! Returns (modifiable) mode that means
  //! checking of problem of invalid curve on surface.
      Standard_Boolean& CurveOnSurfaceMode() ;
  
  //! performs analysis
  Standard_EXPORT   void Perform() ;
  
  //! result of test
  Standard_EXPORT   Standard_Boolean HasFaulty()  const;
  
  //! returns a result of test
  Standard_EXPORT  const  BOPAlgo_ListOfCheckResult& GetCheckResult()  const;
  
  //! Sets the additional tolerance
      void SetFuzzyValue (const Standard_Real theFuzz) ;
  
  //! Returns the additional tolerance
      Standard_Real FuzzyValue()  const;




protected:

  
  //! Prepares data;
  Standard_EXPORT   void Prepare() ;
  
  Standard_EXPORT   void TestTypes() ;
  
  Standard_EXPORT   void TestSelfInterferences() ;
  
  Standard_EXPORT   void TestSmallEdge() ;
  
  Standard_EXPORT   void TestRebuildFace() ;
  
  Standard_EXPORT   void TestTangent() ;
  
  Standard_EXPORT   void TestMergeSubShapes (const TopAbs_ShapeEnum theType) ;
  
  Standard_EXPORT   void TestMergeVertex() ;
  
  Standard_EXPORT   void TestMergeEdge() ;
  
  Standard_EXPORT   void TestContinuity() ;
  
  Standard_EXPORT   void TestCurveOnSurface() ;
  
  //! Updates the shapes tolerance values.
  Standard_EXPORT   void UpdateTolerances() ;
  
  //! Reverts the tolerance values for all entities to default values.
  Standard_EXPORT   void SetDefaultTolerances() ;




private:



  TopoDS_Shape myShape1;
  TopoDS_Shape myShape2;
  Standard_Boolean myStopOnFirst;
  BOPAlgo_Operation myOperation;
  Standard_Boolean myArgumentTypeMode;
  Standard_Boolean mySelfInterMode;
  Standard_Boolean mySmallEdgeMode;
  Standard_Boolean myRebuildFaceMode;
  Standard_Boolean myTangentMode;
  Standard_Boolean myMergeVertexMode;
  Standard_Boolean myMergeEdgeMode;
  Standard_Boolean myContinuityMode;
  Standard_Boolean myCurveOnSurfaceMode;
  Standard_Boolean myEmpty1;
  Standard_Boolean myEmpty2;
  BOPAlgo_ListOfCheckResult myResult;
  Standard_Real myFuzzyValue;
  BOPCol_DataMapOfShapeReal myToleranceMap;


};


#include <BOPAlgo_ArgumentAnalyzer.lxx>





#endif // _BOPAlgo_ArgumentAnalyzer_HeaderFile